goma っていうmarkdown preview tool を書いてみた
はじめに
golangの練習がてらにmarkdownをブラウザでプレビューするやつを作ってみました。
使い方は
goma --path path/for/README.md
してブラウザで localhost:5858
にアクセスすれば大丈夫なはずです。
作る前の目標として対象の markdown ファイルを編集したら自動でにリロードするってのを目標にしました。
作ってみた
とりあえずファイル名をコマンドラインから受け取るってところまでは問題なくいけました。
受け取ったファイルをmarkdownに変換するところで嵌ったんですが、今思い返すとなんで嵌ったのか思い出せないので、ほんとしょうもないところで、嵌ってたんだと思います。
あとはファイルの更新イベントの取得は fsnotify というpackageを使いました。
Example等を見ながら使ってみましたが、大きく嵌るところはなかったです。 が変更のイベントを受け取る部分のコードの書き方がこれでいいのかイマイチ不安ですね。
ブラウザのリロード部分はやはりwebsocketを使いました。
使いましたと言っても、変更時にupdate
という文字列を送るだけなので使ったうちに入らないですねw
そんな感じで編集したら自動的にリロードされるようになったので、とりあえずは満足です。
まとめ
- 個人的には色々なpackageを使ったのでいい練習になりました。
- go的な書き方ができているのかは、微妙…
- build-web-application-with-golang という中国語のgolangの本の訳が上がっていて非常に参考になりました。
- 作者: 古川昇
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2012/11/21
- メディア: 単行本(ソフトカバー)
- クリック: 7回
- この商品を含むブログ (5件) を見る
- 作者: 茨木隆彰
- 出版社/メーカー: 工学社
- 発売日: 2010/11
- メディア: 単行本
- クリック: 44回
- この商品を含むブログ (7件) を見る