Livedoorブログからの移動

以前markdownの自作拡張を入れたわけだけど, 色々と問題があることに気づいた.
問題点はいくつもあるけど, メインの問題点は, わざわざhtmlに変換するのが面倒くさいし場所を取ることだと気づいた.Warpを用いて自動化するにせよ, 結局firefoxに画面の1/3から半分を取られてしまう. それならmarkdownのままでもそれなりに見れるしそれでいいやってなる.

で, これをどうにかするための手法を考えると, 多分最適解はemacs上でのpopwinの使用だという結論に至った. 要するに, htmlに変換して, ブラウザでプレビューするという方針を捨てて, emacs上でmarkdownをそのまま構造化されたテキストとして読み, テキストじゃわかりづらいこと(画像, dot, tex, etc)を, プレビューコマンドでbuffer作ってやってそこで見ればいい. あるいは現代的にはtooltipとかだろうか.

で, そのために必要なプログラムをまとめる.
  1. code syntax highlightをemacsのバッファ上に適用する. おそらくだけど, emacsのmarkdown-modeの拡張で, github_markdown用のがあるんじゃないか? それを使えば解決できそうに思う.
  2. 画像, dot, table, texをmarkdown上から抽出する. これはpandocをAPIから叩ければそのSyntax Treeを引っ張ってきて解決できる. これはelispで書くのは辛いからscalaかな
  3. それぞれを画像表現に変換する.

で, 3は一番メインのコーディングになりそう.


まず, 画像については, emacsはpng等の画像を読めるからelispゴリゴリでできるはず.


次に, dotについては, dotでsvgに変換して, そっからは画像と同じ.


tableはpandocを使って, htmlになおして, それをさらにpngかsvgに変換する必要がある. 面倒.


最後, texは一番面倒で, MathJaxはブラウザがないと動かない. 要するに, 裏で画像生成することが難しい. でもpandocでpdfにすると, (tex経由か?)で画像が作れるので, 果てしなく面倒だけど, pdf, svgの順を経ないといけない.


要するに, markdownの断片から画像を生成するプログラムを作るのが当面の目的.