Grav 中的页面(一):基本概念

图1

一、页面是什么?

首先要知道的是:Grav 中,所有的内容都以文件(夹)的形式存储在 Grav 安装目录下的 user/pages/ 中。

Grav 中的每个页面都是一个独立的文件夹(注意:是文件夹,不是文件)。页面中的具体内容才是以这个文件夹里面的文件来存储的。

图1所示,user/pages/ 下面有 01.home/02.blog/03.about-us/ 等几个文件夹,就代表了 homeblogabout-us 等几个页面。这里可能会有疑问,为什么不是 01.home02.blog03.about-us 呢?因为文件夹名前面的数字和点是用来给页面排序用的,并不是页面名字的一部分,它们也不是必需的。访问页面也很简单,如果想要访问 02.blog 这个文件夹代表的页面,只要输入 http://yourdomain.com/blog/ 即可。大多数时候,我们并不会通过直接创建文件夹和文件的方式来创建页面,在后台点几下鼠标来新建页面要方便的多,不过了解基本的概念还是很有必要的。

二、页面的种类

图2

在 Grav 中,页面默认有三种形式,分别是:普通页面、列表页面、模块化页面(见图2)。

普通页面

普通页面有点类似 WordPress 中的页面。你输入了一些内容,比如一篇网站简介,然后用一个页面把它如实显示出来,这样的页面就叫普通页面。

Grav 安装完成后就有一个默认首页(如图3所示),这就是一个典型的普通页面。

图3

列表页面

列表页面这种形式在 WordPress 或其它博客程序中也很常见。比如我们常见的博客首页会展示最新的五篇或者十篇文章,那这个页面就可以称为列表页面。它是一个文章的列表。

相对普通页面,列表页面要更复杂一点。要展示一个列表页面,我们往往还需要确定一些参数,比如:这个列表要展示哪些页面?每页展示几个项目?是否需要分页?展示的项目如何排序?关于如何创建列表页面以及及如何设置相关的参数都会在后面提及,这里先介绍基本的概念。

模块化页面

最后要介绍的是模块化页面。模块化页面和列表页面类似但也有不同。

假设我们需要创建一个个人简历页面,它包括以下内容:基本信息、职业技能、工作经历、项目展示。我们当然可以用一个普通页面来实现它——即把所有上面这些内容都写在一个页面里。不过也可以用另一种更好的方式:为这四个部分放在四个独立的文件里,然后在一个页面中把它们整合后展示出来,这个整合后的页面就叫模块化页面。

模块化页面和列表页面的相同之处在于:他们都包含了其它页面的内容。比如展示最新五篇博客的列表包含了五篇博文;上面的例子中展示简历的页面则包含了简历的四个部分。

它们的不同之处在于:博客列表页面包含的五篇博文是它的子页面。子页面是单独的页面,可以被独立访问。就像图1中的 02.blog/ 和它的子目录 /blog-item-1 ,你可以通过 http://yourdomain.com/blog/ 来访问 blog 页面,也可以通过 http://yourdomain.com/blog/blog-item-1/ 来访问它的子页面。再看图1中的 01.home/,很显然,01.home/ 以及它的子目录和 02.blog/ 十分类似,但是 01.home/ 的子目录的命名都是以下划线 _ 开头。以下划线开头的目录代表了它是一个模块。模块与子页面的区别在于:模板不能被单独访问。我们能通过 http://yourdomain.com/blog/blog-item-1/ 来访问 blog 页面的子页面 blog-item-1,但是无法通过 http://yourdomain.com/home/_body/ 来访问 home 页面的 body 模块——它只能作为 home 的一部分来展示。


这里介绍了 Grav 中关于页面的一些基本概念,当然更详细的介绍可以查阅官方文档。接下来的文章我会进一步介绍如何灵活运用三种主要的页面形式来构建网站。

发表评论

Email 地址不会被公开。用( * )标记的为必填项。

你能使用如下 <abbr title="HyperText Markup Language">HTML</abbr> 标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>