Link Definitions
Wrap ampersands with `.
Wrap ampersands with `.
Process autolinks.
Process autolinks.
Process blockquotes.
Process blockquotes.
It is possible to have some nested block elements inside
blockquotes, so the contents is passed to runBlockGamut
after some
minor transformations.
Process code blocks.
Process code blocks.
Process code spans.
Process code spans.
Process EMs and STRONGs.
Process EMs and STRONGs.
Process both types of headers.
Process both types of headers.
Process horizontal rulers.
Process horizontal rulers.
Process images.
Process images.
Process inline links.
Process inline links.
Process manual linebreaks.
Process manual linebreaks.
Process ordered and unordered lists and list items..
Process ordered and unordered lists and list items..
It is possible to have some nested block elements inside
lists, so the contents is passed to runBlockGamut
after some
minor transformations.
Process user-defined macros.
Process user-defined macros.
Process reference-style links.
Process reference-style links.
Process SmartyPants stuff.
Process SmartyPants stuff.
Process user-defined macros.
Process user-defined macros.
Ampersands and less-than signes are encoded to &
and <
respectively.
Ampersands and less-than signes are encoded to &
and <
respectively.
All characters escaped with backslash are encoded to corresponding SGML entities.
All characters escaped with backslash are encoded to corresponding SGML entities.
Encodes specially-treated characters inside the HTML tags.
Encodes specially-treated characters inside the HTML tags.
All unsafe chars are encoded to SGML entities inside code blocks.
All unsafe chars are encoded to SGML entities inside code blocks.
Process autoemails in anti-bot manner.
Process autoemails in anti-bot manner.
All unsafe chars are encoded to SGML entities.
All unsafe chars are encoded to SGML entities.
At this point all HTML blocks should be hashified, so we treat all lines separated by more than 2 linebreaks as paragraphs.
At this point all HTML blocks should be hashified, so we treat all lines separated by more than 2 linebreaks as paragraphs.
All inline HTML blocks are hashified, so that no harm is done to their internals.
All inline HTML blocks are hashified, so that no harm is done to their internals.
All HTML comments are hashified too.
All HTML comments are hashified too.
Normalization includes following stuff:
Normalization includes following stuff:
* replace DOS- and Mac-specific line endings with \n
;
* replace tabs with spaces;
* reduce all blank lines (i.e. lines containing only spaces) to empty strings.
Block elements are processed within specified text
.
Block elements are processed within specified text
.
Span elements are processed within specified text
.
Span elements are processed within specified text
.
Standalone link definitions are added to the dictionary and then stripped from the document.
Standalone link definitions are added to the dictionary and then stripped from the document.
Macro definitions are stripped from the document.
Macro definitions are stripped from the document.
Transform the Markdown source into HTML.
We collect all processing logic within this class.