MarkdownParser::CreateParser
less than 1 minute to read

This method creates an instance of the Markdown Parser processing pipeline and applies the configuration that determines what features the parser uses.

This specific function creates a MarkDig markdown parser and sets common options for the parser. You can override and replace this method to change the settings for the MarkDig parser pipeline that determines how markdown is parsed.

Here's the default implementation - you can simply copy this code and remove or add additional configuration settings as needed in a subclass to create different behavior.

foxpro
FUNCTION CreateParser(llForce, llPragmaLines) LOCAL loBuilder, loValue, loBridge IF llForce OR ISNULL(this.oPipeline) loBridge = this.oBridge loBuilder = loBridge.CreateInstance("Markdig.MarkdownPipelineBuilder") loValue = loBridge.Createcomvalue() loValue.SetEnum("Markdig.Extensions.EmphasisExtras.EmphasisExtraOptions.Default") loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseEmphasisExtras",loBuilder,loValue) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseListExtras",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseCustomContainers",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseFooters",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseFigures",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseFootnotes",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseCitations",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UsePipeTables",loBuilder,null) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseGridTables",loBuilder) loValue = loBridge.Createcomvalue() loValue.SetEnum("Markdig.Extensions.AutoIdentifiers.AutoIdentifierOptions.GitHub") loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseAutoIdentifiers",loBuilder,loValue) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseAutoLinks",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseYamlFrontMatter",loBuilder) loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UseEmojiAndSmiley",loBuilder,.T.) IF this.lNoHtmlAllowed loBuilder = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","DisableHtml",loBuilder) ENDIF IF llPragmaLines loBuiler = loBridge.Invokestaticmethod("Markdig.MarkdownExtensions","UsePragmaLines",loBuilder) ENDIF THIS.oPipeline = loBuilder.Build() ENDIF RETURN this.oPipeline ENDFUNC
o.CreateParser()

See also:

Class MarkdownParser

© West Wind Technologies, 1996-2024 • Updated: 08/16/21
Comment or report problem with topic