Module: GovukTechDocs::TableOfContents::Helpers

Defined in:
lib/govuk_tech_docs/table_of_contents/helpers.rb

Instance Method Summary collapse

Instance Method Details

#table_of_contents(html, max_level: nil) ⇒ Object



10
11
12
13
14
15
16
17
18
19
# File 'lib/govuk_tech_docs/table_of_contents/helpers.rb', line 10

def table_of_contents(html, max_level: nil)
  headings = HeadingsBuilder.new(html).headings

  if headings.none? { |heading| heading.size == 1 }
    raise "No H1 tag found. You have to at least add one H1 heading to the page."
  end

  tree = HeadingTreeBuilder.new(headings).tree
  HeadingTreeRenderer.new(tree, max_level: max_level).html
end