module JAPR::LiquidBlockExtensions
Helper module used by JAPR::AssetTag
as well as classed derived from it (Liquid tag block extensions) See documentation here: github.com/Shopify/liquid/wiki/liquid-for-programmers#create-your-own-tag-blocks
Public Instance Methods
render(context)
click to toggle source
# File lib/japr/extensions/liquid/liquid_block_extensions.rb, line 20 def render(context) site = context.registers[:site] config = site.config.fetch('asset_pipeline', {}) # Run Jekyll Asset Pipeline pipeline, cached = run_pipeline(site, config) return nil unless pipeline.is_a?(Pipeline) # Prevent Jekyll from cleaning up saved assets if new pipeline preserve_assets(site, config, pipeline) unless cached # Return HTML tag pointing to asset pipeline.html end
Private Instance Methods
preserve_assets(site, config, pipeline)
click to toggle source
# File lib/japr/extensions/liquid/liquid_block_extensions.rb, line 43 def preserve_assets(site, config, pipeline) pipeline.assets.each do |asset| config = JAPR::DEFAULTS.merge(config) staging_path = File.expand_path(File.join(site.source, config['staging_path'])) site.static_files << Jekyll::StaticFile.new(site, staging_path, asset.output_path, asset.filename) end end
run_pipeline(site, config)
click to toggle source
# File lib/japr/extensions/liquid/liquid_block_extensions.rb, line 38 def run_pipeline(site, config) Pipeline.run(nodelist.first, @markup.strip, site.source, site.dest, self.class.tag_name, self.class.output_type, config) end