Options

Struct Options 

Source
pub struct Options<'a> {
Show 18 fields pub newlines_after_headline: usize, pub newlines_after_paragraph: usize, pub newlines_after_codeblock: usize, pub newlines_after_htmlblock: usize, pub newlines_after_table: usize, pub newlines_after_rule: usize, pub newlines_after_list: usize, pub newlines_after_blockquote: usize, pub newlines_after_rest: usize, pub newlines_after_metadata: usize, pub code_block_token_count: usize, pub code_block_token: char, pub list_token: char, pub ordered_list_token: char, pub increment_ordered_list_bullets: bool, pub emphasis_token: char, pub strong_token: &'a str, pub use_html_for_super_sub_script: bool,
}
Expand description

Configuration for the cmark_with_options() and cmark_resume_with_options() functions. The defaults should provide decent spacing and most importantly, will provide a faithful rendering of your markdown document particularly when rendering it to HTML.

It’s best used with its Options::default() implementation.

Fields§

§newlines_after_headline: usize

The number of newlines to insert after a headline

§newlines_after_paragraph: usize

The number of newlines to insert after a paragraph

§newlines_after_codeblock: usize

The number of newlines to insert after a code block

§newlines_after_htmlblock: usize

The number of newlines to insert after an HTML block

§newlines_after_table: usize

The number of newlines to insert after a table

§newlines_after_rule: usize

The number of newlines to insert after a horizontal rule

§newlines_after_list: usize

The number of newlines to insert after a list

§newlines_after_blockquote: usize

The number of newlines to insert after a block quote

§newlines_after_rest: usize

The number of newlines to insert after other elements

§newlines_after_metadata: usize

The amount of newlines placed after TOML or YAML metadata blocks at the beginning of a document.

§code_block_token_count: usize

Token count for fenced code block. An appropriate value of this field can be decided by calculate_code_block_token_count(). Note that the default value is 4 which allows for one level of nested code-blocks, which is typically a safe value for common kinds of markdown documents.

§code_block_token: char

The character to use for code block fences (backtick or tilde)

§list_token: char

The character to use for unordered list items

§ordered_list_token: char

The character to use after ordered list numbers (e.g., ‘.’ for 1.)

§increment_ordered_list_bullets: bool

Whether to increment the number for each ordered list item

§emphasis_token: char

The character to use for emphasis (italic)

§strong_token: &'a str

The string to use for strong emphasis (bold)

§use_html_for_super_sub_script: bool

If true (default) then use HTML tags <sup> and <sub>. If false, use the Markdown symbols ^ and ~ instead.

If you use ENABLE_SUPERSCRIPT and ENABLE_SUBSCRIPT when parsing, then you might need this in order to round-trip Markdown byte-for-byte, with knowledge of whether the parsed documents use <sub>/<sup> or ^/~ instead.

Implementations§

Source§

impl Options<'_>

Source

pub fn special_characters(&self) -> Cow<'static, str>

Returns the set of special characters that need escaping based on the current options.

Trait Implementations§

Source§

impl<'a> Clone for Options<'a>

Source§

fn clone(&self) -> Options<'a>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Debug for Options<'a>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Options<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'a> Hash for Options<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a> Ord for Options<'a>

Source§

fn cmp(&self, other: &Options<'a>) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl<'a> PartialEq for Options<'a>

Source§

fn eq(&self, other: &Options<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'a> PartialOrd for Options<'a>

Source§

fn partial_cmp(&self, other: &Options<'a>) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl<'a> Eq for Options<'a>

Source§

impl<'a> StructuralPartialEq for Options<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Options<'a>

§

impl<'a> RefUnwindSafe for Options<'a>

§

impl<'a> Send for Options<'a>

§

impl<'a> Sync for Options<'a>

§

impl<'a> Unpin for Options<'a>

§

impl<'a> UnwindSafe for Options<'a>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.