Class: Coradoc::CoreModel::TocGenerator
- Inherits:
-
Object
- Object
- Coradoc::CoreModel::TocGenerator
- Defined in:
- lib/coradoc/core_model/toc_generator.rb
Overview
Table of Contents Generator for CoreModel documents
Generates a Toc model from CoreModel::StructuralElement documents. Supports configurable level ranges and section numbering.
Constant Summary collapse
- DEFAULT_OPTIONS =
Default options for TOC generation
{ min_level: 1, max_level: 6, numbered: false, styled: false }.freeze
Class Method Summary collapse
-
.generate(document, options = {}) ⇒ CoreModel::Toc?
Generate a Toc from a CoreModel document.
Class Method Details
.generate(document, options = {}) ⇒ CoreModel::Toc?
Generate a Toc from a CoreModel document
43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/coradoc/core_model/toc_generator.rb', line 43 def generate(document, = {}) opts = DEFAULT_OPTIONS.merge() entries = extract_toc_entries(document, opts) return nil if entries.empty? CoreModel::Toc.new( entries: entries, min_level: opts[:min_level], max_level: opts[:max_level], numbered: opts[:numbered], styled: opts[:styled] ) end |