| require 'nokogiri' |
| |
| module Nanoc3::Filters |
| |
| |
| class AddIDsToHeaders < Nanoc3::Filter |
| |
| identifiers :add_ids_to_headers |
| |
| def run(content, arguments={}) |
| doc = Nokogiri::HTML.parse(content) |
| doc.css("h1, h2, h3, h4, h5, h6").each do |header| |
| header['id'] = header.content.downcase.gsub(/\W+/, '-').gsub(/^-|-$/, '') |
| end |
| doc.to_s |
| end |
| |
| end |
| |
| end |