.. | |||
README.md | Loading last commit info... | ||
generator.ts | |||
index.ts | |||
normalization.ts | |||
postProcessor.ts | |||
processor.ts | |||
types.ts | |||
utils.ts | |||
validation.ts |
README.md
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
autogenerated
items 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
.