Sha256: c4cfa5e33393891964b6cde5503ef5b6bf2efd7f12fd88dd8a27b3f0525de5da
Contents?: true
Size: 986 Bytes
Versions: 2
Compression:
Stored size: 986 Bytes
Contents
module PufferPages module Liquid module Tags class Stylesheets < ::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 'stylesheets' - Valid syntax: stylesheets path [, path, path ...]") end super end def render(context) paths = @paths.map {|path| "'#{context[path]}'" }.join(', ') context.registers[:tracker].register "<%= stylesheet_link_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('stylesheets', PufferPages::Liquid::Tags::Stylesheets)
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
puffer_pages-0.1.1 | lib/puffer_pages/liquid/tags/stylesheets.rb |
puffer_pages-0.1.0 | lib/puffer_pages/liquid/tags/stylesheets.rb |