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