public string GetPreviewText(IResource res, int lines) { IPreviewTextProvider provider = (IPreviewTextProvider)_previewTextProviders [res.Type]; if (provider != null) { string previewText = provider.GetPreviewText(res, lines); if (previewText == null) { return(""); } return(previewText); } if (res.HasProp(Core.Props.LongBody)) { string longBody = res.GetPropText(Core.Props.LongBody).Trim(); if (res.HasProp(Core.Props.LongBodyIsHTML)) { if (longBody.Length > 1024) { longBody = longBody.Substring(0, 1024) + "..."; // we won't fit more text in 2 lines, anyway } longBody = HtmlTools.StripHTML(longBody); longBody = HtmlTools.SafeHtmlDecode(longBody).Trim(); } longBody = longBody.Replace('\t', ' '); return(CleanPreviewText(longBody, lines)); } return(""); }
public void RegisterPreviewTextProvider(string resourceType, IPreviewTextProvider provider) { _previewTextProviders[resourceType] = provider; }