fix(nxdev): show related recipes (#13254)
This commit is contained in:
parent
ec85e1b5ad
commit
19ead43703
@ -21,6 +21,7 @@ export class DocumentsApi {
|
|||||||
publicDocsRoot: string;
|
publicDocsRoot: string;
|
||||||
documentSources: DocumentMetadata[];
|
documentSources: DocumentMetadata[];
|
||||||
addAncestor: { id: string; name: string } | null;
|
addAncestor: { id: string; name: string } | null;
|
||||||
|
relatedSources?: DocumentsApi[];
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
if (!options.publicDocsRoot) {
|
if (!options.publicDocsRoot) {
|
||||||
@ -78,7 +79,7 @@ export class DocumentsApi {
|
|||||||
?.map((i) => ({
|
?.map((i) => ({
|
||||||
title: i.name,
|
title: i.name,
|
||||||
description: i.description ?? '',
|
description: i.description ?? '',
|
||||||
url: i.path ?? '/' + path.concat(i.id).join('/'),
|
url: '/' + (i.path ?? path.concat(i.id).join('/')),
|
||||||
}))
|
}))
|
||||||
.map(
|
.map(
|
||||||
(card) =>
|
(card) =>
|
||||||
@ -110,7 +111,7 @@ export class DocumentsApi {
|
|||||||
const originalContent = readFileSync(filePath, 'utf8');
|
const originalContent = readFileSync(filePath, 'utf8');
|
||||||
const ast = parseMarkdown(originalContent);
|
const ast = parseMarkdown(originalContent);
|
||||||
const frontmatter = ast.attributes.frontmatter
|
const frontmatter = ast.attributes.frontmatter
|
||||||
? yamlLoad(ast.attributes.frontmatter)
|
? (yamlLoad(ast.attributes.frontmatter) as Record<string, any>)
|
||||||
: {};
|
: {};
|
||||||
|
|
||||||
// Set default title if not provided in front-matter section.
|
// Set default title if not provided in front-matter section.
|
||||||
@ -280,6 +281,13 @@ export class DocumentsApi {
|
|||||||
this.documents.itemList!.forEach((item) => {
|
this.documents.itemList!.forEach((item) => {
|
||||||
recur(item, []);
|
recur(item, []);
|
||||||
});
|
});
|
||||||
|
if (this.options.relatedSources) {
|
||||||
|
this.options.relatedSources.forEach((source) =>
|
||||||
|
source.documents.itemList.forEach((item) => {
|
||||||
|
recur(item, []);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (
|
if (
|
||||||
relatedConcepts.length === 0 &&
|
relatedConcepts.length === 0 &&
|
||||||
|
|||||||
@ -21,6 +21,13 @@ export const packagesApi = new PackagesApi({
|
|||||||
publicPackagesRoot: 'nx-dev/nx-dev/public/documentation',
|
publicPackagesRoot: 'nx-dev/nx-dev/public/documentation',
|
||||||
packagesIndex: packages,
|
packagesIndex: packages,
|
||||||
});
|
});
|
||||||
|
export const nxRecipesApi = new DocumentsApi({
|
||||||
|
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
||||||
|
documentSources: [
|
||||||
|
documents.content.find((x) => x.id === 'nx-recipes'),
|
||||||
|
].filter((x) => !!x) as DocumentMetadata[],
|
||||||
|
addAncestor: { id: 'recipes', name: 'Recipes' },
|
||||||
|
});
|
||||||
export const nxDocumentsApi = new DocumentsApi({
|
export const nxDocumentsApi = new DocumentsApi({
|
||||||
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
||||||
documentSources: [
|
documentSources: [
|
||||||
@ -34,13 +41,7 @@ export const nxDocumentsApi = new DocumentsApi({
|
|||||||
.filter((x) => !!x)
|
.filter((x) => !!x)
|
||||||
.map((x) => convertToDocumentMetadata(x)),
|
.map((x) => convertToDocumentMetadata(x)),
|
||||||
addAncestor: null,
|
addAncestor: null,
|
||||||
});
|
relatedSources: [nxRecipesApi],
|
||||||
export const nxRecipesApi = new DocumentsApi({
|
|
||||||
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
|
||||||
documentSources: [
|
|
||||||
documents.content.find((x) => x.id === 'nx-recipes'),
|
|
||||||
].filter((x) => !!x) as DocumentMetadata[],
|
|
||||||
addAncestor: { id: 'recipes', name: 'Recipes' },
|
|
||||||
});
|
});
|
||||||
export const nxCloudDocumentsApi = new DocumentsApi({
|
export const nxCloudDocumentsApi = new DocumentsApi({
|
||||||
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user