|
|
|
@ -69,6 +69,7 @@ namespace Volo.Docs.Pages.Documents.Project |
|
|
|
|
|
|
|
public bool FullSearchEnabled { get; set; } |
|
|
|
|
|
|
|
private const int MaxDescriptionMetaTagLength = 200; |
|
|
|
private readonly IDocumentAppService _documentAppService; |
|
|
|
private readonly IDocumentToHtmlConverterFactory _documentToHtmlConverterFactory; |
|
|
|
private readonly IProjectAppService _projectAppService; |
|
|
|
@ -596,14 +597,19 @@ namespace Volo.Docs.Pages.Documents.Project |
|
|
|
|
|
|
|
public string GetDescription() |
|
|
|
{ |
|
|
|
var startIndex = Document.Content.IndexOf("<p>", StringComparison.Ordinal); |
|
|
|
var lastIndex = Document.Content.IndexOf("</p>", StringComparison.Ordinal); |
|
|
|
var description = Document.Content.Substring(startIndex,lastIndex); |
|
|
|
var firstParagraph = new Regex(@"<p>(.*?)</p>"); |
|
|
|
var match = firstParagraph.Match(Document.Content); |
|
|
|
if (!match.Success) |
|
|
|
{ |
|
|
|
return null; |
|
|
|
} |
|
|
|
|
|
|
|
var description = HttpUtility.HtmlDecode(match.Value); |
|
|
|
|
|
|
|
Regex rx = new Regex("<[^>]*>"); |
|
|
|
description = rx.Replace(description, ""); |
|
|
|
var htmlTagReplacer = new Regex(@"<[^>]*>", RegexOptions.IgnoreCase); |
|
|
|
description = htmlTagReplacer.Replace(description, m => string.Empty); |
|
|
|
|
|
|
|
return description.Truncate(200); |
|
|
|
return description.Truncate(MaxDescriptionMetaTagLength); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|