Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        public DfmPreviewHandler(string workspacePath, bool isDfmLatest)
        {
            DfmServiceProvider provider = isDfmLatest ? new DfmServiceProvider() : new DfmLegacyServiceProvider();

            _service = provider.CreateMarkdownService(new MarkdownServiceParameters {
                BasePath = workspacePath
            });
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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();
        }