0
Hakyllで遊んでみた             2013-04-06 広島Ruby勉強会 #03113年4月7日日曜日
Hakyllって?             Jekyll みたいなやつ             静的サイトジェネータ13年4月7日日曜日
Jekyllじゃダメなん?             いや、いいけど。             Haskellしたい。13年4月7日日曜日
Jekyll と何が違うん?             Jekyll はルールが決まってる             Hakyll はルールから定義できる              デフォだとJekyll似てる感じの構成             カ...
Jekyll と何が違うん?             コードハイライトに pygements が不要              pandoc 使いたい13年4月7日日曜日
目標・要求             Markdown でかきたい             Pandoc つかいたい             SCSS つかいたい             compass つかいたい13年4月7日日曜日
資料             http://jaspervdj.be/hakyll/             http://jaspervdj.be/hakyll/tutorials/01-             installation.h...
インストール             haskellの環境をインストール               http://www.haskell.org/platform/             $ cabal install hakyll13年4...
セットアップ             $ hakyll-init my-site               ファイルが生成されます             $ cd my-site13年4月7日日曜日
作成されたファイル        ├── about.rst        ├── contact.markdown        ├── css        │ └── default.css        ├── images      ...
コンパイル             サイトを生成するためのプログラムは作る               基本的な構成の例が用意してある               site.hs             $ ghc --make site.hs...
サイトの生成             $ ./site build               HTML が生成されます13年4月7日日曜日
_site の中身        _site        ├── about.html        ├── archive.html        ├── contact.html        ├── css        │ └── d...
サイトのプレビュー             $ ./site preview             $ open http://localhost:8000/13年4月7日日曜日
デプロイ             ./site deploy             設定がいるけどね13年4月7日日曜日
13年4月7日日曜日
あれどっかでみた?13年4月7日日曜日
railsdoc.eiel.info13年4月7日日曜日
13年4月7日日曜日
解説             生成したファイルは _site             その他のメタデータ _cache13年4月7日日曜日
解説             マッチするファイルがみつかる              登録した処理をする             作成したいファイル名を登録              ファイルを生成              他のファイルの情報...
解説             依存性の扱いがよくわからない              要勉強13年4月7日日曜日
markdown を使う             なにもしなくても使える             pandocCompilerを使う13年4月7日日曜日
pandocを使う             pandocCompiler使った13年4月7日日曜日
SCSS を使う             マッチしたときの処理の途中で              unixFilter で コマンドをフィルターに              sass コマンドで。13年4月7日日曜日
SCSS を使う場合        http://jaspervdj.be/hakyll/reference/Hakyll-Core-UnixFilter.html        にかいてあるとおりでいけます        match "css...
compassを使う             いろいろやったけどうまくいかない              preprocess ってのがあったけど              preprocess で生成したファイルを更新            ...
Rakefile        desc generate site        task :generate do         sh ghc --make site.hs && compass compile && ./site buil...
URLまわり             hoge.md には hoge/ でアクセスしたい              hoge.md -> hoge/indexhtml             customRoute に関数を渡せばよい     ...
例        let addIndex x = replaceBaseName x $ (takeBaseName x) ++ "/index"        route $ customRoute $          addIndex ...
ソースコード      https://github.com/eiel/raildoc.eiel.info13年4月7日日曜日
ご清聴ありがとうございます13年4月7日日曜日
Upcoming SlideShare
Loading in...5
×

Hakyllで遊んでみた。

1,681

Published on

広島Ruby勉強会 #031 での LT。 最初のセッションの資料でHakyll を使ってみたのだけどその時のメモ。

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,681
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Hakyllで遊んでみた。"

  1. 1. Hakyllで遊んでみた 2013-04-06 広島Ruby勉強会 #03113年4月7日日曜日
  2. 2. Hakyllって? Jekyll みたいなやつ 静的サイトジェネータ13年4月7日日曜日
  3. 3. Jekyllじゃダメなん? いや、いいけど。 Haskellしたい。13年4月7日日曜日
  4. 4. Jekyll と何が違うん? Jekyll はルールが決まってる Hakyll はルールから定義できる デフォだとJekyll似てる感じの構成 カスタマイズしやすそう13年4月7日日曜日
  5. 5. Jekyll と何が違うん? コードハイライトに pygements が不要 pandoc 使いたい13年4月7日日曜日
  6. 6. 目標・要求 Markdown でかきたい Pandoc つかいたい SCSS つかいたい compass つかいたい13年4月7日日曜日
  7. 7. 資料 http://jaspervdj.be/hakyll/ http://jaspervdj.be/hakyll/tutorials/01- installation.html13年4月7日日曜日
  8. 8. インストール haskellの環境をインストール http://www.haskell.org/platform/ $ cabal install hakyll13年4月7日日曜日
  9. 9. セットアップ $ hakyll-init my-site ファイルが生成されます $ cd my-site13年4月7日日曜日
  10. 10. 作成されたファイル ├── about.rst ├── contact.markdown ├── css │ └── default.css ├── images │ └── haskell-logo.png ├── index.html ├── posts │ ├── 2012-08-12-spqr.markdown │ ├── 2012-10-07-rosa-rosa-rosam.markdown │ ├── 2012-11-28-carpe-diem.markdown │ └── 2012-12-07-tu-quoque.markdown ├── site.hs └── templates ├── archive.html ├── default.html ├── post-item.html └── post.html13年4月7日日曜日
  11. 11. コンパイル サイトを生成するためのプログラムは作る 基本的な構成の例が用意してある site.hs $ ghc --make site.hs13年4月7日日曜日
  12. 12. サイトの生成 $ ./site build HTML が生成されます13年4月7日日曜日
  13. 13. _site の中身 _site ├── about.html ├── archive.html ├── contact.html ├── css │ └── default.css ├── images │ └── haskell-logo.png ├── index.html └── posts ├── 2012-08-12-spqr.html ├── 2012-10-07-rosa-rosa-rosam.html ├── 2012-11-28-carpe-diem.html └── 2012-12-07-tu-quoque.html13年4月7日日曜日
  14. 14. サイトのプレビュー $ ./site preview $ open http://localhost:8000/13年4月7日日曜日
  15. 15. デプロイ ./site deploy 設定がいるけどね13年4月7日日曜日
  16. 16. 13年4月7日日曜日
  17. 17. あれどっかでみた?13年4月7日日曜日
  18. 18. railsdoc.eiel.info13年4月7日日曜日
  19. 19. 13年4月7日日曜日
  20. 20. 解説 生成したファイルは _site その他のメタデータ _cache13年4月7日日曜日
  21. 21. 解説 マッチするファイルがみつかる 登録した処理をする 作成したいファイル名を登録 ファイルを生成 他のファイルの情報を利用したり13年4月7日日曜日
  22. 22. 解説 依存性の扱いがよくわからない 要勉強13年4月7日日曜日
  23. 23. markdown を使う なにもしなくても使える pandocCompilerを使う13年4月7日日曜日
  24. 24. pandocを使う pandocCompiler使った13年4月7日日曜日
  25. 25. SCSS を使う マッチしたときの処理の途中で unixFilter で コマンドをフィルターに sass コマンドで。13年4月7日日曜日
  26. 26. SCSS を使う場合 http://jaspervdj.be/hakyll/reference/Hakyll-Core-UnixFilter.html にかいてあるとおりでいけます match "css/*.scss" $ do route $ setExtension "css" compile $ getResourceString >>= withItemBody (unixFilter "sass" ["-s", "--scss"]) >>= return . fmap compressCss13年4月7日日曜日
  27. 27. compassを使う いろいろやったけどうまくいかない preprocess ってのがあったけど preprocess で生成したファイルを更新 したと認識してくれない 仕方ないので rake でラッパーかいた13年4月7日日曜日
  28. 28. Rakefile desc generate site task :generate do sh ghc --make site.hs && compass compile && ./site build end13年4月7日日曜日
  29. 29. URLまわり hoge.md には hoge/ でアクセスしたい hoge.md -> hoge/indexhtml customRoute に関数を渡せばよい Identify -> FilePath な関数13年4月7日日曜日
  30. 30. 例 let addIndex x = replaceBaseName x $ (takeBaseName x) ++ "/index" route $ customRoute $ addIndex . (`replaceExtension` "html") . toFilePath13年4月7日日曜日
  31. 31. ソースコード https://github.com/eiel/raildoc.eiel.info13年4月7日日曜日
  32. 32. ご清聴ありがとうございます13年4月7日日曜日
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×