require 'nokogiri'
module Nanoc3::Filters
# TODO document
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