diff --git a/docs/usage/modules/datasource/.pages b/docs/usage/modules/datasource/.pages new file mode 100644 index 0000000000000000000000000000000000000000..3b82b40c562ba37e42f892a8956e665f0581a634 --- /dev/null +++ b/docs/usage/modules/datasource/.pages @@ -0,0 +1,7 @@ +title: Datasources +nav: + - Introduction: index.md + - ... +collapse_single_pages: true +order: asc +sort_type: natural diff --git a/docs/usage/modules/datasource.md b/docs/usage/modules/datasource/index.md similarity index 100% rename from docs/usage/modules/datasource.md rename to docs/usage/modules/datasource/index.md diff --git a/tools/docs/datasources.ts b/tools/docs/datasources.ts index 76191fc77871bafc8bc5502dbf644923e1cf35b3..9d069ff49f79ce23c31ca40a3a2054b6f8fe41a4 100644 --- a/tools/docs/datasources.ts +++ b/tools/docs/datasources.ts @@ -1,18 +1,18 @@ +import { codeBlock } from 'common-tags'; import { getDatasources } from '../../lib/modules/datasource'; import { readFile, updateFile } from '../utils'; import { formatDescription, formatUrls, getDisplayName, + getModuleLink, replaceContent, } from './utils'; export async function generateDatasources(dist: string): Promise<void> { const dsList = getDatasources(); - let datasourceContent = - '\nSupported values for `datasource` are: ' + - [...dsList.keys()].map((v) => `\`${v}\``).join(', ') + - '.\n\n'; + let datasourceContent = '\nSupported values for `datasource` are:\n\n'; + for (const [datasource, definition] of dsList) { const { id, @@ -22,32 +22,44 @@ export async function generateDatasources(dist: string): Promise<void> { defaultVersioning, } = definition; const displayName = getDisplayName(datasource, definition); - datasourceContent += `\n### ${displayName} Datasource\n\n`; - datasourceContent += `**Identifier**: \`${id}\`\n\n`; + datasourceContent += `* ${getModuleLink( + datasource, + `\`${datasource}\`` + )}\n`; + let md = codeBlock` + --- + title: ${displayName} + --- + + # ${displayName} Datasource + `; + md += '\n\n'; + md += `**Identifier**: \`${id}\`\n\n`; if (defaultVersioning) { - datasourceContent += `**Default versioning**: \`${defaultVersioning}\`\n\n`; + md += `**Default versioning**: \`${defaultVersioning}\`\n\n`; } else { - datasourceContent += `**Default versioning**: no default versioning\n\n`; + md += `**Default versioning**: no default versioning\n\n`; } - datasourceContent += formatUrls(urls); - datasourceContent += `**Custom registry support**: \n\n`; + md += formatUrls(urls); + md += `**Custom registry support**: \n\n`; if (customRegistrySupport) { - datasourceContent += `✅ Custom registries are supported.\n\n`; + md += `✅ Custom registries are supported.\n\n`; } else { - datasourceContent += `⌠No custom registry support.\n\n`; + md += `⌠No custom registry support.\n\n`; } - datasourceContent += await formatDescription('datasource', datasource); + md += await formatDescription('datasource', datasource); if (defaultConfig) { - datasourceContent += + md += '**Default configuration**:\n\n```json\n' + JSON.stringify(defaultConfig, undefined, 2) + '\n```\n'; } - datasourceContent += `\n----\n\n`; + await updateFile(`${dist}/modules/datasource/${datasource}/index.md`, md); } - let indexContent = await readFile(`docs/usage/modules/datasource.md`); + + let indexContent = await readFile(`docs/usage/modules/datasource/index.md`); indexContent = replaceContent(indexContent, datasourceContent); - await updateFile(`${dist}/modules/datasource.md`, indexContent); + await updateFile(`${dist}/modules/datasource/index.md`, indexContent); } diff --git a/tools/docs/platforms.ts b/tools/docs/platforms.ts index a185c5a14e5f2414e67b60ac257884532002d1fa..e6ac36e1d4d62f2a700ec162620498a4f551bf5d 100644 --- a/tools/docs/platforms.ts +++ b/tools/docs/platforms.ts @@ -1,10 +1,6 @@ import { getPlatformList } from '../../lib/modules/platform'; import { readFile, updateFile } from '../utils'; -import { replaceContent } from './utils'; - -function getModuleLink(module: string, title: string): string { - return `[${title ?? module}](${module}/)`; -} +import { getModuleLink, replaceContent } from './utils'; export async function generatePlatforms(dist: string): Promise<void> { let platformContent = 'Supported values for `platform` are: '; diff --git a/tools/docs/utils.ts b/tools/docs/utils.ts index b015d8c92954763d60cb2a26d9a6511f0122743d..56a6d06b1a6548f83c3a6bebe1f990ccd4edfc3e 100644 --- a/tools/docs/utils.ts +++ b/tools/docs/utils.ts @@ -67,3 +67,7 @@ export async function formatDescription( } return `**Description**:\n\n${content}\n`; } + +export function getModuleLink(module: string, title: string): string { + return `[${title ?? module}](${module}/)`; +}