""" Grab all parameter files and concat them into a single file. The header structure gets moved down 1 level """ import os import shutil import glob parameterDocsFolder = "parameter-pages" docsMainFolder = "../docs" parameterOverviewFile = "Parameters.md" parameterOverviewTemplateFile = "./templates/overview.md" def appendParameterFile(section, file, parameterName): with open(file, 'r') as parameterFileHandle: parameterDoc = parameterFileHandle.read() parameterDoc = parameterDoc.replace("# ", "### ") # Move all headings 2 level down # Add parameter doc to overview page with open(docsMainFolder + "/" + parameterOverviewFile, 'a') as overviewFileHandle: overviewFileHandle.write("\n" % (section, parameterName)) # Create a html anchor so we can link to it with "section-parameter" overviewFileHandle.write(parameterDoc) overviewFileHandle.write("\n\n
\n\n") # Create templated overview markdown file if os.path.exists(docsMainFolder + "/" + parameterOverviewFile): os.remove(docsMainFolder + "/" + parameterOverviewFile) #shutil.copy(parameterOverviewTemplateFile, parameterOverviewFile) folders = sorted( filter( os.path.isdir, glob.glob(parameterDocsFolder + '/*') ) ) # todo instead of alphabetic use logical order """ Create Overview Page (parameters.md) """ toc = "" for folder in folders: folder = folder.split("/")[-1] if folder == "img": # Skip the images folder continue with open(parameterOverviewTemplateFile, 'r') as overviewFileHandle: overviewFileContent = overviewFileHandle.read() # # Create TOC # toc += "\n\n[%s](#%s)\n\n" % (folder, folder.lower()) # # files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + folder + '/*'))) # for file in files: # section = folder # parameter = file.split("/")[-1].replace(".md", "") # parameter = parameter.replace("<", "").replace(">", "") # toc += " - [`%s`](#%s-%s)\n" % (parameter, section, parameter) # # overviewFileContent = overviewFileContent.replace("$TOC", toc) with open(docsMainFolder + "/" + parameterOverviewFile, 'w') as overviewFileHandle: overviewFileHandle.write(overviewFileContent) """ Append all parameter pages in a sorted manner """ for folder in folders: folder = folder.split("/")[-1] # print(folder) if folder == "img": # Skip the images folder continue # Add section with open(docsMainFolder + "/" + parameterOverviewFile, 'a') as overviewFileHandle: overviewFileHandle.write("\n## Section `%s`\n\n" % folder) files = sorted(filter(os.path.isfile, glob.glob(parameterDocsFolder + "/" + folder + '/*'))) for file in files: if not ".md" in file: # Skip non-markdown files continue # print(" %s" % file) parameter = file.split("/")[-1].replace(".md", "") parameter = parameter.replace("<", "").replace(">", "") appendParameterFile(folder, file, parameter) """ Copy images to main folder """ os.system("cp " + parameterDocsFolder + "/img/* " + docsMainFolder + "/img/")