今回はKDE Gearに属するMarkdownエディター、ghostwriterを紹介します。
ghostwriterとは
ghostwriter 、ライターにはちょっとドキッとしてしまう名称ですが、なかなかに歴史のあるMarkdownエディターです。
CHANGELOG によると、最初のリリースは2015年、パッケージのchangelog によると、Ubuntuのリポジトリに入ったのは19.04の頃です(図1 ) 。
図1 Ubuntu 19.04でインストールできるghostwriter。バージョンは1.7.4
実は過去にも紹介しようと思ったことはあったのですが、日本語で使う上での致命的な問題がありました。候補ウィンドウが変なところに表示されるのです(図2 ) 。これでは使い物になりません。
図2 Ubuntu 22.04 LTSのリポジトリにあるghostwriterをインストールして、日本語を入力中
風向きが変わったのは、ghostwriterがKDE Gearに移管されたタイミングです。KDE GearはKDEプロジェクトで開発しているアプリケーション集です。元の開発者から開発を引き継いだというのが実態のようです。2.2.0までは元の開発者によって開発され、その後はKDE Gearのアプリケーションとしてリリースされており、バージョンのスキームも変更されています。現在の最新版は24.05.2です。バージョンスキームはUbuntuと同じで、2024年5月にリリースされたKDE Gearの2番目のアップデートという意味です。
前述の候補ウィンドウの不具合も、KDE Gearに移管した最初のリリースの前に修正 されています。
そんなghostwriterのいいところは、おおむね期待どおりに動作する、その1点です。Ubuntuで使用できるMarkdownエディターはたくさんありますが、実際に使用してみるとちょっとここが足りないんだよなぁと思えてくるのですが、ghostwriterにはそれがありません。必要な機能がひととおり揃っており、多少の不具合はあるものの、おおむね期待どおりに動作します。
筆者の原稿執筆環境
少し横道に逸れて、筆者の原稿執筆環境ですが、VS Codium を使用してMarkdownで書いています。textlint でリアルタイムに校正する機能が手放せないのですが、なかなかに重量級なのですべてのPCで使用するのも現実的ではありません。具体的にはGPD MicroPC だといささか荷が重いです。今も「具体的にはGPD MicroPCにはいささか荷が重いです」と書いたら、「 には」が2回以上使用されていると指摘してくれました。ありがとうtextlint。
そんなわけで長年もう少し手軽に使えるMarkdownエディターを探していました。ReText もなかなかいいのですが、テーマの変更が難しく、どうしたものかと思っていたのです。
インストール
ghostwriterはUbuntuのリポジトリにDebianパッケージがあります。またFlathub にFlatpakパッケージもsnapcraft にsnapパッケージもありますが、筆者が試したところではFlatpakパッケージにはローカルの画像ファイルの扱いに問題があり、snapパッケージには日本語が入力できない(インプットメソッドが起動しない)という不具合を確認しています。
DebianパッケージだとKDE Frameworksのライブラリが大量にインストールされてしまうので、Ubuntu(GNOME)で使用する分にはあまり嬉しくありませんが、よしとしました。snapパッケージ版を修正するのが正しいような気もしますが。
Ubuntuのリポジトリ、特に22.04 LTSにあるghostwriterのバージョンは古いので、最新版をPPA に用意しました。22.04 LTS用と24.04 LTS用があります。
同時にPandoc のパッケージもインストールしておくと、プレビューとエクスポートの選択肢が増えるのでおすすめです。
起動とカスタマイズ
ghostwriterを起動し、第821回 の元になったMarkdownファイルを表示したのが図3 です。
図3 ghostwriterの全貌
一番左側のペイン(サイドバー)には見出しが表示されていますが、タブになっており切り替えることができます。真ん中のペインが実際に執筆するエリアで、右のペインにはプレビューが表示されています。
カスタマイズは「Settings」にある項目で行えます。いくつかピックアップして見ていきましょう。
Font
フォントではデフォルトでモノスペースフォントが選択されています。「 Noto Sans Mono CJK JP」にするのがおすすめです(図4 ) 。またはお気に入りのモノスペースフォントにするのもいいでしょう。
図4 フォントの変更例
Preview Options
前述のとおりPandocをインストールすると「Markdown Flavor」で選択できる項目が増えます。筆者は「PHP Markdown Extra」でMarkdownを書いているのでこれにしていますが(図5 ) 、「 CommonMark」や「GitHub-flavored Markdown」が広く使われているでしょうか[1] 。
図5 プレビューオプションの変更例
「Text Font」と「Code Font」は、どうやら変更しても適用されないようです。
Preferences
全体の設定はPreferencesで行いますが、これといって変更すべき項目はありません。あえて挙げるとすれば「Editor」タブの「Tabulation」でしょうか。筆者の好みはTabではなくスペースで、幅は2文字なので「Insert spaces for tabs」にチェックを入れ、「 Tabulation width」を「2」に減らしました(図6 ) 。
図6 Preferencesの設定例
表示の切り替え
常時プレビューが出ている必要はないので、閉じたい場合は「View」 -「 Preview in HTML」をクリックするか、Ctrl +P キーを押します。あるいは右下の「</>」をクリックでもいいです。
図3の下中央にある「192 words」と書かれているところをクリックすると、候補が表示されてその中に文字数(characters)もあります。日本語ではあまり単語数は意味がないので[2] 、文字数のほうが重要な場合が多いでしょう。
Markdownの記法を忘れてしまった場合は、F1 キーを押すか、サイドバーの一番下のアイコンをクリックするとチートシートが表示されます(図7 ) 。
図7 Markdown記法をど忘れしたときに便利なチートシート
エクスポート
ghostwriterはエクスポート機能も強力です。「 File」 -「 Export」でダイアログを表示します。主にPandocのおかげで選択肢が多いですが、PDFに変換したい場合は事前に「wkhtmltopdf」パッケージをインストールした上で「PDF (wkhtmltopdf)」を選択してください[3] 。
[3] なおDebianパッケージ版のみの話で、Flatpakパッケージやsnapパッケージではインストールしても使用できません。確認はしていませんがこれらのパッケージには含まれているものと思われます。
図8 はPDFに変換した例です。
図8 wkhtmltopdfを使用してMarkdownファイルをPDFにエクスポートした