domains / docs / EbookFoundation/free-programming-books
Canonical IDs and Titles
Adopt canonical naming rules for both **identifiers (anchors/ids)** and **display names (titles)** to prevent broken links and inconsistent labeling.
Adopt canonical naming rules for both identifiers (anchors/ids) and display names (titles) to prevent broken links and inconsistent labeling.
Rules
- Anchor ids must be explicit and stable
- If a section/subsection is referenced by an in-page link, ensure there is an explicit matching
id.
- If a section/subsection is referenced by an in-page link, ensure there is an explicit matching
- Use consistent casing for ids
- Prefer lowercase ids (avoid relying on markdown-generated casing differences).
- Keep anchor sections ordered predictably
- When adding headings/anchors, place them in alphabetical order within their group.
- Do not invent or paraphrase resource titles
- Use the exact title provided by the resource/creator.
- Avoid honorifics/extra prefixes in names
- Don’t add titles like “Professor” or similar honorifics to the listed display name.
Example (anchor/id)
### <a id="yapay-zeka"></a>Yapay Zeka
<!-- later: link must match the id exactly -->
[Go to Yapay Zeka](#yapay-zeka)
Example (title)
<!-- Good: exact source title -->
* [TypeScript — Frontend & Backend (file setup, types, generics, React + TS)](https://github.com/...)
<!-- Avoid: modified/invented title -->
* [TypeScript Cheatsheet](https://github.com/...) <!-- only if this is the exact resource title -->