|
Doxygen
|
Singleton that manages Mermaid diagram rendering via the mmdc CLI tool. More...
#include <src/mermaid.h>
Classes | |
| struct | MermaidDiagram |
Public Types | |
| enum class | OutputFormat { HTML , LaTeX , RTF , Docbook } |
| Mermaid output image formats. More... | |
| enum class | ImageFormat { PNG , SVG , PDF } |
| using | DiagramList = std::vector<MermaidDiagram> |
Public Member Functions | |
| void | setHasInlineDiagrams () |
| bool | hasInlineDiagrams () const |
| bool | needToRun () const |
| void | run () |
| Run mmdc tool for all collected diagrams. | |
| DString | writeMermaidSource (const DString &outDirArg, const DString &fileName, const DString &content, ImageFormat format, const DString &srcFile, int srcLine) |
| Write a Mermaid source file and register it for CLI rendering. | |
| void | generateMermaidOutput (const DString &baseName, const DString &outDir, ImageFormat format, bool toIndex) |
| Register a generated Mermaid image with the index. | |
Static Public Member Functions | |
| static MermaidManager & | instance () |
| static DString | imageExtension (ImageFormat imageFormat) |
| static ImageFormat | convertToImageFormat (OutputFormat outputFormat) |
Private Member Functions | |
| MermaidManager () | |
Private Attributes | |
| DiagramList | m_diagrams |
| bool | m_hasInlineDiagrams = false |
Singleton that manages Mermaid diagram rendering via the mmdc CLI tool.
| using MermaidManager::DiagramList = std::vector<MermaidDiagram> |
|
strong |
|
strong |
|
private |
|
static |
Definition at line 56 of file mermaid.cpp.
References Config_getBool, Docbook, getDotImageExtension(), HTML, LaTeX, PDF, PNG, RTF, and SVG.
Referenced by DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), DocbookDocVisitor::startMermaidFile(), LatexDocVisitor::startMermaidFile(), DocbookDocVisitor::writeMermaidFile(), HtmlDocVisitor::writeMermaidFile(), LatexDocVisitor::writeMermaidFile(), and RTFDocVisitor::writeMermaidFile().
| void MermaidManager::generateMermaidOutput | ( | const DString & | baseName, |
| const DString & | outDir, | ||
| ImageFormat | format, | ||
| bool | toIndex ) |
Register a generated Mermaid image with the index.
| [in] | baseName | the name of the generated file (as returned by writeMermaidSource()) |
| [in] | outDir | the directory containing the resulting image. |
| [in] | format | the image format that was generated. |
| [in] | toIndex | add the file to the index lists for htmlhelp / qhc etc. |
Definition at line 118 of file mermaid.cpp.
References IndexList::addImageFile(), imageExtension(), Doxygen::indexList, DString::mid(), DString::npos, and DString::rfind().
Referenced by DocbookDocVisitor::startMermaidFile(), LatexDocVisitor::startMermaidFile(), DocbookDocVisitor::writeMermaidFile(), HtmlDocVisitor::writeMermaidFile(), LatexDocVisitor::writeMermaidFile(), and RTFDocVisitor::writeMermaidFile().
|
inline |
|
static |
Definition at line 45 of file mermaid.cpp.
Referenced by generateMermaidOutput(), runMermaid(), DocbookDocVisitor::startMermaidFile(), LatexDocVisitor::startMermaidFile(), DocbookDocVisitor::writeMermaidFile(), HtmlDocVisitor::writeMermaidFile(), LatexDocVisitor::writeMermaidFile(), and RTFDocVisitor::writeMermaidFile().
|
static |
Definition at line 35 of file mermaid.cpp.
References MermaidManager().
Referenced by generateOutput(), handleFormatBlock(), handleMermaidFile(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), DocbookDocVisitor::startMermaidFile(), LatexDocVisitor::startMermaidFile(), substituteHtmlKeywords(), DocbookDocVisitor::writeMermaidFile(), HtmlDocVisitor::writeMermaidFile(), LatexDocVisitor::writeMermaidFile(), and RTFDocVisitor::writeMermaidFile().
|
inline |
| void MermaidManager::run | ( | ) |
Run mmdc tool for all collected diagrams.
Definition at line 252 of file mermaid.cpp.
References m_diagrams, Debug::Mermaid, Debug::print(), and runMermaid().
Referenced by generateOutput().
| void MermaidManager::setHasInlineDiagrams | ( | ) |
Definition at line 245 of file mermaid.cpp.
References Config_getEnum, and m_hasInlineDiagrams.
Referenced by handleFormatBlock(), and handleMermaidFile().
| DString MermaidManager::writeMermaidSource | ( | const DString & | outDirArg, |
| const DString & | fileName, | ||
| const DString & | content, | ||
| ImageFormat | format, | ||
| const DString & | srcFile, | ||
| int | srcLine ) |
Write a Mermaid source file and register it for CLI rendering.
| [in] | outDirArg | the output directory to write the file to. |
| [in] | fileName | the name of the file. If empty a name will be chosen automatically. |
| [in] | content | the Mermaid diagram source. |
| [in] | format | the image format to generate. |
| [in] | srcFile | the source file resulting in the write command. |
| [in] | srcLine | the line number resulting in the write command. |
Definition at line 72 of file mermaid.cpp.
References DString::at(), DString::data(), DString::DString(), DString::empty(), err_full, g_mermaidIndex, g_mermaidMutex, DString::left(), DString::length(), m_diagrams, Debug::Mermaid, MermaidDiagramInfo::MermaidDiagramInfo(), DString::npos, Portable::openOutputStream(), DString::prepend(), Debug::print(), DString::rfind(), and DString::setNum().
Referenced by DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), DocbookDocVisitor::startMermaidFile(), and LatexDocVisitor::startMermaidFile().
|
private |
Definition at line 91 of file mermaid.h.
Referenced by needToRun(), run(), and writeMermaidSource().
|
private |
Definition at line 92 of file mermaid.h.
Referenced by hasInlineDiagrams(), and setHasInlineDiagrams().