github.com/shohhei1126/hugo@v0.42.2-0.20180623210752-3d5928889ad7/docs/content/en/content-management/summaries.md (about) 1 --- 2 title: Content Summaries 3 linktitle: Summaries 4 description: Hugo generates summaries of your content. 5 date: 2017-01-10 6 publishdate: 2017-01-10 7 lastmod: 2017-01-10 8 categories: [content management] 9 keywords: [summaries,abstracts,read more] 10 menu: 11 docs: 12 parent: "content-management" 13 weight: 90 14 weight: 90 #rem 15 draft: false 16 aliases: [/content/summaries/,/content-management/content-summaries/] 17 toc: true 18 --- 19 20 With the use of the `.Summary` [page variable][pagevariables], Hugo generates summaries of content to use as a short version in summary views. 21 22 ## Summary Splitting Options 23 24 * Hugo-defined Summary Split 25 * User-defined Summary Split 26 27 It is natural to accompany the summary with links to the original content, and a common design pattern is to see this link in the form of a "Read More ..." button. See the `.RelPermalink`, `.Permalink`, and `.Truncated` [page variables][pagevariables]. 28 29 ### Hugo-defined: Automatic Summary Splitting 30 31 By default, Hugo automatically takes the first 70 words of your content as its summary and stores it into the `.Summary` page variable for use in your templates. Taking the Hugo-defined approach to summaries may save time, but it has pros and cons: 32 33 * **Pros:** Automatic, no additional work on your part. 34 * **Cons:** All HTML tags are stripped from the summary, and the first 70 words, whether they belong to a heading or to different paragraphs, are all put into one paragraph. 35 36 {{% note %}} 37 The Hugo-defined summaries are set to use word count calculated by splitting the text by one or more consecutive white space characters. If you are creating content in a `CJK` language and want to use Hugo's automatic summary splitting, set `hasCJKLanguage` to `true` in you [site configuration](/getting-started/configuration/). 38 {{% /note %}} 39 40 ### User-defined: Manual Summary Splitting 41 42 Alternatively, you may add the <code><!--more--></code> summary divider where you want to split the article. For [org content][org], use `# more` where you want to split the article. Content that comes before the summary divider will be used as that content's summary and stored in the `.Summary` page variable with all HTML formatting intact. 43 44 {{% note "Summary Divider"%}} 45 The concept of a *summary divider* is not unique to Hugo. It is also called the "more tag" or "excerpt separator" in other literature. 46 {{% /note %}} 47 48 * Pros: Freedom, precision, and improved rendering. All HTML tags and formatting are preserved. 49 * Cons: Extra work for content authors, since they need to remember to type <code><!--more--></code> (or `# more` for [org content][org]) in each content file. This can be automated by adding the summary divider below the front matter of an [archetype](/content-management/archetypes/). 50 51 {{% warning "Be Precise with the Summary Divider" %}} 52 Be careful to enter <code><!--more--></code> exactly; i.e., all lowercase and with no whitespace. 53 {{% /warning %}} 54 55 ## Example: First 10 Articles with Summaries 56 57 You can show content summaries with the following code. You could use the following snippet, for example, in a [section template][]. 58 59 {{< code file="page-list-with-summaries.html" >}} 60 {{ range first 10 .Data.Pages }} 61 <article> 62 <!-- this <div> includes the title summary --> 63 <div> 64 <h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2> 65 {{ .Summary }} 66 </div> 67 {{ if .Truncated }} 68 <!-- This <div> includes a read more link, but only if the summary is truncated... --> 69 <div> 70 <a href="{{ .RelPermalink }}">Read Moreā¦</a> 71 </div> 72 {{ end }} 73 </article> 74 {{ end }} 75 {{< /code >}} 76 77 Note how the `.Truncated` boolean valuable may be used to hide the "Read More..." link when the content is not truncated; i.e., when the summary contains the entire article. 78 79 [org]: /content-management/formats/ 80 [pagevariables]: /variables/page/ 81 [section template]: /templates/section-templates/