Skip to content

YAML header convention: conflicts and Quarto version field collision #42

Description

@MatMatt

What we found

Comparing the YAML header convention across three sources in the repo revealed inconsistencies:

Three definitions, three formats

Source Quotes Field order version product-name toc fields
Templates (_meta/templates/) double title first placeholder text present absent
Editor-manual (DOCS/guidelines/) double title first forbidden required absent
Actual DOCS/ files on main none/single category first present absent present

PR #41 aligns the editor-manual and templates with actual practice.

version field collides with Quarto

Quarto defines version as a CLI version constraint (">= 1.1.0"), not document version. The CLMS library uses it for document version (2.3.0). This works in practice because fill_version.py processes it before Quarto renders, but it is a semantic collision.

Potential fix: rename to doc-version across all DOCS files + fill_version.py + strip_unknown_frontmatter.py.

category is a custom field

category is not part of the official Quarto schema. It is auto-completed by Quarto tools but has no documented behavior. CLMS relies on it for grouping/navigation.

What needs a decision

  1. Should version be renamed to doc-version to avoid the Quarto collision?
  2. Should toc/toc-depth/toc-title be documented as recommended or moved under format: html:?
  3. Should product-name be removed from templates (PR Align YAML header convention across templates, editor-manual, and DOCS/ #41 does this) or kept?

cc @mckeea

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions