Loading toMkdocs/markdownTools.py +21 −20 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ from __future__ import annotations from typing import Callable, Optional from dataclasses import dataclass import base64, hashlib import base64, hashlib, argparse from enum import Enum, auto from gridTableTools import generateHtmlTableWithSpans, setLoggers as setGridTableLoggers Loading Loading @@ -553,45 +553,46 @@ def analyseMarkdown(filename:Optional[str]=None, inLines:Optional[list[str]]=Non def main() -> None: """Hauptfunktion zur Verarbeitung von Markdown-Dateien über die Kommandozeile.""" import argparse """Main function to process markdown files. """ parser = argparse.ArgumentParser(description='Markdown-Dateien verarbeiten, um Gittertabellen zu konvertieren und andere Formatierungen zu handhaben') parser.add_argument('eingabe', help='Eingabe-Markdown-Datei') parser.add_argument('-v', '--verbose', action='store_true', help='Ausführliche Ausgabe aktivieren') parser.add_argument('-vv', '--sehr-verbose', action='store_true', help='Sehr ausführliche Ausgabe aktivieren') parser.add_argument('-i', '--ignoriere-titel', nargs='+', default=[], help='Liste der zu ignorierenden Titel') parser.add_argument('-s', '--teilungs-ebene', type=int, default=1, help='Ebene, auf der das Dokument geteilt werden soll (Standard: 1)') parser.add_argument('-f', '--ignoriere-erste', action='store_true', help='Inhalt bis zur ersten Überschrift ignorieren') parser = argparse.ArgumentParser(description='Handle markdown files for MkDocs processing.') parser.add_argument('input', help='Input markdown file to process') parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose output') parser.add_argument('-vv', '--very-verbose', action='store_true', help='Enable very verbose output') parser.add_argument('-i', '--ignore-title', nargs='+', default=[], help='List of titles to ignore in the document (case insensitive)') parser.add_argument('-s', '--split-level', type=int, default=1, help='Level at which to split the document into clauses (default: 1)') parser.add_argument('-f', '--ignore-first', action='store_true', help='Ignore all clauses until the first heading is found') args = parser.parse_args() # Verbositätsebenen setzen # Set the verbosity levels based on command line arguments global verbose, veryVerbose verbose = args.verbose veryVerbose = args.sehr_verbose veryVerbose = args.very_verbose # Markdown-Datei verarbeiten # Handle the input file doc = analyseMarkdown(args.eingabe) # Dokument teilen und verarbeiten # Split the document into clauses based on the specified level doc.splitMarkdownDocument( ignoreTitles=args.ignoriere_titel, splitLevel=args.teilungs_ebene, ignoreUntilFirstHeading=args.ignoriere_erste ignoreTitles=args.ignore_title, splitLevel=args.split_level, ignoreUntilFirstHeading=args.ignore_first ) # Dokumentenelemente aktualisieren # Update links and footnotes doc.insertFootnotes() doc.updateLinks() doc.updateNotes() # Verarbeitetes Dokument ausgeben # Print the processed document for clause in doc.clauses: print(f"\n{'#' * clause.level} {clause.title}") for line in clause.lines: print(line.text, end='') if __name__ == '__main__': main() Loading Loading
toMkdocs/markdownTools.py +21 −20 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ from __future__ import annotations from typing import Callable, Optional from dataclasses import dataclass import base64, hashlib import base64, hashlib, argparse from enum import Enum, auto from gridTableTools import generateHtmlTableWithSpans, setLoggers as setGridTableLoggers Loading Loading @@ -553,45 +553,46 @@ def analyseMarkdown(filename:Optional[str]=None, inLines:Optional[list[str]]=Non def main() -> None: """Hauptfunktion zur Verarbeitung von Markdown-Dateien über die Kommandozeile.""" import argparse """Main function to process markdown files. """ parser = argparse.ArgumentParser(description='Markdown-Dateien verarbeiten, um Gittertabellen zu konvertieren und andere Formatierungen zu handhaben') parser.add_argument('eingabe', help='Eingabe-Markdown-Datei') parser.add_argument('-v', '--verbose', action='store_true', help='Ausführliche Ausgabe aktivieren') parser.add_argument('-vv', '--sehr-verbose', action='store_true', help='Sehr ausführliche Ausgabe aktivieren') parser.add_argument('-i', '--ignoriere-titel', nargs='+', default=[], help='Liste der zu ignorierenden Titel') parser.add_argument('-s', '--teilungs-ebene', type=int, default=1, help='Ebene, auf der das Dokument geteilt werden soll (Standard: 1)') parser.add_argument('-f', '--ignoriere-erste', action='store_true', help='Inhalt bis zur ersten Überschrift ignorieren') parser = argparse.ArgumentParser(description='Handle markdown files for MkDocs processing.') parser.add_argument('input', help='Input markdown file to process') parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose output') parser.add_argument('-vv', '--very-verbose', action='store_true', help='Enable very verbose output') parser.add_argument('-i', '--ignore-title', nargs='+', default=[], help='List of titles to ignore in the document (case insensitive)') parser.add_argument('-s', '--split-level', type=int, default=1, help='Level at which to split the document into clauses (default: 1)') parser.add_argument('-f', '--ignore-first', action='store_true', help='Ignore all clauses until the first heading is found') args = parser.parse_args() # Verbositätsebenen setzen # Set the verbosity levels based on command line arguments global verbose, veryVerbose verbose = args.verbose veryVerbose = args.sehr_verbose veryVerbose = args.very_verbose # Markdown-Datei verarbeiten # Handle the input file doc = analyseMarkdown(args.eingabe) # Dokument teilen und verarbeiten # Split the document into clauses based on the specified level doc.splitMarkdownDocument( ignoreTitles=args.ignoriere_titel, splitLevel=args.teilungs_ebene, ignoreUntilFirstHeading=args.ignoriere_erste ignoreTitles=args.ignore_title, splitLevel=args.split_level, ignoreUntilFirstHeading=args.ignore_first ) # Dokumentenelemente aktualisieren # Update links and footnotes doc.insertFootnotes() doc.updateLinks() doc.updateNotes() # Verarbeitetes Dokument ausgeben # Print the processed document for clause in doc.clauses: print(f"\n{'#' * clause.level} {clause.title}") for line in clause.lines: print(line.text, end='') if __name__ == '__main__': main() Loading