private string Markup(string content, IMarkdownObjectRewriter rewriter, TestLoggerListener listener = null) { var pipelineBuilder = new MarkdownPipelineBuilder(); var documentRewriter = new MarkdownDocumentVisitor(rewriter); pipelineBuilder.DocumentProcessed += document => { ValidationExtension.SetSchemaName(document); documentRewriter.Visit(document); }; var pipeline = pipelineBuilder.Build(); if (listener != null) { Logger.RegisterListener(listener); } var html = Markdown.ToHtml(content, pipeline); if (listener != null) { Logger.UnregisterListener(listener); } return(html); }
public static MarkdownPipelineBuilder UseValidators(this MarkdownPipelineBuilder pipeline, MarkdownContext context, MarkdownServiceParameters parameters) { var tokenRewriter = context.Mvb.CreateRewriter(); var visitor = new MarkdownDocumentVisitor(tokenRewriter); pipeline.DocumentProcessed += document => { visitor.Visit(document); }; return(pipeline); }
public static MarkdownPipelineBuilder UseHeadingIdRewriter(this MarkdownPipelineBuilder pipeline) { var tokenRewriter = new HeadingIdRewriter(); var visitor = new MarkdownDocumentVisitor(tokenRewriter); pipeline.DocumentProcessed += document => { visitor.Visit(document); }; return(pipeline); }
public static MarkdownPipelineBuilder UseInteractiveCode(this MarkdownPipelineBuilder pipeline) { var codeSnippetInteractiveRewriter = new CodeSnippetInteractiveRewriter(); var fencedCodeInteractiveRewrtier = new FencedCodeInteractiveRewriter(); var codeSnippetVisitor = new MarkdownDocumentVisitor(codeSnippetInteractiveRewriter); var fencedCodeVisitor = new MarkdownDocumentVisitor(fencedCodeInteractiveRewrtier); pipeline.DocumentProcessed += document => { codeSnippetVisitor.Visit(document); fencedCodeVisitor.Visit(document); }; return(pipeline); }
public static MarkdownPipelineBuilder UseTabGroup(this MarkdownPipelineBuilder pipeline) { var tabGroupAggregator = new TabGroupAggregator(); var aggregateVisitor = new MarkdownDocumentAggregatorVisitor(tabGroupAggregator); var tagGroupIdRewriter = new TabGroupIdRewriter(); var tagGroupIdVisitor = new MarkdownDocumentVisitor(tagGroupIdRewriter); var activeAndVisibleRewriter = new ActiveAndVisibleRewriter(); var activeAndVisibleVisitor = new MarkdownDocumentVisitor(activeAndVisibleRewriter); pipeline.DocumentProcessed += document => { aggregateVisitor.Visit(document); tagGroupIdVisitor.Visit(document); activeAndVisibleVisitor.Visit(document); }; pipeline.Extensions.Add(new TabGroupExtension()); return(pipeline); }