• ClojureでJekyllのpostを解釈する

    今日も昨日に続き、Jekyllからmisakiへの移行をはかる。

    今日はJekyllのpostを解釈する。

    Jekyllのpostの構造はふたつの部分からなる。ひとつはファイル先頭のYAMLで書かれたoptionであり、もうひとつはそれ以降に続くMarkdownで書かれたcontentである。Markdownについては純粋なMarkdownではなくLiquidにより拡張されたMarkdownである。

    今回は純粋なMarkdownであると仮定して、Jekyllのpostを解釈してみた。コード全体は昨日と同様にclj-ex-mkdとしてGitHubに公開している。

    戻り値は{:tags "jekyll", :title "Jekyllを試す", :layout "post", :content "<p>test</p>"}のようなClojureで扱いやすいmap形式だ。contentをHTMLとするかMarkdownのままとするか迷ったが、面倒なのでHTMLに変換してしまった。あとは複数行の正規表現にてこずった。普段はあまり使わないから、仕方ないのは確かだけど、情けない。

    さて、すこしずつではあるが移行の準備は進んでいる。明日はenliveでlayout部分をさわってみようかな。

    14 min.

ClojureでJekyllのpostを解釈する

今日も昨日に続き、Jekyllからmisakiへの移行をはかる。

今日はJekyllのpostを解釈する。

Jekyllのpostの構造はふたつの部分からなる。ひとつはファイル先頭のYAMLで書かれたoptionであり、もうひとつはそれ以降に続くMarkdownで書かれたcontentである。Markdownについては純粋なMarkdownではなくLiquidにより拡張されたMarkdownである。

今回は純粋なMarkdownであると仮定して、Jekyllのpostを解釈してみた。コード全体は昨日と同様にclj-ex-mkdとしてGitHubに公開している。

戻り値は{:tags "jekyll", :title "Jekyllを試す", :layout "post", :content "<p>test</p>"}のようなClojureで扱いやすいmap形式だ。contentをHTMLとするかMarkdownのままとするか迷ったが、面倒なのでHTMLに変換してしまった。あとは複数行の正規表現にてこずった。普段はあまり使わないから、仕方ないのは確かだけど、情けない。

さて、すこしずつではあるが移行の準備は進んでいる。明日はenliveでlayout部分をさわってみようかな。

14 min.