QuartoConfig

Notedocblock

Main configuration struct for QuartoDocBuilder.

Fields

Basic

  • module_name::Union{Module, Nothing}: The module to document
  • output_dir::String: Output directory for rendered site (default: “site”)
  • repo::String: GitHub repository in “user/repo” format

Execution

  • freeze::String: Quarto freeze option (default: “auto”)
  • cache::String: Quarto cache option (default: “true”)
  • warning::String: Show warnings (default: “false”)

Reference

  • reference::Vector{ReferenceGroup}: Reference page organization

Sections (Multiple Navbar Dropdowns)

  • sections::Vector{SectionConfig}: Multiple navbar sections with dropdowns
  • get_started::String: Path to “Get Started” page (shown prominently in navbar)

News

  • news::Bool: Generate news page from NEWS.md (default: true)
  • news_file::String: Path to news file (default: “NEWS.md”)

Comments

  • comments::Bool: Enable Giscus comments (default: true)
  • giscus_repo::String: Repository for Giscus (defaults to repo)

Appearance

  • theme::ThemeConfig: Theme configuration

Versioning

  • version::VersionConfig: Multi-version documentation configuration

Build behaviour

  • autolink::Bool: Automatically convert backtick references to hyperlinks in generated .qmd files (default: true)
  • strict::Bool: Treat broken internal links as build errors instead of warnings (default: false)
  • include_submodules::Bool: Recurse into submodules when collecting documented objects, generating a page (and inventory entry) for each documented binding in nested modules (default: false)

Example (with multiple sections)

config = QuartoConfig(
    module_name = MyPackage,
    repo = "user/MyPackage.jl",
    reference = [
        ReferenceGroup(title="Core", contents=[:main_func, :helper_func]),
        ReferenceGroup(title="Utils", contents=[starts_with("util_")])
    ],
    sections = [
        SectionConfig(title="Tutorials", dir="tutorials", order=1),
        SectionConfig(title="Explanation", dir="explanation", order=2),
        SectionConfig(title="How-to Guides", dir="how-to", order=3)
    ],
    theme = ThemeConfig(bootswatch="cosmo", dark_mode=true)
)