Chore: regenerate docs

This commit is contained in:
Pieter Vander Vennet 2024-07-16 19:31:00 +02:00
parent cbadd1e063
commit 3b7cc37b53
292 changed files with 34355 additions and 24710 deletions

View file

@ -1,14 +1,11 @@
import Combine from "../src/UI/Base/Combine"
import BaseUIElement from "../src/UI/BaseUIElement"
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs"
import { AllKnownLayouts } from "../src/Customizations/AllKnownLayouts"
import SimpleMetaTaggers from "../src/Logic/SimpleMetaTagger"
import SpecialVisualizations from "../src/UI/SpecialVisualizations"
import { ExtraFunctions } from "../src/Logic/ExtraFunctions"
import Title from "../src/UI/Base/Title"
import QueryParameterDocumentation from "../src/UI/QueryParameterDocumentation"
import ScriptUtils from "./ScriptUtils"
import List from "../src/UI/Base/List"
import Translations from "../src/UI/i18n/Translations"
import themeOverview from "../src/assets/generated/theme_overview.json"
import LayoutConfig from "../src/Models/ThemeConfig/LayoutConfig"
@ -17,7 +14,6 @@ import fakedom from "fake-dom"
import unit from "../src/assets/generated/layers/unit.json"
import Hotkeys from "../src/UI/Base/Hotkeys"
import { QueryParameters } from "../src/Logic/Web/QueryParameters"
import Link from "../src/UI/Base/Link"
import Constants from "../src/Models/Constants"
import LayerConfig from "../src/Models/ThemeConfig/LayerConfig"
import DependencyCalculator from "../src/Models/ThemeConfig/DependencyCalculator"
@ -32,6 +28,7 @@ import Script from "./Script"
import { Changes } from "../src/Logic/Osm/Changes"
import TableOfContents from "../src/UI/Base/TableOfContents"
import MarkdownUtils from "../src/Utils/MarkdownUtils"
import { parse as parse_html } from "node-html-parser"
/**
* Converts a markdown-file into a .json file, which a walkthrough/slideshow element can use
@ -113,7 +110,7 @@ class WikiPageGenerator {
(k) => k !== "_context"
)
const languages = languagesInDescr.map((ln) => `{{#language:${ln}|en}}`).join(", ")
let auth = "Yes"
const auth = "Yes"
return `{{service_item
|name= [https://mapcomplete.org/${layout.id} ${layout.id}]
|region= Worldwide
@ -164,6 +161,7 @@ export class GenerateDocs extends Script {
Array.from(AllKnownLayouts.allKnownLayouts.values()).map((theme) => {
this.generateForTheme(theme)
ScriptUtils.erasableLog("Written docs for theme", theme.id)
})
this.WriteMarkdownFile("./Docs/SpecialRenderings.md", SpecialVisualizations.HelpMessage(), [
@ -230,12 +228,12 @@ export class GenerateDocs extends Script {
const generatedFrom =
[
"This document is autogenerated from",
"This document is autogenerated from",
autogenSource.map(s => `[${s}](https://github.com/pietervdvn/MapComplete/blob/develop/${s})`).join(", ")
].join(" ")
writeFileSync(filename, warnAutomated + md+"\n\n" +generatedFrom+"\n")
writeFileSync(filename, warnAutomated + md + "\n\n" + generatedFrom + "\n")
}
private generateHotkeyDocs() {
@ -440,6 +438,11 @@ export class GenerateDocs extends Script {
}
private generateForTheme(theme: LayoutConfig): void {
const allLayers = AllSharedLayers.getSharedLayersConfigs()
const layersToShow = theme.layers
.filter((l) => !l.id.startsWith("note_import_") && l.id !== "favourite" && Constants.added_by_default.indexOf(<any>l.id) < 0)
const layersToInline = layersToShow.filter(l => !allLayers.has(l.id))
const el = [
["##",
theme.title,
@ -448,15 +451,26 @@ export class GenerateDocs extends Script {
")"
].join(" "),
theme.description.txt,
"_This document details some technical information about this MapComplete theme, mostly about the attributes used in the theme. Various links point toward more information about the attributes, e.g. to the OpenStreetMap-wiki, to TagInfo or tools creating statistics_",
"The theme introduction reads:\n",
"> "+parse_html(theme.description.textFor("en")).textContent.replace(/\n/g, " "),
"",
"This theme contains the following layers:",
MarkdownUtils.list(
theme.layers
.filter((l) => !l.id.startsWith("note_import_"))
.map((l) => (`[${l.id}](../Layers/${l.id}.md)`))
layersToShow
.map((l) => {
if (allLayers.has(l.id)) {
return (`[${l.id}](../Layers/${l.id}.md)`)
}
return (`[${l.id} (defined in this theme)](#${l.id.trim().replace(/ /g, "-")})`)
})
),
"Available languages:",
MarkdownUtils.list(theme.language.filter((ln) => ln !== "_context"))
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([]))
].join("\n")
this.WriteMarkdownFile(
"./Docs/Themes/" + theme.id + ".md",