Module: JAPR::LiquidBlockExtensions

Included in:
AssetTag
Defined in:
lib/japr/extensions/liquid/liquid_block_extensions.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#render(context) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/japr/extensions/liquid/liquid_block_extensions.rb', line 13

def render(context)
  site = context.registers[:site]
  config = site.config['asset_pipeline'] || {}

  # Run Jekyll Asset Pipeline
  pipeline, cached = Pipeline.run(@nodelist.first, @markup.strip,
                                  site.source, site.dest,
                                  self.class.tag_name,
                                  self.class.output_type, config)

  if pipeline.is_a?(Pipeline)
    # Prevent Jekyll from cleaning up saved assets if new 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 unless cached

    # Return HTML tag pointing to asset
    return pipeline.html
  else
    # Return nothing
    return nil
  end
end