プログラムdeタマゴ

nodamushiの著作物は、文章、画像、プログラムにかかわらず全てUnlicenseです

MarkdownビューワーをJavaFXで作ってみた

 Markdownを書くのに一番いい方法って何なんでしょうね?
 私はEclipse + GMF viewerを主に使っていたんですけど、このGMF viewerってディレクトリにhtmlファイル出力しちゃうのがすっごい気にくわないんだよねぇ。
 かといって、Firefoxとかでやるとしても、たとえKeySnailを入れてるとしても、EclipseとかEmacsのテキスト編集機能にはさすがにかなわないのよね。



 で、GitBucket作者のたけぞうさんがGitBucket用のMarkdownプロセッサ(markedj)をJava作って公開したという記事を見つけた。

 ほう、Javaとな。

 しかも、会社のGitサーバーに入れたのはGitBucketなので、私の利用環境との相性も良いじゃん。

 よし、markedjのビューワー作るか!JavaFXで!

というわけで、できた

以下からダウンロードできます。
Java8u40以上のJavaにちゃんとパス通ってればmarkedjviewer.jarをダブルクリックで起動するはず。
なお、Windows以外で動くかはわからんっ。前に作ったJarファイルの位置の検索がちょっとトリッキーなことしてるので、テストしたWindows以外で動くか謎。
markedjviewer


f:id:nodamushi:20151108202326p:plain

ソースコードはこちら
Git repository




使い方

 まぁ、ぶっちゃけほとんど機能なんてないので、説明するようなこともないんですが。。。

 起動するとこんな感じの画面です。
f:id:nodamushi:20151108204635p:plain

 上のバーのファイルボタンからMarkdownを開くなり、ドラッグアンドドロップをするなりで開くことができます。

 開いたら、………あとはスクロールするぐらいしか操作することはないですけどね。

 一応、現在の表示内容のHTMLを保存する機能(Ctrl+S)、画像等の変更を反映させるためのリロード(F5かCtrl+R)があります。
 メニューバーにあるコンフィグ(歯車のボタン)機能は張りぼてです。GUI作るのが面倒くさくなりました。




Emacsと組み合わせる

 このビューワーはMarkdownファイルを監視しているので、ファイル内容が変更されると、自動的に表示を更新してくれます
 本当は画像ファイルとかも監視したかったんだけど、WebViewが今何開いてるのかどうやって取得するのかわからなかった。まぁ、今後の課題と言うことで。

 さて、Emacsにはauto-save-buffers-enhanced.elという、ファイルを編集したら、自動的に保存を行ってくれる便利なプラグインがあります。


 ファイル更新監視 + 自動保存………もう、私が言いたいことはもうおわかりですね?
 つまり、Emacs+auto-save-buffers-enhanced.el+markedjviewerで結果を即座に確認しながら、書くことができるわけです!

 んほおおおおお、きもちいいいいのぉおおおおおお!!!

f:id:nodamushi:20151108202925p:plain

 あ、そうそう、表示領域を広くするために、ウィンドウがフォーカス持っていない場合はツールバーが消えるという地味な機能がついています。(上の画像ではビューワーにフォーカスがないので、黒いツールバーが表示されていない)




 というわけで、私にとっては結構便利なものがなんかできました。
 これで快適なMarkdown生活が送れます。