Class: Vivlio::Starter::CLI::Build::PageMappingExtractor
- Inherits:
-
Object
- Object
- Vivlio::Starter::CLI::Build::PageMappingExtractor
- Defined in:
- lib/vivlio/starter/cli/build/page_mapping_extractor.rb
Overview
Vivliostyle preview + Playwright でページマッピングを抽出する
Defined Under Namespace
Classes: BacklinkEntry, IndexMappingEntry, MappingEntry, PageMapping
Constant Summary collapse
- DEFAULT_PORT =
デフォルト設定
13_100- DEFAULT_HOST =
'localhost'- DEFAULT_TIMEOUT_MS =
416ページ規模のビルドに対応するため5分に延長
300_000- SERVER_STARTUP_TIMEOUT =
秒
30- MAPPING_SCRIPT =
File.('extract_page_mapping.mjs', __dir__)
Instance Method Summary collapse
-
#extract! ⇒ PageMapping
ページマッピングを抽出するメインメソッド.
-
#initialize(port: DEFAULT_PORT, timeout_ms: DEFAULT_TIMEOUT_MS) ⇒ PageMappingExtractor
constructor
A new instance of PageMappingExtractor.
Constructor Details
#initialize(port: DEFAULT_PORT, timeout_ms: DEFAULT_TIMEOUT_MS) ⇒ PageMappingExtractor
Returns a new instance of PageMappingExtractor.
53 54 55 56 57 58 59 60 |
# File 'lib/vivlio/starter/cli/build/page_mapping_extractor.rb', line 53 def initialize(port: DEFAULT_PORT, timeout_ms: DEFAULT_TIMEOUT_MS) @port = port @timeout_ms = timeout_ms @preview_pid = nil @preview_url = nil @log_file = nil @externally_managed = false end |
Instance Method Details
#extract! ⇒ PageMapping
ページマッピングを抽出するメインメソッド
64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/vivlio/starter/cli/build/page_mapping_extractor.rb', line 64 def extract! validate_dependencies! Common.log_action('[backlink-dedup] vivliostyle preview をヘッドレスで起動します…') start_preview_server! Common.log_action('[backlink-dedup] Playwright でページマッピングを抽出します…') raw_json = run_extraction_script! Common.log_success("[backlink-dedup] ページマッピングを取得しました(#{raw_json[:mappings].size} 件)") parse_result(raw_json) ensure stop_preview_server! end |