/
githubmirror
/
docusaurus
Обзор
Документация
Войти
/
githubmirror
/
docusaurus
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
packages/docusaurus-plugin-content-pages/src/plugin-content-pages.d.ts
114 строк
3 KB
Sébastien Lorber
chore(docs, blog, pages): refactor/normalize plugin option id types for all content plugins (#11563)
20 ноя 2025, 15:27
20 ноя 2025, 15:27
66dbc7d
Код
Авторство
О чём код?
/** * 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. */ declare module '@docusaurus/plugin-content-pages' { import type {MDXOptions} from '@docusaurus/mdx-loader'; import type { LoadContext, Plugin, OptionValidationContext, } from '@docusaurus/types'; import type {FrontMatterLastUpdate, LastUpdateData} from '@docusaurus/utils'; export type Assets = { image?: string; }; export type PluginOptions = MDXOptions & { id: string; path: string; routeBasePath: string; include: string[]; exclude: string[]; mdxPageComponent: string; showLastUpdateTime: boolean; showLastUpdateAuthor: boolean; editUrl?: string | EditUrlFunction; editLocalizedFiles?: boolean; }; export type Options = Partial<PluginOptions>; export type PageFrontMatter = { readonly title?: string; readonly description?: string; readonly image?: string; readonly slug?: string; readonly keywords?: string[]; readonly wrapperClassName?: string; readonly hide_table_of_contents?: string; readonly toc_min_heading_level?: number; readonly toc_max_heading_level?: number; readonly draft?: boolean; readonly unlisted?: boolean; readonly last_update?: FrontMatterLastUpdate; }; export type JSXPageMetadata = { type: 'jsx'; permalink: string; source: string; }; export type MDXPageMetadata = LastUpdateData & { type: 'mdx'; permalink: string; source: string; frontMatter: PageFrontMatter & {[key: string]: unknown}; editUrl?: string; title?: string; description?: string; unlisted: boolean; }; export type EditUrlFunction = (editUrlParams: { /** * The root content directory containing this post file, relative to the * site path. Usually the same as `options.path` but can be localized */ pagesDirPath: string; /** Path to this pages file, relative to `pagesDirPath`. */ pagesPath: string; /** @see {@link PagesPostMetadata.permalink} */ permalink: string; /** Locale name. */ locale: string; }) => string | undefined; export type Metadata = JSXPageMetadata | MDXPageMetadata; export type LoadedContent = Metadata[]; export default function pluginContentPages( context: LoadContext, options: PluginOptions, ): Promise<Plugin<LoadedContent | null>>; export function validateOptions( args: OptionValidationContext<Options | undefined, PluginOptions>, ): PluginOptions; } declare module '@theme/MDXPage' { import type {ReactNode} from 'react'; import type {LoadedMDXContent} from '@docusaurus/mdx-loader'; import type { MDXPageMetadata, PageFrontMatter, Assets, } from '@docusaurus/plugin-content-pages'; export interface Props { readonly content: LoadedMDXContent< PageFrontMatter, MDXPageMetadata, Assets >; } export default function MDXPage(props: Props): ReactNode; }