Class: VivlioStarter::CLI::TocCommands::SupplementEntryProvider
- Inherits:
-
Object
- Object
- VivlioStarter::CLI::TocCommands::SupplementEntryProvider
- Defined in:
- lib/vivlio_starter/cli/toc.rb
Overview
前書き/後書きのエントリを生成する
前書き(00-preface)や後書き(99-postface)は、通常の章とは異なる扱いをする。
- 章番号を表示しない(CSS: toc-chapter-no-number)
- ビルド対象に含まれている場合のみ、目次に追加する
- 通常の見出し抽出ロジック(HeadingExtractor)は使用せず、h1 のみを抽出
Constant Summary collapse
- CSS_CLASS =
'toc-chapter-no-number'
Instance Method Summary collapse
-
#call ⇒ Object
指定された補助 HTML から TOC 項目を生成する 返り値: TOC エントリの HTML 文字列、または nil(対象外の場合).
-
#initialize(targets:, base_dir:, file_name:) ⇒ SupplementEntryProvider
constructor
A new instance of SupplementEntryProvider.
Constructor Details
#initialize(targets:, base_dir:, file_name:) ⇒ SupplementEntryProvider
Returns a new instance of SupplementEntryProvider.
283 284 285 286 287 |
# File 'lib/vivlio_starter/cli/toc.rb', line 283 def initialize(targets:, base_dir:, file_name:) @targets = targets # ビルド対象の HTML ファイルリスト @base_dir = Pathname.new(base_dir) @file_name = file_name # 対象ファイル名(例: '00-preface.html') end |
Instance Method Details
#call ⇒ Object
指定された補助 HTML から TOC 項目を生成する 返り値: TOC エントリの HTML 文字列、または nil(対象外の場合)
291 292 293 294 295 296 297 298 299 300 301 |
# File 'lib/vivlio_starter/cli/toc.rb', line 291 def call # targets に含まれていない場合は追加しない(chapters 設定で除外されている場合) return unless included_in_targets? return unless File.exist?(html_path) build_entry(html_path) rescue StandardError => e # 失敗した補助ページは TOC から黙って欠落するため、デバッグ時に原因を追えるよう記録する Common.log_debug("[TOC] #{file_name} の TOC 項目生成に失敗: #{e.class}: #{e.}") nil end |