This commit is contained in:
CaCO3
2023-02-23 00:08:13 +01:00
parent 1a3d0dd040
commit dda4a06d06
2 changed files with 27 additions and 22 deletions

View File

@@ -34,7 +34,7 @@ The script `concat-parameter-pages.py` in `param-docs` should be run whenever on
It then concatenates all pages into the single `../docs/Parameters.md` which gets be added to the `mkdocs` documentation. It then concatenates all pages into the single `../docs/Parameters.md` which gets be added to the `mkdocs` documentation.
### Template Generator ### Template Generator
The script `generate-param-doc-pages.py` should be run whenever a new parameter gets added to the config file. The script `generate-template-param-doc-pages.py` should be run whenever a new parameter gets added to the config file.
It then checks if there is already page for each of the parameters. It then checks if there is already page for each of the parameters.
- If no page exists yet, a templated page gets generated. - If no page exists yet, a templated page gets generated.
- Existing pages do not get modified. - Existing pages do not get modified.

View File

@@ -7,6 +7,8 @@ import os
import shutil import shutil
import glob import glob
sectionsLogicallyOrdered = ["TakeImage", "Alignment", "Digits", "Analog", "PostProcessing",
"MQTT", "InfluxDB", "InfluxDBv2", "GPIO", "AutoTimer", "DataLogging", "Debug", "System"]
parameterDocsFolder = "parameter-pages" parameterDocsFolder = "parameter-pages"
docsMainFolder = "../docs" docsMainFolder = "../docs"
@@ -30,29 +32,37 @@ if os.path.exists(docsMainFolder + "/" + parameterOverviewFile):
os.remove(docsMainFolder + "/" + parameterOverviewFile) os.remove(docsMainFolder + "/" + parameterOverviewFile)
#shutil.copy(parameterOverviewTemplateFile, parameterOverviewFile) #shutil.copy(parameterOverviewTemplateFile, parameterOverviewFile)
folders = sorted( filter( os.path.isdir, glob.glob(parameterDocsFolder + '/*') ) ) foldersRaw = sorted( filter( os.path.isdir, glob.glob(parameterDocsFolder + '/*') ) )
# todo instead of alphabetic use logical order
folders = []
for folder in foldersRaw:
folder = folder.split("/")[-1]
if folder == "img": # Skip the images folder
continue
if not folder in sectionsLogicallyOrdered:
print("Warning: The section %r seems to be new, appending it to the end of the logically ordered folder list!" % folder)
print(" Please update `sectionsLogicallyOrdered`!")
sectionsLogicallyOrdered.append(folder)
""" """
Create Overview Page (parameters.md) Create Overview Page (parameters.md)
""" """
toc = "" toc = ""
for folder in folders: for section in sectionsLogicallyOrdered:
folder = folder.split("/")[-1]
if folder == "img": # Skip the images folder
continue
with open(parameterOverviewTemplateFile, 'r') as overviewFileHandle: with open(parameterOverviewTemplateFile, 'r') as overviewFileHandle:
overviewFileContent = overviewFileHandle.read() overviewFileContent = overviewFileHandle.read()
# # Create TOC # # Create TOC
# toc += "\n\n[%s](#%s)\n\n" % (folder, folder.lower()) # toc += "\n\n[%s](#%s)\n\n" % (section, section.lower())
# #
# files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + folder + '/*'))) # files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + section + '/*')))
# for file in files: # for file in files:
# section = folder
# parameter = file.split("/")[-1].replace(".md", "") # parameter = file.split("/")[-1].replace(".md", "")
# parameter = parameter.replace("<", "").replace(">", "") # parameter = parameter.replace("<", "").replace(">", "")
# toc += " - [`%s`](#%s-%s)\n" % (parameter, section, parameter) # toc += " - [`%s`](#%s-%s)\n" % (parameter, section, parameter)
@@ -66,18 +76,13 @@ for folder in folders:
""" """
Append all parameter pages in a sorted manner Append all parameter pages in a sorted manner
""" """
for folder in folders: print("Appending all parameter pages to the single page %r..." % (docsMainFolder + "/" + parameterOverviewFile))
folder = folder.split("/")[-1] for section in sectionsLogicallyOrdered:
# print(folder)
if folder == "img": # Skip the images folder
continue
# Add section # Add section
with open(docsMainFolder + "/" + parameterOverviewFile, 'a') as overviewFileHandle: with open(docsMainFolder + "/" + parameterOverviewFile, 'a') as overviewFileHandle:
overviewFileHandle.write("\n## Section `%s`\n\n" % folder) overviewFileHandle.write("\n## Section `%s`\n\n" % section)
files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + folder + '/*'))) files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + section + '/*')))
for file in files: for file in files:
if not ".md" in file: # Skip non-markdown files if not ".md" in file: # Skip non-markdown files
continue continue
@@ -85,7 +90,7 @@ for folder in folders:
# print(" %s" % file) # print(" %s" % file)
parameter = file.split("/")[-1].replace(".md", "") parameter = file.split("/")[-1].replace(".md", "")
parameter = parameter.replace("<", "").replace(">", "") parameter = parameter.replace("<", "").replace(">", "")
appendParameterFile(folder, file, parameter) appendParameterFile(section, file, parameter)
""" """