Docs: add 'used in layers'-information for builtingQuestions + various small refactorings

This commit is contained in:
Pieter Vander Vennet 2025-06-13 02:39:27 +02:00
parent 2545982dbd
commit bc2ea7841f
9 changed files with 83 additions and 47 deletions

View file

@ -386,9 +386,11 @@ export class GenerateDocs extends Script {
allLayers.forEach((layer) => {
const element = layer.generateDocumentation(
themesPerLayer.get(layer.id),
layerIsNeededBy,
DependencyCalculator.getLayerDependencies(layer)
{
usedInThemes: themesPerLayer.get(layer.id),
layerIsNeededBy: layerIsNeededBy,
dependencies: DependencyCalculator.getLayerDependencies(layer),
},
)
const inlineSource = inlineLayers.get(layer.id)
ScriptUtils.erasableLog("Exporting layer documentation for", layer.id)
@ -481,15 +483,17 @@ export class GenerateDocs extends Script {
"questions.json",
true
)
const reusedTagRenderings = DependencyCalculator.tagRenderingImportedBy(qLayer, Array.from(AllSharedLayers.sharedLayers.values()))
const docs = qLayer.generateDocumentation({ reusedTagRenderings })
this.WriteMarkdownFile(
"./Docs/BuiltinQuestions.md",
qLayer.generateDocumentation([], new Map(), []),
docs,
["assets/layers/questions/questions.json"]
)
}
private generateForTheme(theme: ThemeConfig): void {
const allLayers = AllSharedLayers.getSharedLayersConfigs()
const allLayers = AllSharedLayers.sharedLayers
const layersToShow = theme.layers.filter(
(l) => l.id !== "favourite" && Constants.added_by_default.indexOf(<any>l.id) < 0
)
@ -520,7 +524,7 @@ export class GenerateDocs extends Script {
MarkdownUtils.list(theme.language.filter((ln) => ln !== "_context")),
"# Layers defined in this theme configuration file",
"These layers can not be reused in different themes.",
...layersToInline.map((l) => l.generateDocumentation(null)),
...layersToInline.map((l) => l.generateDocumentation({ usedInThemes: null })),
].join("\n")
this.WriteMarkdownFile(
"./Docs/Themes/" + theme.id + ".md",
@ -587,11 +591,13 @@ export class GenerateDocs extends Script {
Constants.priviliged_layers.map((id) => AllSharedLayers.sharedLayers.get(id))
).map((l) =>
l.generateDocumentation(
themesPerLayer.get(l.id),
layerIsNeededBy,
DependencyCalculator.getLayerDependencies(l),
Constants.added_by_default.indexOf(<any>l.id) >= 0,
Constants.no_include.indexOf(<any>l.id) < 0
{
usedInThemes: themesPerLayer.get(l.id),
layerIsNeededBy: layerIsNeededBy,
dependencies: DependencyCalculator.getLayerDependencies(l),
addedByDefault: Constants.added_by_default.indexOf(<any>l.id) >= 0,
canBeIncluded: Constants.no_include.indexOf(<any>l.id) < 0,
},
)
),
"# Normal layers",