Exemplo n.º 1
0
        public SlideRenderer()
        {
            var pipelineBuilder = new MarkdownPipelineBuilder();

            pipelineBuilder.Use <HtmlSanitizerExtension>();
            _pipeline = pipelineBuilder.Build();
        }
Exemplo n.º 2
0
        /// <summary>
        /// 解析Markdown源代码,并且返回HTML字符串。
        /// </summary>
        /// <param name="source">Markdown源代码。</param>
        /// <param name="extensions">Markdown配置实例。</param>
        /// <returns>返回解析后的HTML字符串。</returns>
        public static string ToHtml(string source, MarkdownPipelineBuilder pipeline)
        {
            pipeline.Use <QuoteSectionNoteExtension>();
            var build = pipeline.Build();

            return(Markdig.Markdown.ToHtml(source, build));
        }
Exemplo n.º 3
0
        public static void Convert(TextReader input, TextWriter output, MarkdownToHtmlConverterOptions options)
        {
            var markdownText = input.ReadToEnd();

            var pipelineBulder = new MarkdownPipelineBuilder()
                                 .UseAdvancedExtensions();

            if (options.EmbedImage)
            {
                pipelineBulder.Use(new EmbeddedImageExtension(options.BaseDirectory));
            }

            var pipeline     = pipelineBulder.Build();
            var htmlBodyText = Markdown.ToHtml(markdownText, pipeline);

            var styleText = GetDefaultStyleText();

            output.WriteLine("<!DOCTYPE html>");
            output.WriteLine("<html>");
            output.WriteLine("<head>");
            output.WriteLine("<style>");
            output.WriteLine(styleText);
            output.WriteLine("</style>");
            output.WriteLine("</head>");
            output.WriteLine("<body class=\"markdown-body\">");

            output.WriteLine(htmlBodyText);

            output.WriteLine("</body>");
            output.WriteLine("</html>");
            output.Flush();
        }
Exemplo n.º 4
0
        private Task <DocsMarkdownService> BuildMarkdownService(Section section, DocsSiteRouter router)
        {
            var context = new DocsMarkdownRenderingContext(_site, section, router);
            var builder = new MarkdownPipelineBuilder();

            builder.Use(new DisplayLinkExtension(context));

            return(Task.FromResult(new DocsMarkdownService(builder)));
        }
Exemplo n.º 5
0
        public DocsMarkdownService(DocsMarkdownRenderingContext section)
        {
            var builder = new MarkdownPipelineBuilder();

            builder.UseYamlFrontMatter();
            builder.Use(new DisplayLinkExtension(section));
            builder.UseAdvancedExtensions();
            builder.UseBootstrap();

            _pipeline = builder.Build();
        }
Exemplo n.º 6
0
        public MarkdownPipeline GetMarkdownPipeline()
        {
            var builder = new MarkdownPipelineBuilder();

            var extensions = extensionsProvider.GetExtensions();

            foreach (var extension in extensions)
            {
                builder.Use(extension);
            }

            return(builder.Build());
        }
Exemplo n.º 7
0
        private static MarkdownPipeline CreateMarkdownPipeline(bool embedImages, bool usePrism, string sourceDirectory)
        {
            var builder = new MarkdownPipelineBuilder();

            builder.UseAdvancedExtensions();
            builder.DebugLog = Console.Out;

            if (embedImages)
            {
                builder.Use(new EmbedLocalImagesExtension(sourceDirectory));
            }

            if (usePrism)
            {
                builder.UsePrism();
            }

            return(builder.Build());
        }
Exemplo n.º 8
0
 /// <summary>
 /// 使用Markdig扩展。
 /// </summary>
 /// <typeparam name="TExtension">扩展类型。</typeparam>
 /// <param name="builder">当前管道构建实例。</param>
 /// <returns>返回管道构建实例。</returns>
 public static MarkdownPipelineBuilder Use <TExtension>(this MarkdownPipelineBuilder builder)
     where TExtension : IMarkdownExtension, new()
 {
     return(builder.Use(new TExtension()));
 }
Exemplo n.º 9
0
 public static MarkdownPipelineBuilder UseConfluenceFootnotes(this MarkdownPipelineBuilder pipeline) =>
 pipeline.Use <ConfluenceFootnoteExtension>();
Exemplo n.º 10
0
 public static MarkdownPipelineBuilder UseConfluenceMacros(this MarkdownPipelineBuilder pipeline) =>
 pipeline.Use <ConfluenceMacroExtension>();