diff options
Diffstat (limited to 'doc/doc_extract.py')
-rwxr-xr-x | doc/doc_extract.py | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/doc/doc_extract.py b/doc/doc_extract.py index 66ec7e5..ce192cb 100755 --- a/doc/doc_extract.py +++ b/doc/doc_extract.py @@ -55,6 +55,14 @@ def extract_docs(filepath): docs.append((doc_name, lstrip_lines(doc))) return docs +def convert_to_subsections(doc_str): + lines = [] + for line in doc_str.splitlines(): + if len(line) != 0 and line[0] == "#": + line = "##" + line[1:] + lines.append(line) + return "\n".join(lines) + def main(): script_path = os.path.realpath(sys.argv[0]) script_dir = os.path.dirname(script_path) @@ -64,13 +72,17 @@ def main(): source_files = get_source_files_recursive(amalgam_includes) source_files += get_source_files_recursive(amalgam_sources) + doc_data = [] for filepath in source_files: docs = extract_docs(filepath) for doc in docs: - doc_path = os.path.join(script_dir, doc[0] + ".md") - with open(doc_path, "w") as file: - file.write(doc[1]) - print("Wrote doc for %s into file %s" % (doc[0], doc_path)) + section = "# {}\n{}".format(doc[0], convert_to_subsections(doc[1])) + doc_data.append(section) + print("Added section %s to the documentation" % doc[0]) + + doc_path = os.path.join(script_dir, "Documentation.md") + with open(doc_path, "w") as file: + file.write("\n\n".join(doc_data)) if __name__ == "__main__": main() |