Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Dynamiczne szablony - Liquid Markup

Dynamiczne szablony - Liquid Markup

Krzysztof Wawer

March 18, 2014
Tweet

More Decks by Krzysztof Wawer

Other Decks in Programming

Transcript

  1. 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. 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. 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, "