Add Markdown parsing in HTML to Markdown class.
| 421 | |
| 422 | |
| 423 | class MarkdownInHtmlExtension(Extension): |
| 424 | """Add Markdown parsing in HTML to Markdown class.""" |
| 425 | |
| 426 | def extendMarkdown(self, md): |
| 427 | """ Register the processors. |
| 428 | |
| 429 | | Class Instance | Registry | Name | Priority | |
| 430 | | --------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------ | :------: | |
| 431 | | [`HtmlBlockPreprocessor`][markdown.extensions.md_in_html.HtmlBlockPreprocessor] | [`preprocessors`][markdown.preprocessors.build_preprocessors] | `html_block` | `20` | |
| 432 | | [`MarkdownInHtmlProcessor`][markdown.extensions.md_in_html.MarkdownInHtmlProcessor] | [`blockprocessors`][markdown.blockprocessors.build_block_parser] | `markdown_block` | `105` | |
| 433 | | [`MarkdownInHTMLPostprocessor`][markdown.extensions.md_in_html.MarkdownInHTMLPostprocessor] | [`postprocessors`][markdown.postprocessors.build_postprocessors] | `raw_html` | `30` | |
| 434 | |
| 435 | """ |
| 436 | # flake8: noqa: E501 429-433 |
| 437 | # Replace raw HTML preprocessor |
| 438 | md.preprocessors.register(HtmlBlockPreprocessor(md), 'html_block', 20) |
| 439 | # Add `blockprocessor` which handles the placeholders for `etree` elements |
| 440 | md.parser.blockprocessors.register( |
| 441 | MarkdownInHtmlProcessor(md.parser), 'markdown_block', 105 |
| 442 | ) |
| 443 | # Replace raw HTML postprocessor |
| 444 | md.postprocessors.register(MarkdownInHTMLPostprocessor(md), 'raw_html', 30) |
| 445 | |
| 446 | |
| 447 | def makeExtension(**kwargs): # pragma: no cover |