Class: Giblish::HtmlLayoutConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/giblish/layout_config/html_layout_config.rb

Overview

AIDEV-NOTE: Builder for HTML layout configuration following established provider pattern

Class Method Summary collapse

Class Method Details

.build(resource_paths, config_opts) ⇒ LayoutConfigResult

Builds complete HTML layout configuration.

Parameters:

  • resource_paths (ResourcePaths)

    Resolved paths for resources, styles, and templates

  • config_opts (CmdLine::Options)

    User configuration options

Returns:



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/giblish/layout_config/html_layout_config.rb', line 14

def self.build(resource_paths, config_opts)
  # AIDEV-NOTE: Create search provider once and reuse in both extensions and post_builders
  search_provider = config_opts.make_searchable ? HeadingIndexer.new(config_opts.srcdir) : nil

  pre_builders = build_pre_builders(resource_paths)
  post_builders = build_post_builders(search_provider)
  adoc_extensions = build_adoc_extensions(search_provider, config_opts)
  docattr_providers = build_docattr_providers(resource_paths, config_opts)

  LayoutConfigResult.new(
    pre_builders: pre_builders,
    post_builders: post_builders,
    adoc_extensions: adoc_extensions,
    adoc_api_opts: {backend: "html"},
    docattr_providers: docattr_providers
  )
end