mirror of
https://github.com/facebook/docusaurus.git
synced 2025-06-08 05:42:34 +02:00
feat: doc tags (same as blog tags) (#3646)
* [v2] tags to doc, same as tags to blog - [IN PROGRESS] - Addition of plugin-content-docs - Addition of DocTagsListPage in `docusaurus-theme-classic` ! Error exists for this commit towards the theme aspect and help required. Commit towards #3434 * docs: make tags list page work * temp: disable onBrokenLinks * theme bootstrap: create DocTagsListPage * DocTagsPage added and functionality too - individual doc tag page added to show docs for that specific tag * Added all Docs Tags Link * add some shared tag utils * move tag tests to _dogfooding * fix type * fix some tests * fix blog test * refactor blog post tags handling * better yaml tag examples * better dogfood md files * refactor and factorize theme tag components * finish DocTagDocListPage * Extract DocItemFooter + add inline tag list * minor fix * better typings * fix versions.test.ts tests * add tests for doc tags * fix tests * test toTagDocListProp * move shared theme code to tagUtils * Add new theme translation keys * move common theme code to tagUtils + add tests * update-code-translations should handle theme-common * update french translation * revert add translation * fix pluralization problem in theme.docs.tagDocListPageTitle * add theme component configuration options * add more tags tests * add documentation for docs tagging Co-authored-by: slorber <lorber.sebastien@gmail.com>
This commit is contained in:
parent
f666de7e59
commit
f9c79cbd58
81 changed files with 1874 additions and 381 deletions
|
@ -9,6 +9,9 @@ declare module '@docusaurus/plugin-content-docs-types' {
|
|||
type VersionBanner = import('./types').VersionBanner;
|
||||
type GlobalDataVersion = import('./types').GlobalVersion;
|
||||
type GlobalDataDoc = import('./types').GlobalDoc;
|
||||
type VersionTag = import('./types').VersionTag;
|
||||
|
||||
export type {GlobalDataVersion, GlobalDataDoc};
|
||||
|
||||
export type PropVersionMetadata = {
|
||||
pluginId: string;
|
||||
|
@ -43,7 +46,26 @@ declare module '@docusaurus/plugin-content-docs-types' {
|
|||
[sidebarId: string]: PropSidebarItem[];
|
||||
};
|
||||
|
||||
export type {GlobalDataVersion, GlobalDataDoc};
|
||||
export type PropTagDocListDoc = {
|
||||
id: string;
|
||||
title: string;
|
||||
description: string;
|
||||
permalink: string;
|
||||
};
|
||||
export type PropTagDocList = {
|
||||
allTagsPath: string;
|
||||
name: string; // normalized name/label of the tag
|
||||
permalink: string; // pathname of the tag
|
||||
docs: PropTagDocListDoc[];
|
||||
};
|
||||
|
||||
export type PropTagsListPage = {
|
||||
tags: {
|
||||
name: string;
|
||||
permalink: string;
|
||||
count: number;
|
||||
}[];
|
||||
};
|
||||
}
|
||||
|
||||
declare module '@theme/DocItem' {
|
||||
|
@ -79,6 +101,10 @@ declare module '@theme/DocItem' {
|
|||
readonly version?: string;
|
||||
readonly previous?: {readonly permalink: string; readonly title: string};
|
||||
readonly next?: {readonly permalink: string; readonly title: string};
|
||||
readonly tags: readonly {
|
||||
readonly label: string;
|
||||
readonly permalink: string;
|
||||
}[];
|
||||
};
|
||||
|
||||
export type Props = {
|
||||
|
@ -97,6 +123,19 @@ declare module '@theme/DocItem' {
|
|||
export default DocItem;
|
||||
}
|
||||
|
||||
declare module '@theme/DocItemFooter' {
|
||||
import type {Props} from '@theme/DocItem';
|
||||
|
||||
export default function DocItemFooter(props: Props): JSX.Element;
|
||||
}
|
||||
|
||||
declare module '@theme/DocTagsListPage' {
|
||||
import type {PropTagsListPage} from '@docusaurus/plugin-content-docs-types';
|
||||
|
||||
export type Props = PropTagsListPage;
|
||||
export default function DocItemFooter(props: Props): JSX.Element;
|
||||
}
|
||||
|
||||
declare module '@theme/DocVersionBanner' {
|
||||
import type {PropVersionMetadata} from '@docusaurus/plugin-content-docs-types';
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue