Hugo框架中文文档 生成内容摘要Summary
Contents
通过使用.Summary
页面变量, Hugo生成内容摘要,可以在摘要视图中作为短摘要使用。
摘要截取方式 Summary Splitting Options
- 自动截取摘要 Automatic Summary Split
- 手工截取摘要 Manual Summary Split
- 前言设定设置摘要 Front Matter Summary
在摘要上附上到达原文的链接是很自然的想法,一个常见的设计模式是以"阅读更多…“按钮的形式构建这个链接.
参考页面变量中.RelPermalink
, .Permalink
, 和 .Truncated
文档.
自动截取摘要
缺省情况下, Hugo自动提取内容的头70个词作为内容摘要并且保存在 .Summary
页面变量中,以供模板使用.
可以通过在站点配置文件中设定summaryLength
来定制这个摘要长度.
可以使用如plainify
和 safeHTML
等函数定制摘要中HTML标签的加载方式.
Hugo自动截取的摘要设置使用的是词数,也就是被一个或者多个连续空白字符分隔的文本数。如果使用中日韩
语言,并希望Hugo自动截取摘要表现正确, 请在站点配置中中设置 hasCJKLanguage
为true
手动截取摘要 Manual Summary Splitting
另外一种方式,您可以在文章中添加 <!--more-->
作为文本中摘要分隔.
对于 Org mode content文档, 使用 # more
作为文章中分割摘要和其余部分的分割
在摘要分隔前的内容将作为内容的摘要,并存储在页面变量.Summary
中并且保存所有HTML格式不变.
- Pros 支持
- 自由,改进的显示。所有HTML标签和格式都被保留
- Cons 反对
- 内容作者需要更多工作。他们需要敲键盘输入
<!--more-->
(# more
在 org content文档中)在每个内容文件中. 这个可以通过在原型archetype中在前言设定后面添加摘要分隔来自动化完成。
注意正确输入<!--more-->
都是小写并且没有空白。
前言设定摘要 Front Matter Summary
您可能想内容摘要是与文章开头文本不同的一些内容。这种需求可以通过在文章的front matter部分提供一个不同摘要文本的summary
变量来实现。
- Pros
- 完全和文章内容独立。标记可以用在摘要中。
- Cons
- 内容作者需要写完全不同的一段文本
摘要选择顺序
由于摘要可以通过好几种方式提供,理解Hugo摘要选择并通过.Summary
变量返回摘要的顺序很有帮助。
正如下面这样:
- 如果文章中存在
<!--more-->
摘要分隔符, 则该摘要文本直到分隔符,将按照手动摘要拆分方法获得 - 如果文章的前言设定中包含
summary
变量,变量的值通过前言设定摘要法获得 - 文章开始的文本内容会被自动摘要截取法使用
如果同时具有<!--more-->
和前言设定的summary, 那么Hugo选择 手动摘要拆分方法选择<!--more-->
之前的文字作为摘要
例子: 具有摘要的前10片文章
用下面代码可以显示内容摘要,使用下面代码短,比如用在块模板中
|
|