From f81f6617ce57172a19e253a421eb082219f66cbd Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sat, 10 Oct 2020 17:46:16 +0100 Subject: [PATCH] summaries --- src/Yavsc/Helpers/Tags/MarkDownTagHelper.cs | 8 ++++++++ .../Views/Shared/Components/BlogIndex/Default.cshtml | 5 +++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Yavsc/Helpers/Tags/MarkDownTagHelper.cs b/src/Yavsc/Helpers/Tags/MarkDownTagHelper.cs index 623ed6d4..b0fb85d9 100644 --- a/src/Yavsc/Helpers/Tags/MarkDownTagHelper.cs +++ b/src/Yavsc/Helpers/Tags/MarkDownTagHelper.cs @@ -24,6 +24,7 @@ namespace Yavsc.TagHelpers { private const string MarkdownContentAttributeName = "markdown"; private const string MarkdownMarkAttributeName = "ismarkdown"; + private const string SummaryMarkAttributeName = "summary"; [HtmlAttributeName("site")] public SiteSettings Site { get; set; } [HtmlAttributeName("base")] @@ -32,6 +33,11 @@ namespace Yavsc.TagHelpers [HtmlAttributeName(MarkdownContentAttributeName)] public string MarkdownContent { get; set; } + + [HtmlAttributeName(SummaryMarkAttributeName)] + public int Summary { get; set; } + + static Regex rxExtractLanguage = new Regex("^({{(.+)}}[\r\n])", RegexOptions.Compiled); private static string FormatCodePrettyPrint(MarkdownDeep.Markdown m, string code) { @@ -98,6 +104,8 @@ namespace Yavsc.TagHelpers markdownTransformer.FormatCodeBlock = FormatCodePrettyPrint; markdownTransformer.ExtractHeadBlocks = true; markdownTransformer.UserBreaks = true; + markdownTransformer.SummaryLength = Summary; + // TODO markdownTransformer.DoOnlyHtmlChunk = true; return markdownTransformer; } diff --git a/src/Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml b/src/Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml index 399298a5..8f55baf7 100644 --- a/src/Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml +++ b/src/Yavsc/Views/Shared/Components/BlogIndex/Default.cshtml @@ -26,13 +26,14 @@ @title @foreach (var item in group) { var trclass = (item.Visible)?"visiblepost":"hiddenpost"; - + var trunked = item.Content?.Length > 256; - @((item.Content?.Length > 256) ? item.Content.Substring(0, 256) + " ..." : item.Content) + @item.Content + @if (trunked) { ... } (@item.Author.UserName , posté le @item.DateCreated.ToString("dddd d MMM yyyy à H:mm")