Skip to content

docs: document markdown parsing for all front-matter strings - #927

Merged
cderv merged 1 commit into
mainfrom
docs/writing-notes-front-matter-markdown
Oct 27, 2026
Merged

cderv merged 1 commit into
mainfrom
docs/writing-notes-front-matter-markdown

Conversation

@cderv

@cderv cderv commented Oct 27, 2026

Copy link
Copy Markdown
Member

Front-matter string values are parsed as markdown, not only description:. The writing rule covered only description:, so a possessive or unbalanced quote in another string key (title:, a sidebar label) fails with Q-1-20 and nothing in the rule points at that cause.

Document the general rule, the !str tag for text that must stay verbatim, and link the Q-1-20 page.

Checked with q2 render --strict claude-notes: all 1558 files render with no warnings.

q2 parses any string-valued YAML entry as markdown, like Pandoc, not just
the title. The rule was documented only for description:, so authors
missed the same Q-1-20 failure in other keys. Document the general rule,
the !str opt-out for verbatim text, and link the Q-1-20 page.
@posit-snyk-bot

posit-snyk-bot commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

✅ Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
✅ Open Source Security 0 0 0 0 0 issues
✅ Licenses 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@cderv
cderv merged commit 32d3f17 into main Oct 27, 2026
12 checks passed
@cderv
cderv deleted the docs/writing-notes-front-matter-markdown branch October 27, 2026 11:51
cderv added a commit that referenced this pull request Oct 27, 2026
The writing-notes guidance from #927 overstated three things:

- Not every front-matter string is markdown. ANNOTATIONS in
  meta_annotations.rs keeps machine-facing keys (listing.contents, the
  brand subtree, link-external-filter) as plain strings, so escaping them
  as markdown leaves literal backslashes in the value.
- !str does not opt out everywhere. Presentation keys in
  MARKDOWN_CONFIG_PATHS (toc-title, site/sidebar titles, footer text) are
  re-parsed by ConfigMarkdownTransform, and a tagged string is
  indistinguishable from an untagged one by then: `toc-title: !str "the
  engines' state"` still fails a strict render with Q-1-20.
- The possessive example put the apostrophe inside a code span, where it
  is code content and renders cleanly. The example is now the plain YAML
  string, which does fail with Q-1-20.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants