pub struct Constructs {Show 29 fields
pub attention: bool,
pub autolink: bool,
pub block_quote: bool,
pub character_escape: bool,
pub character_reference: bool,
pub code_indented: bool,
pub code_fenced: bool,
pub code_text: bool,
pub definition: bool,
pub frontmatter: bool,
pub autolink_literal: bool,
pub footnote_definition: bool,
pub label_start_footnote: bool,
pub strikethrough: bool,
pub table: bool,
pub task_list_item: bool,
pub hard_break_escape: bool,
pub hard_break_trailing: bool,
pub heading_atx: bool,
pub heading_setext: bool,
pub html_flow: bool,
pub html_text: bool,
pub label_start_image: bool,
pub label_start_link: bool,
pub label_end: bool,
pub list_item: bool,
pub math_flow: bool,
pub math_text: bool,
pub thematic_break: bool,
}Expand description
Control which constructs are enabled.
Not all constructs can be configured. Notably, blank lines and paragraphs cannot be turned off.
§Examples
use base_markdown::Constructs;
// Use the default trait to get `CommonMark` constructs:
let commonmark = Constructs::default();
// To turn on all of GFM, use the `gfm` method:
let gfm = Constructs::gfm();
// Or, mix and match:
let custom = Constructs {
math_flow: true,
math_text: true,
..Constructs::gfm()
};Fields§
§attention: boolAttention.
> | a *b* c **d**.
^^^ ^^^^^autolink: boolAutolink.
> | a <https://example.com> b <user@example.org>.
^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^block_quote: boolBlock quote.
> | > a
^^^character_escape: boolCharacter escape.
> | a \* b
^^character_reference: boolCharacter reference.
> | a & b
^^^^^code_indented: boolCode (indented).
> | a
^^^^^code_fenced: boolCode (fenced).
> | ~~~js
^^^^^
> | console.log(1)
^^^^^^^^^^^^^^
> | ~~~
^^^code_text: boolCode (text).
> | a `b` c
^^^definition: boolDefinition.
> | [a]: b "c"
^^^^^^^^^^frontmatter: boolFrontmatter with an unindented opening fence on the first document line, outside list items and blockquotes, and a matching closing fence.
All forms produce a source-backed opaque node with NodeSyntax::Frontmatter metadata.
Untagged --- and +++ imply YAML and TOML. A format hint after either
delimiter, or a language-tagged backtick/tilde code fence, supplies an
explicit language. The parser preserves the raw body and authored info
string; HTML omits the frontmatter.
> | ---
^^^
> | title: Neptune
^^^^^^^^^^^^^^
> | ---
^^^autolink_literal: boolAutolink literal.
> | https://example.com
^^^^^^^^^^^^^^^^^^^footnote_definition: boolFootnote definition.
> | [^a]: b
^^^^^^^label_start_footnote: boolFootnote label start.
> | a[^b]
^^strikethrough: boolStrikethrough.
> | a ~b~ c.
^^^table: boolTable.
> | | a |
^^^^^
> | | - |
^^^^^
> | | b |
^^^^^task_list_item: boolTask list item.
> | * [x] y.
^^^hard_break_escape: boolHard break (escape).
> | a\
^
| bhard_break_trailing: boolHard break (trailing).
> | a␠␠
^^
| bheading_atx: boolHeading (atx).
> | # a
^^^heading_setext: boolHeading (setext).
> | a
^^
> | ==
^^html_flow: boolHTML (flow).
> | <div>
^^^^^html_text: boolHTML (text).
> | a <b> c
^^^label_start_image: boolLabel start (image).
> | a  d
^^label_start_link: boolLabel start (link).
> | a [b](c) d
^label_end: boolLabel end.
> | a [b](c) d
^^^^list_item: boolList items.
> | * a
^^^math_flow: boolMath (flow).
> | $$
^^
> | \frac{1}{2}
^^^^^^^^^^^
> | $$
^^math_text: boolMath (text).
> | a $b$ c
^^^thematic_break: boolThematic break.
> | ***
^^^Implementations§
Source§impl Constructs
impl Constructs
Sourcepub fn gfm() -> Self
pub fn gfm() -> Self
GFM.
GFM stands for GitHub flavored markdown.
GFM extends CommonMark and adds support for autolink literals,
footnotes, strikethrough, tables, and tasklists.
For more information, see the GFM specification: https://github.github.com/gfm/.
Trait Implementations§
Source§impl Clone for Constructs
impl Clone for Constructs
Source§impl Debug for Constructs
impl Debug for Constructs
Source§impl Default for Constructs
impl Default for Constructs
Source§fn default() -> Self
fn default() -> Self
CommonMark.
CommonMark is a relatively strong specification of how markdown
works.
Most markdown parsers try to follow it.
For more information, see the CommonMark specification:
https://spec.commonmark.org.