Esempio n. 1
0
        public void Write(HtmlRenderer renderer, string script)
        {
            if (string.IsNullOrWhiteSpace(script))
            {
                return;
            }
            else if (!renderer.EnableHtmlForInline)
            {
                renderer.Write(script);
                return;
            }

            //image
            //Details

            var svg = _render.Render(script, OutputFormat.Svg);
            var xml = XElement.Parse(Encoding.UTF8.GetString(svg));

            renderer.Write(xml.ToString() + Environment.NewLine + Environment.NewLine);

            renderer.Write("<details>" + Environment.NewLine);
            renderer.Write("\t<summary>PlantUML - Details</summary>" + Environment.NewLine + Environment.NewLine);
            renderer.Write("<pre><code type=\"plantuml\">" + Environment.NewLine);
            renderer.Write(script);
            renderer.Write("</code></pre></details>" + Environment.NewLine + Environment.NewLine);
        }
        public override StringBuffer Render(IMarkdownRenderer markdownRenderer, MarkdownCodeBlockToken token, MarkdownBlockContext context)
        {
            IPlantUmlRenderer plantUmlRenderer = rendererFactory.CreateRenderer(settings);
            IOutputFormatter  outputFormatter  = formatterFactory.CreateOutputFormatter(markdownRenderer.Options);

            byte[] output = plantUmlRenderer.Render(token.Code, settings.OutputFormat);
            return(outputFormatter.FormatOutput(token, output));
        }