Module: Jekyll::Filters::Nokogiri

Defined in:
lib/jekyll/filters/nokogiri.rb

Instance Method Summary collapse

Instance Method Details

#add_attribute(input, filter, attribute, value) ⇒ String

Adds an attribute to all elements matching a CSS filter.

Examples:

{{ "<p>Hi</p>" | add_attribute: "p", "class", "lead" }}

Parameters:

  • input (String)
  • filter (String)
  • attribute (String)
  • value (Any)

Returns:

  • (String)


17
18
19
20
21
22
23
# File 'lib/jekyll/filters/nokogiri.rb', line 17

def add_attribute(input, filter, attribute, value)
  ::Nokogiri::HTML5.fragment(input).tap do |html_fragment|
    html_fragment.css(filter).each do |element|
      element[attribute] = value.to_s
    end
  end.to_s
end