Sha256: 54bf863828d0571eaade523cce521db2c97843446355a301a1a6973d2f5869f3

Contents?: true

Size: 1.04 KB

Versions: 40

Compression:

Stored size: 1.04 KB

Contents

module Locomotive
  module Steam
    module Liquid
      module Tags
        class LinkTo < Hybrid

          include Concerns::I18nPage
          include Concerns::Path

          def render(context)
            render_path(context) do |page, path|
              label = label_from_page(page)

              if render_as_block?
                context.stack do
                  context.scopes.last['target'] = page
                  label = super.html_safe
                end
              end

              %{<a href="#{path}">#{label}</a>}
            end
          end

          def wrong_syntax!
            raise SyntaxError.new("Syntax Error in 'link_to' - Valid syntax: link_to page_handle, locale es (locale is optional)")
          end

          protected

          def label_from_page(page)
            if page.templatized?
              page.send(:_source).content_entry._label
            else
              page.title
            end
          end

        end

        ::Liquid::Template.register_tag('link_to', LinkTo)
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
locomotivecms_steam-1.5.0.beta3 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.5.0.beta2 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.5.0.beta1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.4.1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.4.0 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.4.0.rc2 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.4.0.rc1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.4.0.pre.rc.1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.3.0 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.3.0.rc2 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.1.2 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.3.0.rc1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.0 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.0.rc3 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.0.rc2 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.0.rc1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.2.0.beta1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.1.1 lib/locomotive/steam/liquid/tags/link_to.rb
locomotivecms_steam-1.1.0 lib/locomotive/steam/liquid/tags/link_to.rb