feat: add script to generate table of contents #263
Merged
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.
Motivation
Manually maintaining the table of contents is a chore. When a new question is added, the table of contents has to be manually updated with number, title and slug. If the title changes, the TOC has to be updated again. This can easily go out of sync.
Implementation
I added a script to generate the table of contents based on the questions. As much as possible, the script leaves the contents alone. The script works as follows:
TOC_START
andTOC_END
markers)QUESTIONS_START
andQUESTIONS_END
markers) and collect the list of questionsgithub-slugger
, it should be mostly the same as how GitHub slugify the titles.The script can be executed by running
npm run gen
.Results
Through using the generation script, it has found some misnumbered qns (e.g. 445 should be 443). You can check the result on the branch of my fork here, so far seems fine.