fix(nxdev): show related recipes (#13254)

This commit is contained in:
Isaac Mann 2022-11-18 13:39:27 -05:00 committed by GitHub
parent ec85e1b5ad
commit 19ead43703
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 9 deletions

View File

@ -21,6 +21,7 @@ export class DocumentsApi {
publicDocsRoot: string;
documentSources: DocumentMetadata[];
addAncestor: { id: string; name: string } | null;
relatedSources?: DocumentsApi[];
}
) {
if (!options.publicDocsRoot) {
@ -78,7 +79,7 @@ export class DocumentsApi {
?.map((i) => ({
title: i.name,
description: i.description ?? '',
url: i.path ?? '/' + path.concat(i.id).join('/'),
url: '/' + (i.path ?? path.concat(i.id).join('/')),
}))
.map(
(card) =>
@ -110,7 +111,7 @@ export class DocumentsApi {
const originalContent = readFileSync(filePath, 'utf8');
const ast = parseMarkdown(originalContent);
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.
@ -280,6 +281,13 @@ export class DocumentsApi {
this.documents.itemList!.forEach((item) => {
recur(item, []);
});
if (this.options.relatedSources) {
this.options.relatedSources.forEach((source) =>
source.documents.itemList.forEach((item) => {
recur(item, []);
})
);
}
if (
relatedConcepts.length === 0 &&

View File

@ -21,6 +21,13 @@ export const packagesApi = new PackagesApi({
publicPackagesRoot: 'nx-dev/nx-dev/public/documentation',
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({
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',
documentSources: [
@ -34,13 +41,7 @@ export const nxDocumentsApi = new DocumentsApi({
.filter((x) => !!x)
.map((x) => convertToDocumentMetadata(x)),
addAncestor: null,
});
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' },
relatedSources: [nxRecipesApi],
});
export const nxCloudDocumentsApi = new DocumentsApi({
publicDocsRoot: 'nx-dev/nx-dev/public/documentation',