MarkdownExtensions Class

Provides extension methods for MarkdownPipelineBuilder to enable several Markdown extensions.

public static class MarkdownExtensions

Methods

NameDescription
Configure(MarkdownPipelineBuilder, string?)Configures the pipeline using a string that defines the extensions to activate.
ConfigureNewLine(MarkdownPipelineBuilder, string)Configures the string to be used for line-endings, when writing.
DisableHeadings(MarkdownPipelineBuilder)Disables parsing of ATX and Setex headings
DisableHtml(MarkdownPipelineBuilder)This will disable the HTML support in the markdown processor (for constraint/safe parsing).
EnableTrackTrivia(MarkdownPipelineBuilder)Enables parsing and tracking of trivia characters
Use<TExtension>(MarkdownPipelineBuilder)Adds the specified extension to the extensions collection.
Use<TExtension>(MarkdownPipelineBuilder, TExtension)Adds the specified extension instance to the extensions collection.
UseAbbreviations(MarkdownPipelineBuilder)Uses the custom abbreviation extension.
UseAdvancedExtensions(MarkdownPipelineBuilder)Uses all extensions except the BootStrap, Emoji, SmartyPants and soft line as hard line breaks extensions.
UseAlertBlocks(MarkdownPipelineBuilder, Action<HtmlRenderer, StringSlice>?, bool)Uses this extension to enable alert blocks.
UseAutoIdentifiers(MarkdownPipelineBuilder, AutoIdentifierOptions)Uses the auto-identifier extension.
UseAutoLinks(MarkdownPipelineBuilder, AutoLinkOptions?)Uses this extension to enable autolinks from text `http://`, `https://`, `ftp://`, `mailto:`, `www.xxx.yyy`
UseBootstrap(MarkdownPipelineBuilder)Uses the bootstrap extension.
UseCitations(MarkdownPipelineBuilder)Uses the cite extension.
UseCjkFriendlyEmphasis(MarkdownPipelineBuilder)Enables CJK-friendly emphasis. ** around punctuation in CJK text will be much more likely to be parsed as emphasis as intended.
UseCustomContainers(MarkdownPipelineBuilder)Uses the custom container extension.
UseDefinitionLists(MarkdownPipelineBuilder)Uses the definition lists extension.
UseDiagrams(MarkdownPipelineBuilder)Uses the diagrams extension
UseEmojiAndSmiley(MarkdownPipelineBuilder, EmojiMapping)Uses the emojis and smileys extension.
UseEmojiAndSmiley(MarkdownPipelineBuilder, bool)Uses the emojis and smileys extension.
UseEmphasisExtras(MarkdownPipelineBuilder, EmphasisExtraOptions)Uses the strikethrough superscript, subscript, inserted and marked text extensions.
UseFigures(MarkdownPipelineBuilder)Uses the figure extension.
UseFooters(MarkdownPipelineBuilder)Uses the footer extension.
UseFootnotes(MarkdownPipelineBuilder)Uses the footnotes extension.
UseGenericAttributes(MarkdownPipelineBuilder, Func<string, bool>?)Uses the generic attributes extension.
UseGlobalization(MarkdownPipelineBuilder)Adds support for right-to-left content by adding appropriate html attribtues.
UseGridTables(MarkdownPipelineBuilder)Uses the grid table extension.
UseJiraLinks(MarkdownPipelineBuilder, JiraLinkOptions)Automatically link references to JIRA issues
UseListExtras(MarkdownPipelineBuilder)Uses the list extra extension to add support for `a.`, `A.`, `i.` and `I.` ordered list items.
UseMathematics(MarkdownPipelineBuilder)Uses the math extension.
UseMediaLinks(MarkdownPipelineBuilder, MediaOptions?)Uses the media extension.
UseNonAsciiNoEscape(MarkdownPipelineBuilder)Uses this extension to disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE.
UsePipeTables(MarkdownPipelineBuilder, PipeTableOptions?)Uses the pipe table extension.
UsePragmaLines(MarkdownPipelineBuilder)Uses pragma lines to output span with an id containing the line number (pragma-line#line_number_zero_based`)
UsePreciseSourceLocation(MarkdownPipelineBuilder)Uses precise source code location (useful for syntax highlighting).
UseReferralLinks(MarkdownPipelineBuilder, string[])Performs the use referral links operation.
UseSmartyPants(MarkdownPipelineBuilder, SmartyPantOptions?)Uses the SmartyPants extension.
UseSoftlineBreakAsHardlineBreak(MarkdownPipelineBuilder)Uses the softline break as hardline break extension
UseTaskLists(MarkdownPipelineBuilder)Uses the task list extension.
UseYamlFrontMatter(MarkdownPipelineBuilder)Uses YAML frontmatter extension that will parse a YAML frontmatter into the MarkdownDocument. Note that they are not rendered by any default HTML renderer.

Configure(MarkdownPipelineBuilder, string?)

MarkdownExtensions.cs

Configures the pipeline using a string that defines the extensions to activate.

public static MarkdownPipelineBuilder Configure(this MarkdownPipelineBuilder pipeline, string? extensions)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline (e.g: advanced for MarkdownExtensions.UseAdvancedExtensions, pipetables+gridtables for MarkdownExtensions.UsePipeTables and MarkdownExtensions.UseGridTables
extensions string?
The extensions to activate as a string

Returns

MarkdownPipelineBuilder The modified pipeline

ConfigureNewLine(MarkdownPipelineBuilder, string)

MarkdownExtensions.cs

Configures the string to be used for line-endings, when writing.

public static MarkdownPipelineBuilder ConfigureNewLine(this MarkdownPipelineBuilder pipeline, string newLine)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
newLine string
The string to be used for line-endings.

Returns

MarkdownPipelineBuilder The modified pipeline

DisableHeadings(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Disables parsing of ATX and Setex headings

public static MarkdownPipelineBuilder DisableHeadings(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

DisableHtml(MarkdownPipelineBuilder)

MarkdownExtensions.cs

This will disable the HTML support in the markdown processor (for constraint/safe parsing).

public static MarkdownPipelineBuilder DisableHtml(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

EnableTrackTrivia(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Enables parsing and tracking of trivia characters

public static MarkdownPipelineBuilder EnableTrackTrivia(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder he modified pipeline

Use overloads

Use<TExtension>(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Adds the specified extension to the extensions collection.

public static MarkdownPipelineBuilder Use<TExtension>(this MarkdownPipelineBuilder pipeline) where TExtension : class, IMarkdownExtension, new()
Type parameters
TExtension
The type of the extension.
Parameters
pipeline MarkdownPipelineBuilder
Returns

MarkdownPipelineBuilder The instance of MarkdownPipelineBuilder

Use<TExtension>(MarkdownPipelineBuilder, TExtension)

MarkdownExtensions.cs

Adds the specified extension instance to the extensions collection.

public static MarkdownPipelineBuilder Use<TExtension>(this MarkdownPipelineBuilder pipeline, TExtension extension) where TExtension : class, IMarkdownExtension
Type parameters
TExtension
The type of the extension.
Parameters
pipeline MarkdownPipelineBuilder
The pipeline.
extension TExtension
The instance of the extension to be added.
Returns

MarkdownPipelineBuilder The modified pipeline

UseAbbreviations(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the custom abbreviation extension.

public static MarkdownPipelineBuilder UseAbbreviations(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseAdvancedExtensions(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses all extensions except the BootStrap, Emoji, SmartyPants and soft line as hard line breaks extensions.

public static MarkdownPipelineBuilder UseAdvancedExtensions(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseAlertBlocks(MarkdownPipelineBuilder, Action<HtmlRenderer, StringSlice>?, bool)

MarkdownExtensions.cs

Uses this extension to enable alert blocks.

public static MarkdownPipelineBuilder UseAlertBlocks(this MarkdownPipelineBuilder pipeline, Action<HtmlRenderer, StringSlice>? renderKind = null, bool allowNestedAlerts = false)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
renderKind Action<HtmlRenderer, StringSlice>?
Replace the default renderer for the kind with a custom renderer.
allowNestedAlerts bool
Allow alerts to be nested inside other blocks (e.g. inside a blockquote or a list item). Alerts inside another alert are never allowed. Default is false.

Returns

MarkdownPipelineBuilder The modified pipeline

UseAutoIdentifiers(MarkdownPipelineBuilder, AutoIdentifierOptions)

MarkdownExtensions.cs

Uses the auto-identifier extension.

public static MarkdownPipelineBuilder UseAutoIdentifiers(this MarkdownPipelineBuilder pipeline, AutoIdentifierOptions options = AutoIdentifierOptions.Default)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options AutoIdentifierOptions
The options.

Returns

MarkdownPipelineBuilder The modified pipeline

UseAutoLinks(MarkdownPipelineBuilder, AutoLinkOptions?)

MarkdownExtensions.cs

Uses this extension to enable autolinks from text `http://`, `https://`, `ftp://`, `mailto:`, `www.xxx.yyy`

public static MarkdownPipelineBuilder UseAutoLinks(this MarkdownPipelineBuilder pipeline, AutoLinkOptions? options = null)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options AutoLinkOptions?
The options.

Returns

MarkdownPipelineBuilder The modified pipeline

UseBootstrap(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the bootstrap extension.

public static MarkdownPipelineBuilder UseBootstrap(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseCitations(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the cite extension.

public static MarkdownPipelineBuilder UseCitations(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseCjkFriendlyEmphasis(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Enables CJK-friendly emphasis. ** around punctuation in CJK text will be much more likely to be parsed as emphasis as intended.

public static MarkdownPipelineBuilder UseCjkFriendlyEmphasis(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline

Returns

MarkdownPipelineBuilder The modified pipeline

UseCustomContainers(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the custom container extension.

public static MarkdownPipelineBuilder UseCustomContainers(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseDefinitionLists(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the definition lists extension.

public static MarkdownPipelineBuilder UseDefinitionLists(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseDiagrams(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the diagrams extension

public static MarkdownPipelineBuilder UseDiagrams(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseEmojiAndSmiley overloads

UseEmojiAndSmiley(MarkdownPipelineBuilder, EmojiMapping)

MarkdownExtensions.cs

Uses the emojis and smileys extension.

public static MarkdownPipelineBuilder UseEmojiAndSmiley(this MarkdownPipelineBuilder pipeline, EmojiMapping customEmojiMapping)
Parameters
pipeline MarkdownPipelineBuilder
The pipeline.
customEmojiMapping EmojiMapping
Enable customization of the emojis and smileys mapping.
Returns

MarkdownPipelineBuilder The modified pipeline

UseEmojiAndSmiley(MarkdownPipelineBuilder, bool)

MarkdownExtensions.cs

Uses the emojis and smileys extension.

public static MarkdownPipelineBuilder UseEmojiAndSmiley(this MarkdownPipelineBuilder pipeline, bool enableSmileys = true)
Parameters
pipeline MarkdownPipelineBuilder
The pipeline.
enableSmileys bool
Enable smileys in addition to emoji shortcodes, true by default.
Returns

MarkdownPipelineBuilder The modified pipeline

UseEmphasisExtras(MarkdownPipelineBuilder, EmphasisExtraOptions)

MarkdownExtensions.cs

Uses the strikethrough superscript, subscript, inserted and marked text extensions.

public static MarkdownPipelineBuilder UseEmphasisExtras(this MarkdownPipelineBuilder pipeline, EmphasisExtraOptions options = EmphasisExtraOptions.Default)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options EmphasisExtraOptions
The options to enable.

Returns

MarkdownPipelineBuilder The modified pipeline

UseFigures(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the figure extension.

public static MarkdownPipelineBuilder UseFigures(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseFooters(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the footer extension.

public static MarkdownPipelineBuilder UseFooters(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseFootnotes(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the footnotes extension.

public static MarkdownPipelineBuilder UseFootnotes(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseGenericAttributes(MarkdownPipelineBuilder, Func<string, bool>?)

MarkdownExtensions.cs

Uses the generic attributes extension.

public static MarkdownPipelineBuilder UseGenericAttributes(this MarkdownPipelineBuilder pipeline, Func<string, bool>? attributeFilter = null)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
attributeFilter Func<string, bool>?
Decides whether an attribute parsed from the Markdown (other than the id and the classes) is written to the HTML. When null, the filter is left unchanged: by default, GenericAttributesExtension.IsSafeAttributeName removes the event handlers and the attributes that hold a URL.

Returns

MarkdownPipelineBuilder The modified pipeline

UseGlobalization(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Adds support for right-to-left content by adding appropriate html attribtues.

public static MarkdownPipelineBuilder UseGlobalization(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline

Returns

MarkdownPipelineBuilder The modified pipeline

UseGridTables(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the grid table extension.

public static MarkdownPipelineBuilder UseGridTables(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseJiraLinks(MarkdownPipelineBuilder, JiraLinkOptions)

MarkdownExtensions.cs

Automatically link references to JIRA issues

public static MarkdownPipelineBuilder UseJiraLinks(this MarkdownPipelineBuilder pipeline, JiraLinkOptions options)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline
options JiraLinkOptions
Set of required options

Returns

MarkdownPipelineBuilder The modified pipeline

UseListExtras(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the list extra extension to add support for `a.`, `A.`, `i.` and `I.` ordered list items.

public static MarkdownPipelineBuilder UseListExtras(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseMathematics(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the math extension.

public static MarkdownPipelineBuilder UseMathematics(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseMediaLinks(MarkdownPipelineBuilder, MediaOptions?)

MarkdownExtensions.cs

Uses the media extension.

public static MarkdownPipelineBuilder UseMediaLinks(this MarkdownPipelineBuilder pipeline, MediaOptions? options = null)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options MediaOptions?
The options.

Returns

MarkdownPipelineBuilder The modified pipeline

UseNonAsciiNoEscape(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses this extension to disable URI escape with % characters for non-US-ASCII characters in order to workaround a bug under IE/Edge with local file links containing non US-ASCII chars. DO NOT USE OTHERWISE.

public static MarkdownPipelineBuilder UseNonAsciiNoEscape(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UsePipeTables(MarkdownPipelineBuilder, PipeTableOptions?)

MarkdownExtensions.cs

Uses the pipe table extension.

public static MarkdownPipelineBuilder UsePipeTables(this MarkdownPipelineBuilder pipeline, PipeTableOptions? options = null)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options PipeTableOptions?
The options.

Returns

MarkdownPipelineBuilder The modified pipeline

UsePragmaLines(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses pragma lines to output span with an id containing the line number (pragma-line#line_number_zero_based`)

public static MarkdownPipelineBuilder UsePragmaLines(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UsePreciseSourceLocation(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses precise source code location (useful for syntax highlighting).

public static MarkdownPipelineBuilder UsePreciseSourceLocation(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseReferralLinks(MarkdownPipelineBuilder, string[])

MarkdownExtensions.cs

Performs the use referral links operation.

public static MarkdownPipelineBuilder UseReferralLinks(this MarkdownPipelineBuilder pipeline, params string[] rels)

Parameters

pipeline MarkdownPipelineBuilder
rels string[]

Returns

MarkdownPipelineBuilder

UseSmartyPants(MarkdownPipelineBuilder, SmartyPantOptions?)

MarkdownExtensions.cs

Uses the SmartyPants extension.

public static MarkdownPipelineBuilder UseSmartyPants(this MarkdownPipelineBuilder pipeline, SmartyPantOptions? options = null)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.
options SmartyPantOptions?
The options.

Returns

MarkdownPipelineBuilder The modified pipeline

UseSoftlineBreakAsHardlineBreak(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the softline break as hardline break extension

public static MarkdownPipelineBuilder UseSoftlineBreakAsHardlineBreak(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseTaskLists(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses the task list extension.

public static MarkdownPipelineBuilder UseTaskLists(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline

UseYamlFrontMatter(MarkdownPipelineBuilder)

MarkdownExtensions.cs

Uses YAML frontmatter extension that will parse a YAML frontmatter into the MarkdownDocument. Note that they are not rendered by any default HTML renderer.

public static MarkdownPipelineBuilder UseYamlFrontMatter(this MarkdownPipelineBuilder pipeline)

Parameters

pipeline MarkdownPipelineBuilder
The pipeline.

Returns

MarkdownPipelineBuilder The modified pipeline