Dynamiczne szablony - Liquid Markup

Dynamiczne szablony - Liquid Markup

794f638b6f7f5132d5a13230e61c9db2?s=128

Krzysztof Wawer

March 18, 2014
Tweet

Transcript

  1. 6.

    Własne filtry module TextFilter def textilize(input) RedCloth.new(input).to_html end end !

    Liquid::Template.register_filter(TextFilter) ! Liquid::Template.parse(" {{ '*hi*' | textilize }} "). render({}, filters: [TextFilter]) # => "<strong>hi</strong>"
  2. 7.

    Liquid Tag class ExampleTag < Liquid::Tag def initialize(name, markup, token)

    ! end ! def render(context) end end ! Liquid::Template.register_tag('example_menu', ExampleTag) ! Liquid::Template.parse("{% example_tag key1=value1%}").render
  3. 8.

    Liquid Drop class PostDrop < Liquid::Drop def initialize(post) @post =

    post end ! def title @post.title end end Liquid::Template.parse(„{{post.title}}, {{post.content}}”). render({ 'post' => PostDrop.new(Post.find(id)) }) => "Post title, "