はてな記法で書いたテキストをローカルでプレビューする

ホテルのネットが絶望的に遅くて、はてな(グループ)にLogを書くときに非常にストレスフルなわけなのでして、どうにかしないと死ぬ。前も似たような感じで、ローカルはてなダイアリーっぽいことをやってた。


が、検索とかいらないので、とにかくプレビューだけしたいんじゃごらぁということでもっとお手軽な感じでやりたい。前はtext-hatenaというRubyのはてな記法のパーザーを使っていたが、今回はhparserというやつを代わりに使ってみる。で、以下のコードを~/bin/txt2hatenaという感じで保存して実行権限を付与(chmod +x)。

#!/opt/local/bin/ruby1.9
# -*- coding: utf-8 -*-
require 'hparser'

puts HParser::Parser.new.parse(STDIN.read).map {|e| e.to_html }.join("\n")

で、お手軽監視スクリプトであるkansitを使って以下のコマンドを走らせておくと、ローカルのはてな記法で書いたテキストが更新されたときにブラウザのプレビューが更新されるという感じの仕組みになっている。

echo ~/Dropbox/PlainText/hatena/syou6162/group/syou6162/2011-11-08.txt | xargs -I% kansit % -c "cat % | txt2hatena > /tmp/txt2hatena.html && open -g /tmp/txt2hatena.html"

kansitのcommandオプションであれこれできないっぽかったのでxargsでどうにかしのぐ。openについてるgのオプションはバックグラウンドで開け(たぶんMacでしか動かない)、という意味でして、これがないと画面のフォーカスを取られてしまうので非常にストレスフルな感じになってしまう。

未だにはてな記法以上に頭使わないでばしばしとメモを取れる記法がない気がしているので、はてな記法を気持ちよく書ける環境というのは生命線なのであります。はてなの中の人ははてな記法をconvertするエディタとか出してApple Storeとかで売ったりしたらどうでしょうか(マニアックすぎる)。

初めてのRuby

初めてのRuby