A growing implementation of Markdown-related utilities based on GitHub Flavored Markdown (GFM). More...
Classes | |
| class | sourcemeta::core::MarkdownError |
Functions | |
| SOURCEMETA_CORE_MARKDOWN_EXPORT auto | sourcemeta::core::markdown_to_html (const std::string_view input, const bool safe=true) -> std::string |
A growing implementation of Markdown-related utilities based on GitHub Flavored Markdown (GFM).
This functionality is included as follows:
| class sourcemeta::core::MarkdownError |
An error that represents a Markdown conversion that would exceed one of the bounds on the size of its output
| SOURCEMETA_CORE_MARKDOWN_EXPORT auto sourcemeta::core::markdown_to_html | ( | const std::string_view | input, |
| const bool | safe = true ) -> std::string |
Convert a Markdown string to an HTML fragment using GitHub Flavored Markdown (GFM) with all standard extensions enabled (tables, autolinks, strikethrough, tag filtering, and task lists). Raw HTML and dangerous links are suppressed by default, so the result is safe to render from untrusted input. Passing a false safe argument lets raw HTML and unsafe links pass through unchanged, which must only be done for trusted input. The specification lets link references and short table rows expand to an output far larger than the input, so the conversion throws MarkdownError once the rendered link references expand past the larger of 16 times the input size and 1,048,576 bytes, or once a table inserts more than 524,288 empty cells. For example: