protected override void GetSummary(GetSummaryArgs args)
{
if (args.Entry == null)
{
args.Summary = string.Empty;
return;
}
var content = args.Entry[FieldName];
if(StripTags)
content = StringUtil.RemoveTags(content);
if (content.Length <= GetMaximumCharacterCount())
{
args.Summary = content;
}
else
{
if (StripTags)
{
args.Summary = content.Substring(0, GetMaximumCharacterCount()) + GetMoreString();
}
else
{
var doc = new HtmlDocument();
doc.LoadHtml(content);
var count = 0;
var limitIndex = FindLimitIndex(doc.DocumentNode, ref count, GetMaximumCharacterCount());
if (limitIndex < content.Length)
{
var trimmedDoc = new HtmlDocument();
trimmedDoc.LoadHtml(content.Substring(0, limitIndex) + GetMoreString());
args.Summary = trimmedDoc.DocumentNode.OuterHtml;
}
else
args.Summary = content;
}
}
}