mirror of
https://github.com/facebook/docusaurus.git
synced 2025-08-02 16:29:47 +02:00
* 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>
80 lines
824 B
Text
80 lines
824 B
Text
---
|
|
toc_min_heading_level: 2
|
|
toc_max_heading_level: 6
|
|
---
|
|
|
|
Test the TOC behavior of a real-world md doc with invalid headings
|
|
|
|
---
|
|
|
|
BAD HEADINGS:
|
|
|
|
###### lvl 6
|
|
|
|
##### lvl 5
|
|
|
|
#### lvl 4
|
|
|
|
##### lvl 5
|
|
|
|
#### lvl 4
|
|
|
|
### lvl 3
|
|
|
|
## lvl 2
|
|
|
|
# lvl 1
|
|
|
|
---
|
|
|
|
GOOD HEADINGS:
|
|
|
|
## lvl 2
|
|
|
|
### lvl 3
|
|
|
|
#### lvl 4
|
|
|
|
##### lvl 5
|
|
|
|
###### lvl 6
|
|
|
|
## lvl 2
|
|
|
|
### lvl 3
|
|
|
|
#### lvl 4
|
|
|
|
##### lvl 5
|
|
|
|
###### lvl 6
|
|
|
|
---
|
|
|
|
INLINE:
|
|
|
|
```mdx-code-block
|
|
import BrowserWindow from '@site/src/components/BrowserWindow';
|
|
|
|
import TOCInline from '@theme/TOCInline';
|
|
|
|
<BrowserWindow>
|
|
|
|
<TOCInline toc={toc} minHeadingLevel={2} maxHeadingLevel={6} />
|
|
|
|
</BrowserWindow>
|
|
```
|
|
|
|
---
|
|
|
|
COLLAPSIBLE:
|
|
|
|
```mdx-code-block
|
|
import TOCCollapsible from '@theme/TOCCollapsible';
|
|
|
|
<BrowserWindow>
|
|
|
|
<TOCCollapsible toc={toc} minHeadingLevel={2} maxHeadingLevel={6} />
|
|
|
|
</BrowserWindow>
|
|
```
|