Front-matter 头
OpooPress 使用一段 YAML 语法的头部文本来标记源文件,这段头部称之为 YAML front-matter header。在站点的 source
目录中,包含该头部结构的文件就是博客/网站的源文件,会被 OpooPress 引擎处理,不包含 的则视为静态文件,生成时仅作简单的复制。
YAML front-matter header 以三个 -
的行开始,并同样以三个 -
的行结束,例如:
--- layout: post title: 'OpooPress 1.0 RC1 发布' date: '2013-07-07 00:30' comments: true categories: ['opoopress'] url: '/article/opoopress-1.0-rc1-has-been-released/' ---
这两行之间的内容即为源文件的头信息,符合 YAML 语法,每行指定一个变量,格式为 变量名: 值
,解析后在 Java 的 Map 结构存在。
注意:变量名 和 值 之间需要使用半角 :
,且 :
后应有一个半角的空格。
一、公共变量
以下变量在页面(Page)或者文章(Post)中都是通用的
变量 | 描述 |
---|---|
|
当前文件的布局。OpooPress 默认定义的布局包括 |
|
文章或者页面的标题。 |
|
文章或者页面的创建、发布时间。当前文件是文章(post)时,该变量必须指定。 |
|
变量 date 的格式,可选。可用 Java DateFormat 格式化字符串。 |
|
文章或者页面的修改时间。可选。 |
|
变量 updated 的格式,可选。可用 Java DateFormat 格式化字符串。 |
|
源文件相对应 |
|
文件最终输出时要使用的 |
|
当前页面/文章是否允许评论。可选,默认值 |
|
当前页面/文章是否允许侧边栏。可选,默认值 |
|
当前页面/文章是否允许底栏。可选,默认值 |
|
当前页面/文章的作者,可选。多人共用一个博客时可指定每篇文章、页面的作者。 |
|
关键字。可选。生成 HTML 的 <meta name="keywords" content="keywords">。 |
|
描述。可选。生成 HTML 的 <meta name="desription" content="desription">。 |
二、仅适用于文章(Post)的变量
变量 | 描述 |
---|---|
|
文章是否发布(不是草稿)。默认值为 |
|
文章的分类目录。 |
|
文章的标签。 |
|
文章的摘要。可选。在博客首页显示摘要,并显示继续阅读按钮。 |
三、自定义 front-matter header 变量
自定义变量可在文章、页面中通过 FreeMarker 语法引用。
例如:
--- var1: "变量1" var2: "a b c" ... --- 本页中的变量 var1 值为 ${page.var1},var2 值为 /${page.var1}/。 当前站点的 url 是 ${site.url}
输出
本页中的变量 var1 值为 变量1,var2 值为 /a b c/。 当前站点的 url 是 http://www.opoopress.com
更多相关知识可参考 Jekyll Front-matter。