|
Doxygen
|
Classes | |
| struct | LinkRef |
Public Member Functions | |
| Private (const DString &fn, int line, int indent) | |
| DString | processQuotations (std::string_view data, size_t refIndent) |
| DString | processBlocks (std::string_view data, size_t indent) |
| DString | isBlockCommand (std::string_view data, size_t offset) |
| size_t | isSpecialCommand (std::string_view data, size_t offset) |
| size_t | findEndOfLine (std::string_view data, size_t offset) |
| int | processHtmlTagWrite (std::string_view data, size_t offset, bool doWrite) |
| Process a HTML tag. | |
| int | processHtmlTag (std::string_view data, size_t offset) |
| int | processEmphasis (std::string_view data, size_t offset) |
| int | processEmphasis1 (std::string_view data, char c) |
| process single emphasis | |
| int | processEmphasis2 (std::string_view data, char c) |
| process double emphasis | |
| int | processEmphasis3 (std::string_view data, char c) |
| Parsing triple emphasis. | |
| int | processNmdash (std::string_view data, size_t offset) |
| Process ndash and mdashes. | |
| int | processQuoted (std::string_view data, size_t offset) |
| Process quoted section "...", can contain one embedded newline. | |
| int | processCodeSpan (std::string_view data, size_t offset) |
| ` parsing a code span (assuming codespan != 0) | |
| int | processSpecialCommand (std::string_view data, size_t offset) |
| int | processLink (std::string_view data, size_t offset) |
| size_t | findEmphasisChar (std::string_view, char c, size_t c_size) |
| looks for the next emph char, skipping other constructs, and stopping when either it is found, or we are at the end of a paragraph. | |
| void | addStrEscapeUtf8Nbsp (std::string_view data) |
| void | processInline (std::string_view data) |
| void | writeMarkdownImage (std::string_view fmt, bool inline_img, bool explicitTitle, const DString &title, const DString &content, const DString &link, const DString &attributes, const FileDef *fd) |
| int | isHeaderline (std::string_view data, bool allowAdjustLevel) |
| returns whether the line is a setext-style hdr underline | |
| int | isAtxHeader (std::string_view data, DString &header, DString &id, bool allowAdjustLevel, bool *pIsIdGenerated=nullptr) |
| void | writeOneLineHeaderOrRuler (std::string_view data) |
| void | writeFencedCodeBlock (std::string_view data, std::string_view lang, size_t blockStart, size_t blockEnd) |
| size_t | writeBlockQuote (std::string_view data) |
| size_t | writeCodeBlock (std::string_view, size_t refIndent) |
| size_t | writeTableBlock (std::string_view data) |
| DString | extractTitleId (DString &title, int level, bool *pIsIdGenerated=nullptr) |
Public Attributes | |
| std::unordered_map< std::string, LinkRef > | linkRefs |
| DString | fileName |
| int | lineNr = 0 |
| int | indentLevel =0 |
| DString | out |
Definition at line 137 of file markdown.cpp.
|
inline |
| void Markdown::Private::addStrEscapeUtf8Nbsp | ( | std::string_view | data | ) |
Definition at line 1829 of file markdown.cpp.
References AUTO_TRACE, g_doxy_nbsp, g_utf8_nbsp, out, Portable::strnstr(), substitute(), and Trace::trunc().
Referenced by processSpecialCommand(), and writeFencedCodeBlock().
| DString Markdown::Private::extractTitleId | ( | DString & | title, |
| int | level, | ||
| bool * | pIsIdGenerated = nullptr ) |
Definition at line 2130 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, Config_getEnum, Config_getInt, fileName, AnchorGenerator::generate(), AnchorGenerator::instance(), DString::left(), lineNr, reg::search(), DString::str(), Trace::trunc(), and warn.
Referenced by isAtxHeader(), and processBlocks().
| size_t Markdown::Private::findEmphasisChar | ( | std::string_view | data, |
| char | c, | ||
| size_t | c_size ) |
looks for the next emph char, skipping other constructs, and stopping when either it is found, or we are at the end of a paragraph.
Definition at line 742 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, DString::data(), dstrncmp(), DString::empty(), ignoreCloseEmphChar(), isBlockCommand(), isIdChar(), DString::length(), and Trace::trunc().
Referenced by processEmphasis1(), processEmphasis2(), and processEmphasis3().
| size_t Markdown::Private::findEndOfLine | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 3161 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, DString::data(), dstrncmp(), DString::empty(), end(), isBlockCommand(), isNewline(), DString::length(), processHtmlTagWrite(), and Trace::trunc().
Referenced by processBlocks(), and processQuotations().
| int Markdown::Private::isAtxHeader | ( | std::string_view | data, |
| DString & | header, | ||
| DString & | id, | ||
| bool | allowAdjustLevel, | ||
| bool * | pIsIdGenerated = nullptr ) |
Definition at line 2162 of file markdown.cpp.
References DString::at(), AUTO_TRACE, AUTO_TRACE_EXIT, end(), extractTitleId(), indentLevel, DString::left(), DString::length(), SectionType::MaxLevel, DString::substr(), and Trace::trunc().
Referenced by writeOneLineHeaderOrRuler().
| DString Markdown::Private::isBlockCommand | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 395 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, end(), DString::size(), and Trace::trunc().
Referenced by findEmphasisChar(), findEndOfLine(), processBlocks(), and processSpecialCommand().
| int Markdown::Private::isHeaderline | ( | std::string_view | data, |
| bool | allowAdjustLevel ) |
returns whether the line is a setext-style hdr underline
Definition at line 1935 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, indentLevel, and Trace::trunc().
Referenced by processBlocks().
| size_t Markdown::Private::isSpecialCommand | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 465 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, end(), literal_at(), and Trace::trunc().
Referenced by processSpecialCommand().
| DString Markdown::Private::processBlocks | ( | std::string_view | data, |
| size_t | indent ) |
Definition at line 3432 of file markdown.cpp.
References AUTO_TRACE, codeBlockIndent, DString::data(), dstrncmp(), DString::empty(), end(), extractTitleId(), fileName, findEndOfLine(), isBlockCommand(), isCodeBlock(), isEmptyLine(), isEndOfList(), isFencedCodeBlock(), isHeaderline(), isLinkRef(), isListMarker(), isTableBlock(), DString::length(), lineNr, linkRefs, out, DString::substr(), Trace::trunc(), DString::view(), writeCodeBlock(), writeFencedCodeBlock(), writeOneLineHeaderOrRuler(), and writeTableBlock().
| int Markdown::Private::processCodeSpan | ( | std::string_view | data, |
| size_t | offset ) |
` parsing a code span (assuming codespan != 0)
Definition at line 1715 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, Config_getBool, end(), escapeSpecialChars(), isIdChar(), out, DString::substr(), and Trace::trunc().
Referenced by Markdown::fill_table().
| int Markdown::Private::processEmphasis | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 1155 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, extraChar(), isAllowedEmphStr(), isIdChar(), processEmphasis1(), processEmphasis2(), processEmphasis3(), and Trace::trunc().
Referenced by Markdown::fill_table().
| int Markdown::Private::processEmphasis1 | ( | std::string_view | data, |
| char | c ) |
process single emphasis
Definition at line 859 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, findEmphasisChar(), out, processInline(), and Trace::trunc().
Referenced by processEmphasis(), and processEmphasis3().
| int Markdown::Private::processEmphasis2 | ( | std::string_view | data, |
| char | c ) |
process double emphasis
Definition at line 893 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, findEmphasisChar(), out, processInline(), and Trace::trunc().
Referenced by processEmphasis(), and processEmphasis3().
| int Markdown::Private::processEmphasis3 | ( | std::string_view | data, |
| char | c ) |
Parsing triple emphasis.
Finds the first closing tag, and delegates to the other emph
Definition at line 925 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, findEmphasisChar(), out, processEmphasis1(), processEmphasis2(), processInline(), and Trace::trunc().
Referenced by processEmphasis().
| int Markdown::Private::processHtmlTag | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 1149 of file markdown.cpp.
References AUTO_TRACE, processHtmlTagWrite(), and Trace::trunc().
Referenced by Markdown::fill_table().
| int Markdown::Private::processHtmlTagWrite | ( | std::string_view | data, |
| size_t | offset, | ||
| bool | doWrite ) |
Process a HTML tag.
Note that
..
are treated specially, in the sense that all code inside is written unprocessed
Definition at line 1055 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, isIdChar(), DString::lower(), out, and Trace::trunc().
Referenced by findEndOfLine(), and processHtmlTag().
| void Markdown::Private::processInline | ( | std::string_view | data | ) |
Definition at line 1905 of file markdown.cpp.
References Markdown::actions, AUTO_TRACE, end(), out, and Trace::trunc().
Referenced by processEmphasis1(), processEmphasis2(), processEmphasis3(), and processLink().
| int Markdown::Private::processLink | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 1247 of file markdown.cpp.
References FileInfo::absFilePath(), AnchorGenerator::addPrefixIfNeeded(), DString::at(), AUTO_TRACE, AUTO_TRACE_EXIT, Mappers::cmdMapper, Config_getEnum, Config_getInt, DString::empty(), FileInfo::exists(), externalLinkTarget(), FileInfo::fileName(), fileName, DString::find(), FileNameLinkedMap::findFileDef(), getLanguageFromFileName(), Doxygen::imageNameLinkedMap, Portable::isAbsolutePath(), CommentScanner::isCommand(), isId(), FileInfo::isReadable(), isURL(), DString::left(), DString::length(), linkRefs, DString::lower(), SectionType::MaxLevel, DString::mid(), SectionType::MinLevel, DString::npos, out, processInline(), DString::setNum(), DString::simplifyWhiteSpace(), DString::str(), DString::stripWhiteSpace(), substitute(), DString::substr(), Trace::trunc(), UNKNOWN, and writeMarkdownImage().
Referenced by Markdown::fill_table().
| int Markdown::Private::processNmdash | ( | std::string_view | data, |
| size_t | offset ) |
Process ndash and mdashes.
Definition at line 987 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, literal_at(), out, and Trace::trunc().
Referenced by Markdown::fill_table().
| DString Markdown::Private::processQuotations | ( | std::string_view | data, |
| size_t | refIndent ) |
Definition at line 3264 of file markdown.cpp.
References AUTO_TRACE, Config_getBool, DString::data(), disspace(), dstrncmp(), end(), fileName, findEndOfLine(), isBlockQuote(), isEmptyLine(), PlantumlManager::isEnabled(), isEndOfList(), isFencedCodeBlock(), isListMarker(), DString::length(), lineNr, out, processSpecialCommand(), DString::startsWith(), DString::substr(), Trace::trunc(), DString::view(), warn, writeBlockQuote(), and writeFencedCodeBlock().
| int Markdown::Private::processQuoted | ( | std::string_view | data, |
| size_t | offset ) |
Process quoted section "...", can contain one embedded newline.
Definition at line 1031 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, out, and Trace::trunc().
Referenced by Markdown::fill_table().
| int Markdown::Private::processSpecialCommand | ( | std::string_view | data, |
| size_t | offset ) |
Definition at line 1842 of file markdown.cpp.
References addStrEscapeUtf8Nbsp(), AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, DString::data(), dstrncmp(), DString::empty(), isBlockCommand(), isSpecialCommand(), DString::length(), out, and Trace::trunc().
Referenced by Markdown::fill_table(), and processQuotations().
| size_t Markdown::Private::writeBlockQuote | ( | std::string_view | data | ) |
Definition at line 2933 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_ADD, AUTO_TRACE_EXIT, end(), g_quotationHeaderMap, isHRuler(), isListMarker(), DString::lower(), out, DString::str(), stripWhiteSpace(), and Trace::trunc().
Referenced by processQuotations().
| size_t Markdown::Private::writeCodeBlock | ( | std::string_view | data, |
| size_t | refIndent ) |
Definition at line 3089 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, codeBlockIndent, end(), out, skipOverFileAndLineCommands(), and Trace::trunc().
Referenced by processBlocks().
| void Markdown::Private::writeFencedCodeBlock | ( | std::string_view | data, |
| std::string_view | lang, | ||
| size_t | blockStart, | ||
| size_t | blockEnd ) |
Definition at line 3241 of file markdown.cpp.
References addStrEscapeUtf8Nbsp(), AUTO_TRACE, out, and Trace::trunc().
Referenced by processBlocks(), and processQuotations().
| void Markdown::Private::writeMarkdownImage | ( | std::string_view | fmt, |
| bool | inline_img, | ||
| bool | explicitTitle, | ||
| const DString & | title, | ||
| const DString & | content, | ||
| const DString & | link, | ||
| const DString & | attributes, | ||
| const FileDef * | fd ) |
Definition at line 1204 of file markdown.cpp.
References AUTO_TRACE, DString::empty(), escapeDoubleQuotes(), getFilteredImageAttributes(), DString::mid(), out, and Trace::trunc().
Referenced by processLink().
| void Markdown::Private::writeOneLineHeaderOrRuler | ( | std::string_view | data | ) |
Definition at line 2873 of file markdown.cpp.
References AUTO_TRACE, hasLineBreak(), isAtxHeader(), isHRuler(), out, SectionType::Paragraph, SectionType::Section, DString::sprintf(), SectionType::Subparagraph, SectionType::Subsection, SectionType::Subsubparagraph, SectionType::Subsubsection, and Trace::trunc().
Referenced by processBlocks().
| size_t Markdown::Private::writeTableBlock | ( | std::string_view | data | ) |
Definition at line 2654 of file markdown.cpp.
References AUTO_TRACE, AUTO_TRACE_EXIT, Center, end(), findTableColumns(), Left, markersToAlignment(), None, out, Right, DString::setNum(), and Trace::trunc().
Referenced by processBlocks().
| DString Markdown::Private::fileName |
Definition at line 183 of file markdown.cpp.
Referenced by extractTitleId(), Private(), processBlocks(), processLink(), and processQuotations().
| int Markdown::Private::indentLevel =0 |
Definition at line 185 of file markdown.cpp.
Referenced by isAtxHeader(), isHeaderline(), and Private().
| int Markdown::Private::lineNr = 0 |
Definition at line 184 of file markdown.cpp.
Referenced by extractTitleId(), Private(), processBlocks(), and processQuotations().
| std::unordered_map<std::string,LinkRef> Markdown::Private::linkRefs |
Definition at line 182 of file markdown.cpp.
Referenced by processBlocks(), and processLink().
| DString Markdown::Private::out |
Definition at line 186 of file markdown.cpp.
Referenced by addStrEscapeUtf8Nbsp(), processBlocks(), processCodeSpan(), processEmphasis1(), processEmphasis2(), processEmphasis3(), processHtmlTagWrite(), processInline(), processLink(), processNmdash(), processQuotations(), processQuoted(), processSpecialCommand(), writeBlockQuote(), writeCodeBlock(), writeFencedCodeBlock(), writeMarkdownImage(), writeOneLineHeaderOrRuler(), and writeTableBlock().