mirror of
https://github.com/facebook/docusaurus.git
synced 2025-07-27 21:48:41 +02:00
feat(v2): docs, make numberPrefixParser configurable, better defaults, minor breaking-changes (#4655)
* make number prefix parsing logic configurable * Make numberPrefixParser configurable + rename frontmatter + avoid parsing date/version patterns by default * add more tests * more test cases
This commit is contained in:
parent
d0d29f43cc
commit
c04e613ffe
14 changed files with 325 additions and 82 deletions
|
@ -16,9 +16,13 @@ type DocFrontMatter = {
|
|||
sidebar_label?: string;
|
||||
sidebar_position?: number;
|
||||
custom_edit_url?: string;
|
||||
strip_number_prefixes?: boolean;
|
||||
parse_number_prefixes?: boolean;
|
||||
};
|
||||
|
||||
// NOTE: we don't add any default value on purpose here
|
||||
// We don't want default values to magically appear in doc metadatas and props
|
||||
// While the user did not provide those values explicitly
|
||||
// We use default values in code instead
|
||||
const DocFrontMatterSchema = Joi.object<DocFrontMatter>({
|
||||
id: Joi.string(),
|
||||
title: Joi.string(),
|
||||
|
@ -27,11 +31,14 @@ const DocFrontMatterSchema = Joi.object<DocFrontMatter>({
|
|||
sidebar_label: Joi.string(),
|
||||
sidebar_position: Joi.number(),
|
||||
custom_edit_url: Joi.string().allow(null),
|
||||
strip_number_prefixes: Joi.boolean(),
|
||||
}).unknown();
|
||||
parse_number_prefixes: Joi.boolean(),
|
||||
});
|
||||
|
||||
export function assertDocFrontMatter(
|
||||
export function validateDocFrontMatter(
|
||||
frontMatter: Record<string, unknown>,
|
||||
): asserts frontMatter is DocFrontMatter {
|
||||
Joi.attempt(frontMatter, DocFrontMatterSchema);
|
||||
): DocFrontMatter {
|
||||
return Joi.attempt(frontMatter, DocFrontMatterSchema, {
|
||||
convert: true,
|
||||
allowUnknown: true,
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue