Skip to content

program‐flow

GitHub Action edited this page Apr 29, 2025 · 14 revisions
flowchart TD
start["new Markdown2PdfConverter(options)"] --> Converter
Converter["converter.Convert()"] --> BeforeHtml
subgraph Convert["Convert Document"]
    subgraph Html["Generate Html"]
        BeforeHtml -.-> AddToc["TOC: Add TOC-Html to Markdown"]
        BeforeHtml{{"BeforeHtmlConversion-Event"}} --> Markdig
        Markdig["Create Markdig-Pipeline"] --> ToHtml
        ToHtml["Document to Html (Creates Document Body)"] --> TemplateModelEvent
        TemplateModelEvent{{"OnTemplateModelCreating-Event"}} -.-> AddMetadata["Add Metadata to T."]
        TemplateModelEvent -.-> AddModules["Add Modules to T."]
        TemplateModelEvent -.-> AddTocStyles["TOC: Add Styles to T."]
        TemplateModelEvent -.-> AddTheme["Add Theme to T."]
        TemplateModelEvent --> CreateTemplateModel
        CreateTemplateModel["Create Template Model"] --> FillTemplate
    end
    subgraph PDF["Generate PDF"]
        FillTemplate["Fill Template (Also adds Body)"] --> ToPdf
        ToPdf["Document to PDF"] --> IsTemp
        IsTemp{Is Temp PDF} -- Yes --> TempPdfEvent
        TempPdfEvent{{OnTempPdfCreated-Event}} -.-> TocPageNumbers["TOC: Read Page Numbers from Pdf"]
    end
    TempPdfEvent --> RepeatConversion
end
RepeatConversion["Repeat Convert Document"] --> ReturnPdf
IsTemp -- No --> ReturnPdf
Loading

Clone this wiki locally