private void TestAggregator(string content, string expected, IBlockAggregator blockAggregator) { var visitor = new MarkdownDocumentAggregatorVisitor(blockAggregator); var pipelineBuilder = new MarkdownPipelineBuilder(); pipelineBuilder.DocumentProcessed += document => visitor.Visit(document); var pipeline = pipelineBuilder.Build(); var html = Markdown.ToHtml(content, pipeline); Assert.Equal(expected.Replace("\r\n", "\n"), html); }
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); }