(ツール紹介)Markdown記法をはてな記法に変換するツール - 雲行きそらゆきココロイキ
を使いたいので先ほどHaskellをインストールしました。バージョンは以下の通り。
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.6.3
次はmarkdown2hatenaをインストール。
$ git clone https://github.com/joker1007/markdown2hatena.git Cloning into 'markdown2hatena'... remote: Reusing existing pack: 69, done. remote: Total 69 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (69/69), done. Checking connectivity... done. $ cd markdown2hatena/ $ ghc -o markdown2hatena main.hs main.hs:12:8: Could not find module `System' It is a member of the hidden package `haskell98-2.0.0.2'. Use -v to see a list of the files searched for.
エラーが出ました。
エディタでmain.hsを開き、一番上の import System をコメントアウトして
-- import System
に従って修正します。
$ ghc -o markdown2hatena main.hs [1 of 4] Compiling Node ( Node.hs, Node.o ) [2 of 4] Compiling Trim ( Trim.hs, Trim.o ) [3 of 4] Compiling LineParser ( LineParser.hs, LineParser.o ) [4 of 4] Compiling Main ( main.hs, main.o ) Linking markdown2hatena ... $ ls -l total 5808 -rw-r--r-- 1 riocampos staff 1679 6 25 18:09 LineParser.hi -rw-r--r-- 1 riocampos staff 1210 6 25 18:07 LineParser.hs -rw-r--r-- 1 riocampos staff 8212 6 25 18:09 LineParser.o -rw-r--r-- 1 riocampos staff 1617 6 25 18:09 Node.hi -rw-r--r--@ 1 riocampos staff 1979 6 25 18:08 Node.hs -rw-r--r-- 1 riocampos staff 39864 6 25 18:09 Node.o -rw-r--r-- 1 riocampos staff 743 6 25 18:09 Trim.hi -rw-r--r-- 1 riocampos staff 579 6 25 18:07 Trim.hs -rw-r--r-- 1 riocampos staff 3172 6 25 18:09 Trim.o -rw-r--r-- 1 riocampos staff 1878 6 25 18:09 main.hi -rw-r--r--@ 1 riocampos staff 3561 6 25 18:09 main.hs -rw-r--r-- 1 riocampos staff 41084 6 25 18:09 main.o -rwxr-xr-x 1 riocampos staff 2829088 6 25 18:09 markdown2hatena -rw-r--r-- 1 riocampos staff 576 6 25 18:07 sample.markdown
結局、目的のmarkdownファイルの変換ができませんでしたorz
現在対応しているのは以下の記法。
- 頭に#をつけるタイプの見出し記法。見出しレベル対応。
- 順序無しリスト(スペース4つ、もしくはタブ1つで1レベルインデント)
- 順序付きリスト(スペース4つ、もしくはタブ1つで1レベルインデント)
- ノーマルなパラグラフ
- 見出し、リスト、パラグラフ中に存在するリンク記法
今後のToDo
- コードブロック対応
- 引用ブロック対応
- 画像貼りつけ対応
ですもんね…。
markdown2hatenaの作者が参考にした
を持っているので、改良するかもしれませんし、Rubyで別スクリプトを作るかも知れません*1。
*1:作るとは言っていない^^;;