Drkcore

19 02 2013 Haskell Tweet

HakyllでJadeを使う

unixFilterを使えばよいが、jadeはstdinオプションがなかったので

cat $1 | jade

というbashスクリプトを用意してbin/sjadeとした。

hakyllでの設定はこんな感じ。

match (fromList ["index.jade", "about.jade", "member.jade"]) $ do
  route $ setExtension "html"
  compile $ getResourceString
    >>= withItemBody (unixFilter "bin/sjade" [])
    >>= loadAndApplyTemplate "templates/default.html" defaultContext
    >>= relativizeUrls

Hakyllとは何か?

pandocが組み込まれたWebサイト用makeというのが僕の印象。

Jekyllがブログっぽい静的サイトを生成するっていうイメージだったので、Hakyllも似た感じなのかなぁと考えていたけどちょっと違う感じ。

pandocとunixFilterのおかげでepub, docx出力なんかもできるのでちょっとした規模のサイトだったら構成ごとそのまま管理できると思う。

それからSphinxでサイト管理するよりは、もうちょっと柔軟に対応できそう。というよりサブディレクトリにSphinxを埋め込めればさらに快適になりそう。

haskellのソースコードもDSLっぽくなっていて、match -> route -> compileの流れは分かりやすい。

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021