Skip to content

Source camp anchor pullquotes from MDX frontmatter #2

Description

@aallan

Background

The homepage at src/pages/index.astro renders three <CampSection> blocks, one per camp. Each call site passes anchorQuote as a hardcoded prop:

<CampSection
  camp="syntactic"
  ...
  anchor={magpie}
  anchorQuote="~2.3× more tokens per operation — and that's the point."
>

For Verification, this was deduplicated against camps.verification.thesis in commit 8c6054a (homepage prose extraction). For Syntactic and Orchestration, the quotes are still hand-typed in index.astro and don't live anywhere else — they're prose snippets attributed to Magpie and Boruna but not sourced from those entries' MDX files.

Proposed change

Pick one:

  1. Add a pullquote field to the language schema (it's already optional in src/content.config.ts — currently unused by the homepage). Set the anchor's pullquote on magpie.md, boruna.md, and the Vera anchor still uses its thesis. The homepage reads anchor.data.pullquote instead of hardcoding.
  2. Add a dedicated anchor_quote field to the schema instead (cleaner separation from any inline pullquote the body might have).

Option 1 is less schema change. The trade-off: if a language wants an inline pullquote in its body AND a different anchor quote on the homepage, you'd want option 2.

Files

  • src/content.config.ts (if going with option 2)
  • src/content/languages/magpie.md, boruna.md (and vera.md for consistency)
  • src/pages/index.astro
  • src/components/CampSection.astro (no change if the prop name stays the same; the change is what value gets passed)

Why this matters

The catalogue's editorial principle is that quotes about a language should live with that language. Currently the syntactic and orchestration camp anchor quotes are split between the language entry and the homepage code, which makes them harder to keep accurate and means rewording requires touching multiple files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions