diff --git a/hugolib/page__content.go b/hugolib/page__content.go index 62e78c612..54f7be961 100644 --- a/hugolib/page__content.go +++ b/hugolib/page__content.go @@ -770,7 +770,7 @@ func (c *cachedContent) contentPlain(ctx context.Context, cp *pageContentOutput) result.readingTime = (result.wordCount + 212) / 213 } - if rendered.summary != "" { + if c.pi.hasSummaryDivider || rendered.summary != "" { result.summary = rendered.summary result.summaryTruncated = rendered.summaryTruncated } else if cp.po.p.m.pageConfig.Summary != "" { diff --git a/hugolib/page_test.go b/hugolib/page_test.go index f22a4d07c..8919c246c 100644 --- a/hugolib/page_test.go +++ b/hugolib/page_test.go @@ -63,6 +63,15 @@ Summary Next Line Some more text +` + + simplePageWithBlankSummary = `--- +title: SimpleWithBlankSummary +--- + + + +Some text. ` simplePageWithSummaryParameter = `--- @@ -351,6 +360,9 @@ func normalizeExpected(ext, str string) string { return expected case "rst": + if str == "" { + return "
" + } return fmt.Sprintf("
\n\n\n%s
", str) } } @@ -630,6 +642,19 @@ func TestPageWithDelimiter(t *testing.T) { testAllMarkdownEnginesForPages(t, assertFunc, nil, simplePageWithSummaryDelimiter) } +func TestPageWithBlankSummary(t *testing.T) { + t.Parallel() + assertFunc := func(t *testing.T, ext string, pages page.Pages) { + p := pages[0] + checkPageTitle(t, p, "SimpleWithBlankSummary") + checkPageContent(t, p, normalizeExpected(ext, "

Some text.

\n"), ext) + checkPageSummary(t, p, normalizeExpected(ext, ""), ext) + checkPageType(t, p, "page") + } + + testAllMarkdownEnginesForPages(t, assertFunc, nil, simplePageWithBlankSummary) +} + func TestPageWithSummaryParameter(t *testing.T) { t.Parallel() assertFunc := func(t *testing.T, ext string, pages page.Pages) {