MD::Visitor Class
template <typename Trait> class MD::VisitorVisitor interface to walk through Document. More...
Header: | #include <md4qt/visitor.h> |
CMake: | find_package(md4qt REQUIRED COMPONENTS md4qt) target_link_libraries(mytarget PRIVATE md4qt::md4qt) |
Inherited By: | MD::details::AlgoVisitor, MD::details::HtmlVisitor, and MD::PosCache |
Public Functions
void | process(std::shared_ptr<MD::Document<Trait>> d) |
Protected Functions
virtual void | onAddLineEnding() = 0 |
virtual void | onAnchor(MD::Anchor<Trait> *a) = 0 |
virtual void | onBlockquote(MD::Blockquote<Trait> *b) |
virtual void | onCode(MD::Code<Trait> *c) = 0 |
virtual void | onFootnote(MD::Footnote<Trait> *f) |
virtual void | onFootnoteRef(MD::FootnoteRef<Trait> *ref) = 0 |
virtual void | onHeading(MD::Heading<Trait> *h) = 0 |
virtual void | onHorizontalLine(MD::HorizontalLine<Trait> *l) = 0 |
virtual void | onImage(MD::Image<Trait> *i) = 0 |
virtual void | onInlineCode(MD::Code<Trait> *c) = 0 |
virtual void | onLineBreak(MD::LineBreak<Trait> *b) = 0 |
virtual void | onLink(MD::Link<Trait> *l) = 0 |
virtual void | onList(MD::List<Trait> *l) = 0 |
virtual void | onListItem(MD::ListItem<Trait> *i, bool first) |
virtual void | onMath(MD::Math<Trait> *m) = 0 |
virtual void | onParagraph(MD::Paragraph<Trait> *p, bool wrap) |
virtual void | onRawHtml(MD::RawHtml<Trait> *h) = 0 |
virtual void | onTable(MD::Table<Trait> *t) = 0 |
virtual void | onTableCell(MD::TableCell<Trait> *c) |
virtual void | onText(MD::Text<Trait> *t) = 0 |
virtual void | onUserDefined(MD::Item<Trait> *item) |
Protected Variables
typename Trait::template Vector<typename Trait::String> | m_anchors |
std::shared_ptr<MD::Document<Trait>> | m_doc |
Detailed Description
Member Function Documentation
[pure virtual protected]
void Visitor::onAddLineEnding()
For some generator it's important to keep line endings like they were in Markdown. So onParagraph() method invokes this method when necessary to add line ending.
[pure virtual protected]
void Visitor::onAnchor(MD::Anchor<Trait> *a)
Handle anchor.
a Anchor.
[virtual protected]
void Visitor::onBlockquote(MD::Blockquote<Trait> *b)
Handle blockquote.
b Blockquote.
[pure virtual protected]
void Visitor::onCode(MD::Code<Trait> *c)
Handle code.
c Code.
[virtual protected]
void Visitor::onFootnote(MD::Footnote<Trait> *f)
Handle footnote.
f Footnote.
[pure virtual protected]
void Visitor::onFootnoteRef(MD::FootnoteRef<Trait> *ref)
Handle footnote reference.
ref Footnote reference.
[pure virtual protected]
void Visitor::onHeading(MD::Heading<Trait> *h)
Handle heading.
h Heading.
[pure virtual protected]
void Visitor::onHorizontalLine(MD::HorizontalLine<Trait> *l)
Handle horizontal line.
l Horizontal line.
[pure virtual protected]
void Visitor::onImage(MD::Image<Trait> *i)
Handle image.
i Image.
[pure virtual protected]
void Visitor::onInlineCode(MD::Code<Trait> *c)
Handle inline code.
c Code
[pure virtual protected]
void Visitor::onLineBreak(MD::LineBreak<Trait> *b)
Handle line break.
b Line break.
[pure virtual protected]
void Visitor::onLink(MD::Link<Trait> *l)
Handle link.
l Link.
[pure virtual protected]
void Visitor::onList(MD::List<Trait> *l)
Handle list.
l List.
[virtual protected]
void Visitor::onListItem(MD::ListItem<Trait> *i, bool first)
Handle list item.
i List item.
first Is this item first in the list?
[pure virtual protected]
void Visitor::onMath(MD::Math<Trait> *m)
Handle LaTeX math expression.
m Math.
[virtual protected]
void Visitor::onParagraph(MD::Paragraph<Trait> *p, bool wrap)
Handle paragraph.
p Paragraph.
wrap Wrap this paragraph with something or no? It's useful to not wrap standalone paragraph in list item, for example.
[pure virtual protected]
void Visitor::onRawHtml(MD::RawHtml<Trait> *h)
Handle raw HTML.
h Raw HTML.
[pure virtual protected]
void Visitor::onTable(MD::Table<Trait> *t)
Handle table.
t Table.
[virtual protected]
void Visitor::onTableCell(MD::TableCell<Trait> *c)
Handle table cell.
c Table cell.
[pure virtual protected]
void Visitor::onText(MD::Text<Trait> *t)
Handle text item.
t Text.
[virtual protected]
void Visitor::onUserDefined(MD::Item<Trait> *item)
Handle user-defined item.
item Item.
void Visitor::process(std::shared_ptr<MD::Document<Trait>> d)
Walk through the document.
d Markdown document.
Member Variable Documentation
typename Trait::template Vector<typename Trait::String> Visitor::m_anchors
All available m_anchors in the document.
std::shared_ptr<MD::Document<Trait>> Visitor::m_doc
Document.