コード例 #1
0
ファイル: HtmlRenderer.cs プロジェクト: zsvanderlaan/docfx
 protected static StringBuffer AppendSourceInfo(StringBuffer result, IMarkdownRenderer renderer, IMarkdownToken token)
 {
     if (renderer.Options.ShouldExportSourceInfo)
     {
         result = result + " sourceFile=\"" + StringHelper.HtmlEncode(token.SourceInfo.File) + "\" sourceStartLineNumber=\"" + token.SourceInfo.LineNumber.ToString() + "\" sourceEndLineNumber=\"" + (token.SourceInfo.LineNumber + token.SourceInfo.ValidLineCount - 1).ToString() + "\"";
     }
     return(result);
 }
コード例 #2
0
ファイル: HtmlRenderer.cs プロジェクト: wanyi01/docfx
        public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownImageInlineToken token, MarkdownInlineContext context)
        {
            var result = (StringBuffer)"<img src=\"" + token.Href + "\" alt=\"" + StringHelper.HtmlEncode(token.Text) + "\"";

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

            result += renderer.Options.XHtml ? "/>" : ">";
            return(result);
        }
コード例 #3
0
ファイル: HtmlRenderer.cs プロジェクト: zsvanderlaan/docfx
 protected static StringBuffer AppendAttribute(StringBuffer buffer, string attributeName, string value)
 {
     if (string.IsNullOrEmpty(value))
     {
         return(buffer);
     }
     buffer += " ";
     buffer += attributeName;
     buffer += "=\"";
     buffer += StringHelper.HtmlEncode(value);
     buffer += "\"";
     return(buffer);
 }
コード例 #4
0
ファイル: HtmlRenderer.cs プロジェクト: wanyi01/docfx
        public virtual StringBuffer Render(IMarkdownRenderer renderer, MarkdownLinkInlineToken token, MarkdownInlineContext context)
        {
            if (renderer.Options.Sanitize)
            {
                string prot = null;

                try
                {
                    prot = Regex.Replace(StringHelper.DecodeURIComponent(StringHelper.Unescape(token.Href)), @"[^\w:]", string.Empty).ToLower();
                }
                catch (Exception)
                {
                    return(string.Empty);
                }

                if (prot.IndexOf("javascript:") == 0 || prot.IndexOf("vbscript:") == 0)
                {
                    return(string.Empty);
                }
            }

            var result = (StringBuffer)"<a href=\"" + token.Href + "\"";

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

            foreach (var item in token.Content)
            {
                result += renderer.Render(item);
            }

            result += "</a>";
            return(result);
        }
コード例 #5
0
ファイル: HtmlRenderer.cs プロジェクト: zyj0021/docfx
 private static StringBuffer AppendSourceInfoCore(StringBuffer result, IMarkdownToken token)
 {
     return(result + " sourceFile=\"" + StringHelper.HtmlEncode(token.SourceInfo.File) + "\" sourceStartLineNumber=\"" + token.SourceInfo.LineNumber.ToString() + "\" sourceEndLineNumber=\"" + (token.SourceInfo.LineNumber + token.SourceInfo.ValidLineCount - 1).ToString() + "\"");
 }