コード例 #1
0
 protected override void Write(TsxRenderer renderer, LiteralInline obj)
 {
     if (renderer.EnableHtmlEscape)
     {
         renderer.WriteEscape(ref obj.Content);
     }
     else
     {
         renderer.Write(ref obj.Content);
     }
 }
コード例 #2
0
 protected override void Write(TsxRenderer renderer, HtmlEntityInline obj)
 {
     if (renderer.EnableHtmlEscape)
     {
         var slice = obj.Transcoded;
         renderer.WriteEscape(ref slice);
     }
     else
     {
         renderer.Write(obj.Transcoded);
     }
 }
コード例 #3
0
        protected override void Write(TsxRenderer renderer, LinkInline link)
        {
            if (renderer.EnableHtmlForInline)
            {
                renderer.Write(link.IsImage ? "<mdx.Img src=" : "<mdx.A href=");
                renderer.WriteEscapeUrl(link.Url, link.IsImage);
                renderer.WriteProps(link);
            }
            if (link.IsImage)
            {
                if (renderer.EnableHtmlForInline)
                {
                    renderer.Write(" alt=\"");
                }
                var wasEnableHtmlForInline = renderer.EnableHtmlForInline;
                renderer.EnableHtmlForInline = false;
                renderer.WriteChildren(link);
                renderer.EnableHtmlForInline = wasEnableHtmlForInline;
                if (renderer.EnableHtmlForInline)
                {
                    renderer.Write('"');
                }
            }

            if (renderer.EnableHtmlForInline && !string.IsNullOrEmpty(link.Title))
            {
                renderer.Write(" title=\"");
                renderer.WriteEscape(link.Title);
                renderer.Write('"');
            }

            if (link.IsImage)
            {
                if (renderer.EnableHtmlForInline)
                {
                    renderer.Write(" />");
                }
            }
            else
            {
                if (renderer.EnableHtmlForInline)
                {
                    renderer.Write('>');
                }
                renderer.WriteChildren(link);
                if (renderer.EnableHtmlForInline)
                {
                    renderer.Write("</mdx.A>");
                }
            }
        }
コード例 #4
0
        protected override void Write(TsxRenderer renderer, AutolinkInline obj)
        {
            if (renderer.EnableHtmlForInline)
            {
                renderer.Write("<mdx.A href=");
                renderer.WriteEscapeUrl(obj.IsEmail?  "mailto:" + obj.Url :obj.Url, false);
                renderer.WriteProps(obj);
                renderer.Write('>');
            }

            renderer.WriteEscape(obj.Url);

            if (renderer.EnableHtmlForInline)
            {
                renderer.Write("</mdx.A>");
            }
        }
コード例 #5
0
ファイル: CodeInlineRenderer.cs プロジェクト: bobril/bbcore
 protected override void Write(TsxRenderer renderer, CodeInline obj)
 {
     if (renderer.EnableHtmlForInline)
     {
         renderer.Write("<mdx.Code").WriteProps(obj).Write('>');
     }
     if (renderer.EnableHtmlEscape)
     {
         renderer.WriteEscape(obj.Content);
     }
     else
     {
         renderer.Write(obj.Content);
     }
     if (renderer.EnableHtmlForInline)
     {
         renderer.Write("</mdx.Code>");
     }
 }
コード例 #6
0
 protected override void Write(TsxRenderer renderer, DelimiterInline obj)
 {
     renderer.WriteEscape(obj.ToLiteral());
     renderer.WriteChildren(obj);
 }