Liquid の紹介

3,373 views

Published on

Jekyll で使用されてる テンプレートエンジンの簡単な紹介。

0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,373
On SlideShare
0
From Embeds
0
Number of Embeds
1,516
Actions
Shares
0
Downloads
6
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Liquid の紹介

  1. 1. Liquid の紹介2013-03-02 広島Ruby勉強会
  2. 2. LiquidテンプレートエンジンJekyll で利用されている
  3. 3. Jekyll って?静的サイトジェネレータ動的に HTML を生成しない ローカルで HTML を生成Github Pages で利用可能
  4. 4. テンプレートエンジンって? 差し込み印刷みたいなもの 雛形を用意しておいて一部を置き換える 変数の利用 分岐や繰り返しを行うことも タグを用いてマークアップ
  5. 5. 変数の出力{{ 変数名 }}
  6. 6. 変数の出力hoge = “goro” の場合{{ hoge }} # => goro
  7. 7. 変数の出力Hashが束縛されている場合
  8. 8. 変数の出力{{ 変数名.キー }}
  9. 9. 変数の出力hoge = { goro: “mogu” }{{ hoge.goro }} # => mogu
  10. 10. フィルタヘルパ関数みたいなものシェルのパイプのように引数がある場合は : でつなぐ引数が複数ある場合は , でつなぐ
  11. 11. フィルタ{{ 変数 ¦ フィルタ ¦ フィルタ }}
  12. 12. フィルタhoge = “gorogoro”{{ hoge | replace_first: ‘goro’, ‘mogu’ }}# => mogugoro
  13. 13. フィルタ{{ ‘5’ | plus:’1’ | times:’4’ }# => 24 # 5 + 1 * 4
  14. 14. 分岐{% if 条件 %}ifのとき{% endif %}
  15. 15. 分岐{% if hoge == ‘goro’ %} ぐるぐる{% endif %} # => ぐるぐる
  16. 16. 繰り返し{% for 変数名 in リスト %} 繰り返す内容{% endfor %}
  17. 17. その他のタグ、フィルタリファレンスなどをhttps://github.com/Shopify/liquid/wiki/Liquid-for-Designers
  18. 18. カスタムタグRubyでがりがりとかく
  19. 19. {{ }} vs {% %}{% %} を使用した場合 未定義の変数だと例外が飛びます
  20. 20. ERB じゃダメなん?ERBだと Rubyでできることなんでもできてしまう サービスを利用する人が使う場合 機能制限したい
  21. 21. Jekyll on Githubなにもしなくても使えますカスタムタグの作成はできない
  22. 22. プログラムで使うtemplate = “Hello {{ hoge }}”binding = { hoge: “World” }Liquid::Template.parse(template).render binding# => Hello World
  23. 23. ご清聴ありがとうございます

×