Class: Vivlio::Starter::CLI::TocCommands::TocDocumentBuilder
- Inherits:
-
Object
- Object
- Vivlio::Starter::CLI::TocCommands::TocDocumentBuilder
- Defined in:
- lib/vivlio/starter/cli/toc.rb
Overview
TOC の Markdown ドキュメントを構築する
Defined Under Namespace
Classes: ListState
Constant Summary collapse
- FRONT_MATTER =
<<~MD --- link: - rel: "stylesheet" href: "stylesheets/toc.css" lang: 'ja' --- # 目次 <nav id="toc" role="doc-toc"> <ul> MD
Instance Method Summary collapse
-
#build ⇒ Object
TOC の Markdown 文字列を構築する.
-
#initialize(entry_map, base_dir:) ⇒ TocDocumentBuilder
constructor
A new instance of TocDocumentBuilder.
Constructor Details
#initialize(entry_map, base_dir:) ⇒ TocDocumentBuilder
Returns a new instance of TocDocumentBuilder.
144 145 146 147 148 |
# File 'lib/vivlio/starter/cli/toc.rb', line 144 def initialize(entry_map, base_dir:) @entry_map = entry_map @targets = entry_map.keys.sort @base_dir = Pathname.new(base_dir) end |
Instance Method Details
#build ⇒ Object
TOC の Markdown 文字列を構築する
151 152 153 154 155 156 157 158 |
# File 'lib/vivlio/starter/cli/toc.rb', line 151 def build buffer = [FRONT_MATTER.dup] append_preface(buffer) append_headings(buffer) append_postface(buffer) buffer << "</ul>\n</nav>" buffer.join end |