public void TestInBlockInclusionMarkupFromContent() { var reference = @"--- uid: reference.md --- ## Block inclusion should parse header [link](testLink.md)"; var expected = @"<h2 id=""block-inclusion-should-parse-header"" sourceFile=""reference.md"" sourceStartLineNumber=""4"" sourceEndLineNumber=""4"">Block inclusion should parse header</h2> <p sourceFile=""reference.md"" sourceStartLineNumber=""6"" sourceEndLineNumber=""6""><a href=""testLink.md"" data-raw-source=""[link](testLink.md)"" sourceFile=""reference.md"" sourceStartLineNumber=""6"" sourceEndLineNumber=""6"">link</a></p> "; DfmServiceProvider provider = new DfmServiceProvider(); var service = provider.CreateMarkdownService(new MarkdownServiceParameters()); var parents = ImmutableStack.Create("reference.md"); var dfmservice = (DfmServiceProvider.DfmService)service; var marked = dfmservice .Builder .CreateDfmEngine(dfmservice.Renderer) .Markup(reference, ((MarkdownBlockContext)dfmservice.Builder.CreateParseContext()) .SetFilePathStack(parents).SetIsInclude()); Assert.Equal(expected.Replace("\r\n", "\n"), marked); }
public DfmPreviewHandler(string workspacePath, bool isDfmLatest) { DfmServiceProvider provider = isDfmLatest ? new DfmServiceProvider() : new DfmLegacyServiceProvider(); _service = provider.CreateMarkdownService(new MarkdownServiceParameters { BasePath = workspacePath }); }
private static string DfmMarkup(string basedir, string filename, string markdownContent) { DfmServiceProvider dfmServiceProvider = new DfmServiceProvider(); IMarkdownService dfmService = dfmServiceProvider.CreateMarkdownService(new MarkdownServiceParameters { BasePath = basedir }); return(dfmService.Markup(markdownContent, filename).Html); }
private static string DfmMarkup(string basedir, string filename, string markdownContent) { // TODO: different editor use different child process so there is no need to create dfm service each time DfmServiceProvider dfmServiceProvider = new DfmServiceProvider(); IMarkdownService dfmService = dfmServiceProvider.CreateMarkdownService(new MarkdownServiceParameters { BasePath = basedir }); return(dfmService.Markup(markdownContent, filename).Html); }
public void TestDfmEngineCustomizer() { var p = new DfmServiceProvider(); p.DfmEngineCustomizers = new[] { new MyDfmEngineCustomizer() }; var ms = p.CreateMarkdownService(new MarkdownServiceParameters()); var result = ms.Markup(@"# a # <b>c", "a.md"); Assert.Equal(@"<h1 id=""a"" sourceFile=""a.md"" sourceStartLineNumber=""1"" sourceEndLineNumber=""1"">a</h1> <h1 id=""b"" sourceFile=""a.md"" sourceStartLineNumber=""2"" sourceEndLineNumber=""2"">c</h1> ".Replace("\r\n", "\n"), result.Html); (ms as IDisposable).Dispose(); }