mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-04 04:37:28 +02:00
* POC of autogenerated sidebars
* use combine-promises utility lib
* autogenerated sidebar poc working
* Revert "autogenerated sidebar poc working"
This reverts commit c81da980
* POC of auto-generated sidebars for community docs
* update tests
* add initial test suite for autogenerated sidebars + fix some edge cases
* Improve autogen sidebars: strip more number prefixes in folder breadcrumb + slugs
* fix typo!
* Add tests for partially generated sidebars + fix edge cases + extract sidebar generation code
* Ability to read category metadatas file from a file in the category
* fix tests
* change position of API
* ability to extract number prefix
* stable system to enable position frontmatter
* fix tests for autogen sidebar position
* renamings
* restore community sidebars
* rename frontmatter position -> sidebar_position
* make sidebarItemsGenerator fn configurable
* minor changes
* rename dirPath => dirName
* Make the init template use autogenerated sidebars
* fix options
* fix docusaurus site: remove test docs
* add _category_ file to docs pathsToWatch
* add _category_ file to docs pathsToWatch
* tutorial: use sidebar_position instead of file number prefixes
* Adapt Docusaurus tutorial for autogenerated sidebars
* remove slug: /
* polish the homepage template
* rename _category_ sidebar_position to just "position"
* test for custom sidebarItemsGenerator fn
* fix category metadata + add link to report tutorial issues
* fix absolute path breaking tests
* fix absolute path breaking tests
* Add test for floating number sidebar_position
* add sidebarItemsGenerator unit tests
* add processSidebars unit tests
* Fix init template broken links
* windows test
* increase code translations test timeout
* cleanup mockCategoryMetadataFiles after windows test fixed
* update init template positions
* fix windows tests
* fix comment
* Add autogenerated sidebar items documentation + rewrite the full sidebars page doc
* add useful comment
* fix code block title
37 lines
1,002 B
TypeScript
37 lines
1,002 B
TypeScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*/
|
|
|
|
import {Joi} from '@docusaurus/utils-validation';
|
|
|
|
// TODO complete this frontmatter + add unit tests
|
|
type DocFrontMatter = {
|
|
id?: string;
|
|
title?: string;
|
|
description?: string;
|
|
slug?: string;
|
|
sidebar_label?: string;
|
|
sidebar_position?: number;
|
|
custom_edit_url?: string;
|
|
strip_number_prefixes?: boolean;
|
|
};
|
|
|
|
const DocFrontMatterSchema = Joi.object<DocFrontMatter>({
|
|
id: Joi.string(),
|
|
title: Joi.string(),
|
|
description: Joi.string(),
|
|
slug: Joi.string(),
|
|
sidebar_label: Joi.string(),
|
|
sidebar_position: Joi.number(),
|
|
custom_edit_url: Joi.string().allow(null),
|
|
strip_number_prefixes: Joi.boolean(),
|
|
}).unknown();
|
|
|
|
export function assertDocFrontMatter(
|
|
frontMatter: Record<string, unknown>,
|
|
): asserts frontMatter is DocFrontMatter {
|
|
Joi.attempt(frontMatter, DocFrontMatterSchema);
|
|
}
|