class Amber::Render::NokogiriTableOfContents
NOKOGIRI TOC
Public Instance Methods
to_html()
click to toggle source
Calls superclass method
Amber::Render::TableOfContents#to_html
# File lib/amber/render/table_of_contents.rb, line 138 def to_html super @nokogiri_doc.to_html.gsub(/(<h\d.*?>)\n/, '\1').gsub(/\n(<\/h\d.*?>)/, '\1') end
to_toc()
click to toggle source
Calls superclass method
Amber::Render::TableOfContents#to_toc
# File lib/amber/render/table_of_contents.rb, line 143 def to_toc super ul = Nokogiri::XML::Node.new(@options[:tag], Nokogiri::HTML.fragment("")) @toc.populate_node(ul, @options) ul.to_pretty_html end
Private Instance Methods
each_heading(html) { |name, inner_html| ... }
click to toggle source
# File lib/amber/render/table_of_contents.rb, line 152 def each_heading(html, &block) @nokogiri_doc = Nokogiri::HTML.fragment(html, "UTF-8") if @options[:content_selector] selector = @levels.keys.map {|h| "#{@options[:content_selector]} #{h}" }.join(",") else selector = @levels.keys.join(",") end @nokogiri_doc.css(selector).each do |node| node.inner_html = yield(node.name, node.inner_html) end end