https://learn.getgrav.org/content/headers
Grave
有三种页面类型:
Header的几个变量:
title
title: 控制页面标题。如果没有标题,会尝试使用slug
变量。
slug:
slug: 允许你专门设置URL的页面部分。 例如:如果设置了slug: my-page-slug
, 那么http://yoursite.com/my-page-slug将是网址。
如果没有在页面中设置slu Gra,Grav会退回到使用文件夹名称(不带任何数字前缀)。
slug对应变量的拼写推荐使用小写字母、短划线和下划线。
用来设置页面导航菜单按钮的名字。如果没设置,将会用title
变量。
Date
日期变量允许您专门设置与此页面相关的日期。通常用于指示创建帖子的时间,并可用于显示或排序目的。 如果未设置,则默认为页面的上次修改时间。
Published
默认情况下,默认将发布一个页面,除非published
为false,或者通过设置publish_date
为未来的某个时间,或者设置unpublish_date
为过去的某个时间。Published
的有效值是true
或false
。
Publish Date
publish_date: 01/23/2015 13:00
可选字段,但可以提供自动触发发布的日期。 有效值是strtotime()支持的任何字符串日期值。
Unpublish Date
unpublish_date: 05/17/2015 00:32
可选字段,但可以提供自动触发取消发布的日期。 有效值是strtotime()支持的任何字符串日期值。
Visible
顾名思义,描述是否可见。此外:如果文件夹名字不是1.home
这种num.name
形式的,页面内容也是不可见的。
SSL
从Grav 1.0.9开始,您现在可以启用或禁用SSL的特定页面。 这只适用于system.yaml配置中设置的absolute_urls:true选项。 这是因为要能够在SSL和非SSL页面之间来回切换,您必须使用包含协议和主机的完整URL。
Redirect
比较实用:
redirect: '/some/custom/route'
或
redirect: 'http://someexternalsite.com'
从Grav 0.9.41开始,您现在可以直接从页眉重定向到另一个内部或外部页面。 当然,这意味着这个页面不会被显示,但是这个页面仍然可以在一个集合,菜单等中,因为它将作为一个页面存在于Grav中。
从Grav 1.0.0开始,您还可以使用方括号将重定向代码添加到URL中:
redirect: '/some/custom/route[303]'
Routes
routes:
default: '/my/example/page'
canonical: '/canonical/url/alias'
aliases:
- '/some/other/route'
- '/can-be-any-valid-slug'
可以直接指定本页面的链接是什么。
Routable
默认情况下,所有页面都是Routable
的。 这意味着可以通过将浏览器指向页面的URL来访问它们。 但是,您可能需要创建一个创建用于保存特定内容的页面,但它的意思是直接由插件,其他内容甚至直接调用主题。 一个很好的例子就是404错误页面。
如果找不到另一个页面,Grav会自动查找包含路由/错误的页面。 这是Grav中的实际页面,您可以完全控制此页面的外观。 您可能不希望人们直接在浏览器中访问此页面,因此,此页面通常将其可路由变量设置为false。
Login Redirect Here
login_redirect_here: false
login_redirect_here头允许您通过Grav登录插件登录后确定是否有人保留在该页面上。 将此标题设置为false将在成功登录后将某人转到上一页。
这里的真实设置将使得该人在成功登录后保持在当前页面上。 这也是默认设置,如果在frontmatter中没有login_redirect_here标头,这个设置就适用。
您可以通过在Login配置YAML中指定显式选项来强制标准位置来覆盖此默认行为:
redirect_after_login: '/profile'
This will always take you to the /profile route after a successful login.
Summary
summary:
enabled: true #是否关闭摘要
format: short | long
size: int
size: 0
: 除非找到摘要分隔符,否则不会发生内容截断。
size: int
: 大于int长度的内容将被截断。 如果找到摘要分隔符,则内容将被截断为摘要分隔符。
format: long
:内容的任何摘要分隔符将被忽略。 size:0
摘要等于整个页面内容。size: int
:内容将在整型字符之后被截断,与摘要分隔符的位置无关。
format: short
:检测并截断内容,直至摘要分隔符位置。size:0 - 如果未找到摘要分隔符,则摘要等于页面内容,否则内容将被截断为摘要分隔符位置。size:int - 总是在int chars之后截断内容。 如果找到摘要分隔符,则截断内容直到摘要分隔符位置。
Template
如前一章所述,用于呈现页面的主题中的模板基于.md文件的文件名。
所以一个名为default.md的文件将使用活动主题中的默认模板。 当然,您可以通过在标题中设置模板变量并选择其他模板来覆盖此行为。
Taxonomy
taxonomy:
category: blog
tag: [sample, demo, grav]
如果在该文件中没有定义分类,它将被忽略。 在这个例子中,页面被定义为在博客类别中,并且具有标签:sample,demo和grav。 这些分类法可以用来从其他页面,插件甚至主题中找到这些页面。 分类法章节将更详细地介绍这个概念。
Cache Enable
Never Cache Twig
Process
process:
markdown: false
twig: true
页面的处理是另一个高级功能。默认情况下,Grav会处理markdown
,但不会在页面中处理twig
。
这种选择默认情况下不处理“Twig”纯粹是出于性能的原因,因为这不是一个常用的功能。 过程变量允许您覆盖此行为。
Process Twig First
twig_first: false #是否先于markdown处理
Markdown
markdown:
extra: false
auto_line_breaks: false
auto_url_links: false
escape_markup: false
special_chars:
'>': 'gt'
'<': 'lt'
extra:启用对Markdown Extra支持的支持(默认为GFM)
auto_line_breaks:启用自动换行符
auto_url_links:启用自动HTML链接
escape_markup:将标记标签转义为实体
special_chars:自动转换为特殊字符的列表
这些Markdown设置是我们在v0.9.14中添加的新功能。 您可以通过您的user / config / system.yaml配置文件全局启用这些设置,也可以使用此标记选项覆盖每个页面的全局设置。
HTTP Response Code
允许动态设置HTTP响应代码。
ETag
LastModified
在页面级别启用或禁用是否显示带修改日期的Last Modified标题变量。 默认情况下为false,除非在你的system.yaml中被覆盖