protected override void Write(PPTXRenderer renderer, EmphasisInline obj) { var cloneFont = renderer.Writer.CurrentFont.Clone(); if (obj.DelimiterChar == '*' || obj.DelimiterChar == '_') { if (obj.IsDouble) { cloneFont.Bold = true; } else { cloneFont.Italic = true; } } else if (obj.DelimiterChar == '~') { if (obj.IsDouble) { cloneFont.Strike = true; } } renderer.Writer.FontStack.Push(cloneFont); renderer.WriteChildren(obj); renderer.Writer.FontStack.Pop(); }
protected static PPTXDocument ToPPTxDocument(string markdown, PPTXSetting options = null, MarkdownPipeline pipeline = null) { options = options ?? new PPTXSetting() { SlideSize = EPPTXSlideSizeValues.Screen4x3 }; pipeline = pipeline ?? new MarkdownPipelineBuilder() .UsePipeTables() .UseEmphasisExtras() .Build(); var document = Markdig.Markdown.Parse(markdown, pipeline); var pptx = new PPTXDocument(); var slide = new SlideManager(pptx, options); var renderer = new PPTXRenderer(slide, options); pipeline.Setup(renderer); renderer.Render(document); slide.EndSheet(); return(pptx); }
private void WriteHyperLink(PPTXRenderer renderer, LinkInline link) { renderer.PushHyperLink(new PPTXLink() { LinkKey = link.Url, LinkURL = link.Url }); if (link.Label != null) { var literal = link.FirstChild as LiteralInline; if (literal != null && literal.Content.Match(link.Label) && literal.Content.Length == link.Label.Length) { } else { // full link renderer.Write(link.Label); } } else { if (!string.IsNullOrEmpty(link.Url)) { renderer.WriteChildren(link); } } renderer.PopHyperLink(); }
protected override void Write(PPTXRenderer renderer, LinkInline link) { if (link.IsImage) { renderer.EndTextArea(); WriteImageLink(renderer, link); } else { WriteHyperLink(renderer, link); } }
protected override void Write(PPTXRenderer renderer, HtmlEntityInline obj) { renderer.Write(obj.Original); }
protected override void Write(PPTXRenderer renderer, CodeInline obj) { renderer.PushInlineSetting(renderer.Options.InlineCode); renderer.Write(obj.Content); renderer.PopBlockSetting(); }
protected override void Write(PPTXRenderer renderer, DelimiterInline obj) { renderer.WriteChildren(obj); }
protected override void Write(PPTXRenderer renderer, AutolinkInline obj) { renderer.Write(obj.Url); }
protected override void Write(PPTXRenderer renderer, HtmlInline obj) { renderer.Write(obj.Tag); }
protected override void Write(PPTXRenderer renderer, LineBreakInline obj) { renderer.WriteReturn(); }
private void WriteImageLink(PPTXRenderer renderer, LinkInline link) { renderer.WriteImage(new PPTXImage(link.Url)); }
protected override void Write(PPTXRenderer renderer, LiteralInline obj) { renderer.Write(ref obj.Content); }