Erick Zhao
c86dfbda61
feat(v2): allow specifying TOC max depth (themeConfig + frontMatter) ( #5578 )
...
* feat: add all TOC levels to MDX loader
* feat: add theme-level config for heading depth
* test: add remark MDX loader test
* fix: limit maxDepth validation to H2 - H6
* refactor: set default `maxDepth` using `joi`
* refactor: `maxDepth` -> `maxHeadingLevel
* refactor: invert underlying TOC depth API
* refactor: make TOC algorithm level-aware
* feat: add support for per-doc TOC heading levels
* feat: support document-level heading levels for blog
* fix: correct validation for toc level frontmatter
* fix: ensure TOC doesn't generate redundant DOM
* perf: simpler TOC heading search alg
* docs: document heading level props for `TOCInline`
* Update website/docs/guides/markdown-features/markdown-features-inline-toc.mdx
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
* docs: fix docs (again)
* create dedicated test file for heading searching logic: exhaustive tests will be simpler to write
* toc search: add real-world test
* fix test
* add dogfooding tests for toc min/max
* add test for min/max toc frontmatter
* reverse min/max order
* add theme minHeadingLevel + tests
* simpler TOC rendering logic
* simplify TOC implementation (temp, WIP)
* reverse unnatural order for minHeadingLevel/maxHeadingLevel
* add TOC dogfooding tests to all content plugins
* expose toc min/max heading level frontmatter to all 3 content plugins
* refactor blogLayout: accept toc ReactElement directly
* move toc utils to theme-common
* add tests for filterTOC
* create new generic TOCItems component
* useless css file copied
* fix toc highlighting className conflicts
* update doc
* fix types
Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com>
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-09-29 11:19:11 +02:00
Joshua Chen
3fc47938a5
chore(mdx-loader): migrate package to TypeScript ( #5347 )
...
* Polish code style
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Partly done migration
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Complete typing
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix tests
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* A-ha
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Cleanup
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Fix error
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
* Cleanup
Signed-off-by: Josh-Cena <sidachen2003@gmail.com>
2021-08-12 14:55:14 +02:00
Sam Zhou
83d043ecb3
chore(v2): Fix more linter warnings ( #4450 )
2021-03-18 18:05:09 +01:00
Reece Dunham
76c0b11632
refactor(v2): TS config update: reduce the size of npm modules ( #4375 )
...
* feat(v2): Reduce the size of the npm modules
Signed-off-by: Reece Dunham <me@rdil.rocks>
* Fix conflicts
* Update search.js
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-03-17 16:25:42 +01:00
Alexey Pyltsyn
96e7fcef25
feat(v2): add ability to set custom heading id ( #4222 )
...
* feat(v2): add ability to set custom heading id
* Add cli command
* Fix slugger
* write-heading-ids doc + add in commands/templates
* refactor + add tests for writeHeadingIds
* polish writeHeadingIds
* polish writeHeadingIds
* remove i18n goals todo section as the remaining items are quite abstract/useless
* fix edge case with 2 md links in heading
* extract parseMarkdownHeadingId helper function
* refactor using the shared parseMarkdownHeadingId utility fn
* change logic of edge case
* Handle edge case
* Document explicit ids feature
Co-authored-by: slorber <lorber.sebastien@gmail.com>
2021-03-05 19:36:14 +01:00
Sébastien Lorber
41ef333e47
feat(v2): inline table-of-contents + refactor TOC ( #3904 )
...
* Add TOCInline theme component
* Add TOCInline theme component doc + migration guide
* remove useless getPathsToWatch on classic theme
* rename rightToc to toc
* add temp theme-bootstrap TOCInline comp to fix build issue
2020-12-11 16:30:53 +01:00