mirror of
https://github.com/Snigdha-OS/documentation.git
synced 2025-09-09 19:44:56 +02:00
55 lines
3.0 KiB
JavaScript
55 lines
3.0 KiB
JavaScript
"use strict";
|
|
/**
|
|
* 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.
|
|
*/
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.validateDocFrontMatter = void 0;
|
|
const utils_validation_1 = require("@docusaurus/utils-validation");
|
|
const FrontMatterLastUpdateErrorMessage = '{{#label}} does not look like a valid front matter FileChange object. Please use a FileChange object (with an author and/or date).';
|
|
// NOTE: we don't add any default value on purpose here
|
|
// We don't want default values to magically appear in doc metadata and props
|
|
// While the user did not provide those values explicitly
|
|
// We use default values in code instead
|
|
const DocFrontMatterSchema = utils_validation_1.JoiFrontMatter.object({
|
|
id: utils_validation_1.JoiFrontMatter.string(),
|
|
// See https://github.com/facebook/docusaurus/issues/4591#issuecomment-822372398
|
|
title: utils_validation_1.JoiFrontMatter.string().allow(''),
|
|
hide_title: utils_validation_1.JoiFrontMatter.boolean(),
|
|
hide_table_of_contents: utils_validation_1.JoiFrontMatter.boolean(),
|
|
keywords: utils_validation_1.JoiFrontMatter.array().items(utils_validation_1.JoiFrontMatter.string().required()),
|
|
image: utils_validation_1.URISchema,
|
|
// See https://github.com/facebook/docusaurus/issues/4591#issuecomment-822372398
|
|
description: utils_validation_1.JoiFrontMatter.string().allow(''),
|
|
slug: utils_validation_1.JoiFrontMatter.string(),
|
|
sidebar_label: utils_validation_1.JoiFrontMatter.string(),
|
|
sidebar_position: utils_validation_1.JoiFrontMatter.number(),
|
|
sidebar_class_name: utils_validation_1.JoiFrontMatter.string(),
|
|
sidebar_custom_props: utils_validation_1.JoiFrontMatter.object().unknown(),
|
|
displayed_sidebar: utils_validation_1.JoiFrontMatter.string().allow(null),
|
|
tags: utils_validation_1.FrontMatterTagsSchema,
|
|
pagination_label: utils_validation_1.JoiFrontMatter.string(),
|
|
custom_edit_url: utils_validation_1.URISchema.allow('', null),
|
|
parse_number_prefixes: utils_validation_1.JoiFrontMatter.boolean(),
|
|
pagination_next: utils_validation_1.JoiFrontMatter.string().allow(null),
|
|
pagination_prev: utils_validation_1.JoiFrontMatter.string().allow(null),
|
|
...utils_validation_1.FrontMatterTOCHeadingLevels,
|
|
last_update: utils_validation_1.JoiFrontMatter.object({
|
|
author: utils_validation_1.JoiFrontMatter.string(),
|
|
date: utils_validation_1.JoiFrontMatter.date().raw(),
|
|
})
|
|
.or('author', 'date')
|
|
.messages({
|
|
'object.missing': FrontMatterLastUpdateErrorMessage,
|
|
'object.base': FrontMatterLastUpdateErrorMessage,
|
|
}),
|
|
})
|
|
.unknown()
|
|
.concat(utils_validation_1.ContentVisibilitySchema);
|
|
function validateDocFrontMatter(frontMatter) {
|
|
return (0, utils_validation_1.validateFrontMatter)(frontMatter, DocFrontMatterSchema);
|
|
}
|
|
exports.validateDocFrontMatter = validateDocFrontMatter;
|