https://learn.getgrav.org/content/headers

Header中的变量

Grave有三种页面类型:

  • Standard
  • Listing
  • Modular

Header的几个变量:

title

title: 控制页面标题。如果没有标题,会尝试使用slug变量。

slug:

slug: 允许你专门设置URL的页面部分。 例如:如果设置了slug: my-page-slug, 那么http://yoursite.com/my-page-slug将是网址。

如果没有在页面中设置slu Gra,Grav会退回到使用文件夹名称(不带任何数字前缀)。 slug对应变量的拼写推荐使用小写字母、短划线和下划线。

用来设置页面导航菜单按钮的名字。如果没设置,将会用title变量。

Date

date: 01/01/2014 3:14pm

日期变量允许您专门设置与此页面相关的日期。通常用于指示创建帖子的时间,并可用于显示或排序目的。 如果未设置,则默认为页面的上次修改时间。

Published

默认情况下,默认将发布一个页面,除非published为false,或者通过设置publish_date为未来的某个时间,或者设置unpublish_date为过去的某个时间。Published的有效值是truefalse

Publish Date

publish_date: 01/23/2015 13:00

可选字段,但可以提供自动触发发布的日期。 有效值是strtotime()支持的任何字符串日期值。

Unpublish Date

unpublish_date: 05/17/2015 00:32

可选字段,但可以提供自动触发取消发布的日期。 有效值是strtotime()支持的任何字符串日期值。

Visible

visible: false

顾名思义,描述是否可见。此外:如果文件夹名字不是1.home这种num.name形式的,页面内容也是不可见的。

SSL

ssl: true

从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: false

默认情况下,所有页面都是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

template: custom

如前一章所述,用于呈现页面的主题中的模板基于.md文件的文件名。

所以一个名为default.md的文件将使用活动主题中的默认模板。 当然,您可以通过在标题中设置模板变量并选择其他模板来覆盖此行为。

Template Format

template_format: xml

Taxonomy

taxonomy:
    category: blog
    tag: [sample, demo, grav]

如果在该文件中没有定义分类,它将被忽略。 在这个例子中,页面被定义为在博客类别中,并且具有标签:sample,demo和grav。 这些分类法可以用来从其他页面,插件甚至主题中找到这些页面。 分类法章节将更详细地介绍这个概念。

Cache Enable

cache_enable: false #页面是否开启缓存

Never Cache Twig

never_cache_twig: true

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_response_code: 404

允许动态设置HTTP响应代码。

ETag

LastModified

last_modified: true

在页面级别启用或禁用是否显示带修改日期的Last Modified标题变量。 默认情况下为false,除非在你的system.yaml中被覆盖