Sha256: 963a4c5a91e17646fb6abb72c28625910d919b6ab57bf498a84730da15dc1edc

Contents?: true

Size: 909 Bytes

Versions: 22

Compression:

Stored size: 909 Bytes

Contents

module Smithy
  module Liquid
    module Tags
      class LinkTo < ::Liquid::Block
        SyntaxHelp = "Syntax Error in tag 'link_to' - Valid syntax: link_to [url]"
        Syntax = /(#{::Liquid::QuotedFragment})\s*([=!<>a-z_]+)?\s*(#{::Liquid::QuotedFragment})?/o

        def initialize(tag_name, markup, tokens)
          @tokens = tokens
          @url = markup.strip
          @url = :back if @url == ':back'
          super
        end

        def render(context)
          controller = context.registers[:controller]
          context.stack do
            controller.view_context.link_to(@url) do
              render_all(nodes, context)
            end
          end
        end

        private
          def nodes
            @nodelist.map{|n| n.is_a?(String) ? n.strip : n }
          end
      end
      ::Liquid::Template.register_tag('link_to', Smithy::Liquid::Tags::LinkTo)
    end
  end
end

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
smithycms-0.8.1 lib/smithy/liquid/tags/link.rb
smithycms-0.7.3 lib/smithy/liquid/tags/link.rb
smithycms-0.7.2 lib/smithy/liquid/tags/link.rb
smithycms-0.7.1 lib/smithy/liquid/tags/link.rb
smithycms-0.7.0 lib/smithy/liquid/tags/link.rb
smithycms-0.6.10 lib/smithy/liquid/tags/link.rb
smithycms-0.5.99.3 lib/smithy/liquid/tags/link.rb
smithycms-0.6.9 lib/smithy/liquid/tags/link.rb
smithycms-0.6.7 lib/smithy/liquid/tags/link.rb
smithycms-0.6.6 lib/smithy/liquid/tags/link.rb
smithycms-0.6.5 lib/smithy/liquid/tags/link.rb
smithycms-0.6.4 lib/smithy/liquid/tags/link.rb
smithycms-0.6.3 lib/smithy/liquid/tags/link.rb
smithycms-0.5.99.2 lib/smithy/liquid/tags/link.rb
smithycms-0.5.99.1 lib/smithy/liquid/tags/link.rb
smithycms-0.5.99 lib/smithy/liquid/tags/link.rb
smithycms-0.6.2 lib/smithy/liquid/tags/link.rb
smithycms-0.6.1 lib/smithy/liquid/tags/link.rb
smithycms-0.5.2 lib/smithy/liquid/tags/link.rb
smithycms-0.6.0 lib/smithy/liquid/tags/link.rb