API Reference¶
Blazingly fast Markdown parser.
Extensions ¶
Bases: IntFlag
IntFlag containing flags for enabling Markdown extensions.
Examples:
All extensions:
extensions = (
pyromark.Extensions.ENABLE_TABLES
| pyromark.Extensions.ENABLE_FOOTNOTES
| pyromark.Extensions.ENABLE_STRIKETHROUGH
| pyromark.Extensions.ENABLE_TASKLISTS
| pyromark.Extensions.ENABLE_SMART_PUNCTUATION
| pyromark.Extensions.ENABLE_HEADING_ATTRIBUTES
| pyromark.Extensions.ENABLE_YAML_STYLE_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_OLD_FOOTNOTES
| pyromark.Extensions.ENABLE_MATH
| pyromark.Extensions.ENABLE_GFM
)
ENABLE_TABLES class-attribute
instance-attribute
¶
ENABLE_TABLES = 1 << 1
ENABLE_FOOTNOTES class-attribute
instance-attribute
¶
ENABLE_FOOTNOTES = 1 << 2
ENABLE_STRIKETHROUGH class-attribute
instance-attribute
¶
ENABLE_STRIKETHROUGH = 1 << 3
ENABLE_TASKLISTS class-attribute
instance-attribute
¶
ENABLE_TASKLISTS = 1 << 4
ENABLE_SMART_PUNCTUATION class-attribute
instance-attribute
¶
ENABLE_SMART_PUNCTUATION = 1 << 5
Converts some characters to their HTML equivalents:
Character | Replacements |
---|---|
' | ‘ ’ |
" | “ ” |
... | … |
-- | – |
--- | — |
ENABLE_HEADING_ATTRIBUTES class-attribute
instance-attribute
¶
ENABLE_HEADING_ATTRIBUTES = 1 << 6
ENABLE_YAML_STYLE_METADATA_BLOCKS class-attribute
instance-attribute
¶
ENABLE_YAML_STYLE_METADATA_BLOCKS = 1 << 7
ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS class-attribute
instance-attribute
¶
ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS = 1 << 8
ENABLE_OLD_FOOTNOTES class-attribute
instance-attribute
¶
ENABLE_OLD_FOOTNOTES = 1 << 9 | 1 << 2
ENABLE_MATH class-attribute
instance-attribute
¶
ENABLE_MATH = 1 << 10
ENABLE_GFM class-attribute
instance-attribute
¶
ENABLE_GFM = 1 << 11
Markdown ¶
Markdown(*, extensions: Extensions | None = None)
Examples:
md = pyromark.Markdown(
# Optional, include the ones you want
extensions=(
pyromark.Extensions.ENABLE_TABLES
| pyromark.Extensions.ENABLE_FOOTNOTES
| pyromark.Extensions.ENABLE_STRIKETHROUGH
| pyromark.Extensions.ENABLE_TASKLISTS
| pyromark.Extensions.ENABLE_SMART_PUNCTUATION
| pyromark.Extensions.ENABLE_HEADING_ATTRIBUTES
| pyromark.Extensions.ENABLE_YAML_STYLE_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_OLD_FOOTNOTES
| pyromark.Extensions.ENABLE_MATH
| pyromark.Extensions.ENABLE_GFM
)
)
markdown builtin
¶
markdown(text: str, *, extensions: Extensions | None = None) -> str
Examples:
html = pyromark.markdown(
"# Hello world",
# Optional, include the ones you want
extensions=(
pyromark.Extensions.ENABLE_TABLES
| pyromark.Extensions.ENABLE_FOOTNOTES
| pyromark.Extensions.ENABLE_STRIKETHROUGH
| pyromark.Extensions.ENABLE_TASKLISTS
| pyromark.Extensions.ENABLE_SMART_PUNCTUATION
| pyromark.Extensions.ENABLE_HEADING_ATTRIBUTES
| pyromark.Extensions.ENABLE_YAML_STYLE_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_PLUSES_DELIMITED_METADATA_BLOCKS
| pyromark.Extensions.ENABLE_OLD_FOOTNOTES
| pyromark.Extensions.ENABLE_MATH
| pyromark.Extensions.ENABLE_GFM
)
)
assert html == "<h1>Hello world</h1>\n"