Successfully reported this slideshow.
Your SlideShare is downloading. ×

Liquid の紹介

More Related Content

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. ご清聴ありがとうございます

×