mirror of
https://github.com/facebook/docusaurus.git
synced 2025-12-28 12:33:10 +00:00
Co-authored-by: sebastien <lorber.sebastien@gmail.com> |
||
|---|---|---|
| .. | ||
| __tests__ | ||
| README.md | ||
| generator.ts | ||
| index.ts | ||
| normalization.ts | ||
| postProcessor.ts | ||
| processor.ts | ||
| types.ts | ||
| utils.ts | ||
| validation.ts | ||
Sidebars
This part is very complicated and hard to navigate. Sidebars are loaded through the following steps:
- Loading. The sidebars file is read. Returns
SidebarsConfig. - Normalization. The shorthands are expanded. This step is very lenient about the sidebars' shapes. Returns
NormalizedSidebars. - Validation. The normalized sidebars are validated. This step happens after normalization, because the normalized sidebars are easier to validate, and allows us to repeatedly validate & generate in the future.
- Generation. This step is done through the "processor" (naming is hard). The
autogenerateditems are unwrapped. In the future, steps 3 and 4 may be repeatedly done until all autogenerated items are unwrapped. ReturnsProcessedSidebars.- Important: this step should only care about unwrapping autogenerated items, not filtering them, writing additional metadata, applying defaults, etc.—everything will be handled in the post-processor. Important because the generator is exposed to the end-user and we want it to be easy to be reasoned about.
- Post-processing. Defaults are applied (collapsed states), category links are resolved, empty categories are flattened. Returns
Sidebars.