Ejemplo n.º 1
0
        private StringBuffer RenderImageNormalLink(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            StringBuffer content = StringBuffer.Empty;

            content += "![";
            if (render.Options.LegacyMode)
            {
                content += StringHelper.LegacyEscapeMarkdown(token.Text);
            }
            else
            {
                content += StringHelper.EscapeMarkdown(token.Text);
            }
            content += "](";
            content += StringHelper.EscapeMarkdownHref(token.Href);
            if (!string.IsNullOrEmpty(token.Title))
            {
                content += " \"";
                if (render.Options.LegacyMode)
                {
                    content += StringHelper.LegacyEscapeMarkdown(token.Title);
                }
                else
                {
                    content += StringHelper.EscapeMarkdown(token.Title);
                }
                content += "\"";
            }
            content += ")";
            return(content);
        }
Ejemplo n.º 2
0
        public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            var result = (StringBuffer)"<img src=\"" + token.Href + "\" alt=\"" + token.Text + "\"";

            if (!string.IsNullOrEmpty(token.Title))
            {
                result = result + " title=\"" + token.Title + "\"";
            }

            result += renderer.Options.XHtml ? "/>" : ">";
            return(result);
        }
Ejemplo n.º 3
0
        public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            var result = (StringBuffer)"<img src=\"" + StringHelper.Escape(token.Href) + "\" alt=\"" + StringHelper.Escape(token.Text) + "\"";

            if (!string.IsNullOrEmpty(token.Title))
            {
                result = result + " title=\"" + StringHelper.Escape(token.Title) + "\"";
            }
            result = AppendSourceInfo(result, renderer, token);

            result += renderer.Options.XHtml ? "/>" : ">";
            return(result);
        }
Ejemplo n.º 4
0
 public virtual StringBuffer Render(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
 {
     switch(token.LinkType)
     {
         case MarkdownLinkType.NormalLink:
             return RenderImageNormalLink(render, token, context);
         case MarkdownLinkType.NumberLink:
             return RenderNumberLink(render, token, context);
         case MarkdownLinkType.RefLink:
             return RenderRefLink(render, token, context);
         default:
             throw new NotSupportedException($"Link type: {token.LinkType} doesn't support in Image Link Render");
     }
 }
Ejemplo n.º 5
0
 private StringBuffer RenderImageNormalLink(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
 {
     StringBuffer content = StringBuffer.Empty;
     content += "![";
     content += token.Text;
     content += "](";
     content += Regexes.Helper.MarkdownUnescape.Replace(token.Href, m => "\\" + m.Value);
     if (!string.IsNullOrEmpty(token.Title))
     {
         content += " \"";
         content += Regexes.Helper.MarkdownUnescape.Replace(token.Title, m => "\\" + m.Value);
         content += "\"";
     }
     content += ")";
     return content;
 }
Ejemplo n.º 6
0
        public virtual StringBuffer Render(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            StringBuffer content = StringBuffer.Empty;

            content += "![";
            content += token.Text;
            content += "](";
            content += StringHelper.Unescape(token.Href);
            if (!string.IsNullOrEmpty(token.Title))
            {
                content += " \"";
                content += StringHelper.Unescape(token.Title);
                content += "\"";
            }
            content += ")";
            return(content);
        }
Ejemplo n.º 7
0
        public virtual StringBuffer Render(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            StringBuffer content = StringBuffer.Empty;

            content += "![";
            content += token.Text;
            content += "](";
            content += Regexes.Helper.MarkdownUnescape.Replace(token.Href, m => "\\" + m.Value);
            if (!string.IsNullOrEmpty(token.Title))
            {
                content += " \"";
                content += Regexes.Helper.MarkdownUnescape.Replace(token.Title, m => "\\" + m.Value);
                content += "\"";
            }
            content += ")";
            return(content);
        }
Ejemplo n.º 8
0
        public virtual StringBuffer Render(IMarkdownRenderer render, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            switch (token.LinkType)
            {
            case MarkdownLinkType.NormalLink:
                return(RenderImageNormalLink(render, token, context));

            case MarkdownLinkType.NumberLink:
                return(RenderNumberLink(render, token, context));

            case MarkdownLinkType.RefLink:
                return(RenderRefLink(render, token, context));

            default:
                throw new NotSupportedException($"Link type: {token.LinkType} doesn't support in Image Link Render");
            }
        }
Ejemplo n.º 9
0
        public virtual StringBuffer Render(IMarkdownRenderer engine, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            var result = (StringBuffer)"<img src=\"" + token.Href + "\" alt=\"" + token.Text + "\"";
            if (!string.IsNullOrEmpty(token.Title))
            {
                result = result + " title=\"" + token.Title + "\"";
            }

            result += engine.Options.XHtml ? "/>" : ">";
            return result;
        }
Ejemplo n.º 10
0
 public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownImageInlineToken token, MarkdownInlineContext context)
 {
     return(Insert(token, $"{ExposeTokenName(token)}>{Escape(token.Href)}"));
 }
Ejemplo n.º 11
0
 public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownImageInlineToken token, MarkdownInlineContext context)
 {
     return(this.Insert("Image", this.GetSize(), Type.Leaf));
 }