Sha256: 9ad52ae29d8fc3d47c0dfe026ca4180b1a7b4e1c8122dbaf5f20f0081cfe9145
Contents?: true
Size: 989 Bytes
Versions: 2
Compression:
Stored size: 989 Bytes
Contents
module PufferPages module Liquid module Tags class Javascripts < ::Liquid::Tag Syntax = /^(#{::Liquid::QuotedFragment}+)/ def initialize(tag_name, markup, tokens) if markup =~ Syntax @paths = variables_from_string(markup) else raise SyntaxError.new("Syntax Error in 'javascripts' - Valid syntax: javascripts path [, path, path ...]") end super end def render(context) paths = @paths.map {|path| "'#{context[path]}'" }.join(', ') context.registers[:tracker].register "<%= javascript_include_tag #{paths} %>" end private def variables_from_string(markup) markup.split(',').map do |var| var.strip =~ /\s*(#{::Liquid::QuotedFragment})\s*/ $1 ? $1 : nil end.compact end end end end end Liquid::Template.register_tag('javascripts', PufferPages::Liquid::Tags::Javascripts)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
puffer_pages-0.1.1 | lib/puffer_pages/liquid/tags/javascripts.rb |
puffer_pages-0.1.0 | lib/puffer_pages/liquid/tags/javascripts.rb |