Skip to content

Terminology and per-language rules live in the package while both docs say they do not #6

Description

@mairas

From the review on PR #1: #1 (comment)

README.md says "This package brings the checkers, not the terminology" and AGENTS.md says "Glossaries and language rules are repository content, not package content". Both are false as written, and R5 of the plan states the same boundary.

  • check_typography.py hard-codes HALPI2, HaLOS, NMEA 2000, Signal K, Raspberry Pi, E7T and Compute Module in its hyphen rules, plus per-language QUOTES, SPACE_REQUIRED, CHAINS_ALLOWED and JUNCTION_FORBIDDEN tables. docs.halos.fi silently inherits halpi2's product vocabulary.
  • check_glossary.py hard-codes a locale→filename map that doubles as the argparse choices gate, so a repository whose locale is not in the map cannot invoke the command at all, and --glossaries defaults to halpi2's solutions/translation layout.
  • halpi2's own glossaries instruct the translator to register a new language in the same change as its first page. That workflow no longer exists once the map is behind a tag in another repository: PR in docs-tools, release, bump the pin, then translate.
  • check-typography still takes its locale list from QUOTES rather than the i18n config, so a locale configured in a consuming repo but absent from the table is unchecked and rejected as an argument. PR Package the documentation checkers and add a blocking translation gate #1 narrowed the blast radius — it now visits only locales that exist and exits 2 when none do — but the list still does not come from mkdocs.yml.

Fix: derive the glossary path by convention from the locale under --glossaries and drop the choices gate; keep the typography rule tables as package defaults but let a consuming repo override the product-name patterns from a config file. Whichever way it lands, make the two documentation sentences true.

Related: check-glossary and map-anchors now require an i18n plugin block their predecessors did not, so a single-locale repository that keeps a glossary cannot run check-glossary at all, and gets a traceback rather than a message.

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