Class: Jekyll::Minibundle::MiniStampTag

Inherits:
Liquid::Tag
  • Object
show all
Defined in:
lib/jekyll/minibundle/mini_stamp_tag.rb

Instance Method Summary collapse

Constructor Details

#initialize(tag_name, text, _tokens) ⇒ MiniStampTag

Returns a new instance of MiniStampTag.



5
6
7
8
9
10
11
12
13
14
# File 'lib/jekyll/minibundle/mini_stamp_tag.rb', line 5

def initialize(tag_name, text, _tokens)
  super
  @asset_source, @asset_destination = text.split(/\s+/, 3)[0, 2]
  if !@asset_source || @asset_source.empty?
    fail ArgumentError, "No asset source for ministamp tag; pass value such as '/_assets/site.css' as the first argument"
  end
  if !@asset_destination || @asset_destination.empty?
    fail ArgumentError, "No asset destination for ministamp tag; pass value such as '/assets/site.css' as the second argument"
  end
end

Instance Method Details

#render(context) ⇒ Object



16
17
18
19
20
21
# File 'lib/jekyll/minibundle/mini_stamp_tag.rb', line 16

def render(context)
  site = context.registers.fetch(:site)
  file = AssetFileRegistry.stamp_file(site, @asset_source, @asset_destination)
  file.add_as_static_file_to(site)
  file.destination_path_for_markup
end