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); }
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); }
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); }
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); }
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() + "\""); }