glossary: single-source glossary entries#656
Open
PLeVasseur wants to merge 51 commits intorust-lang:mainfrom
Open
glossary: single-source glossary entries#656PLeVasseur wants to merge 51 commits intorust-lang:mainfrom
PLeVasseur wants to merge 51 commits intorust-lang:mainfrom
Conversation
Keep the static glossary in sync with generated output and verify it in CI.
Continue the phase 2 glossary migration batch.
Align chapter definitions with glossary entries while keeping generated output identical.
Relocate the script under tools and add keep-output plus glossary checks so runs are reliable from any location.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
glossary-entry/glossary-includedirectives and a generator so chapter + glossary definitions share one source of truth.make.py/CI and add HTML diff verification for parity checks.Closes #655
Guiding tenets
build/generated.glossary.rstmust be identical to today'sglossary.rst, byte-for-byteglossary.rstto have a stable record in the repobuild/htmlmust be identical, byte-for-byteparagraph-ids.jsonmust be identical, once accounting for ordering (as I found the build process is not deterministic in how this is generated)Reference alignment
Testing
Examples
Before (glossary-only entry in
src/glossary.rst.inc):After (single-source entry in
src/associated-items.rst):Before (glossary-only entry in
src/glossary.rst.inc):After (glossary-only entry placed near related chapter content in
src/associated-items.rst):