基本概念
在October系统中所构建的每一个页面都是由Layout(布局)、Page(页面)、Partials(部件)和Content blocks(内容块)组成。最简单的情况就是只有一个Page也是可以的。
Layouts
Layout定义了一个页面的结构。布局文件layouts/default.htm定义了页面的结构,以及在每个页面上重复的部分,诸如HTML、Head和Body标签,样式表和JS文件引用。
在Demo主题中的菜单和页脚也是在布局中定义的。
Pages
页面保存了每一个页面的内容。
页面文件pages/home.htm 定义页面URL(/当前页面)和页面内容。 页面在布局中渲染,这个函数“page”应该在布局代码中被调用:
{% page %}
为页面使用布局是可选的,您可以在页面文件中定义所有的内容,而不使用布局。
Partials
包含了可以重复使用的HTML标记块。这些标记块定义在一个一个的单独的问题件中,可以被使用在任何地方。
Partials的渲染方式为:
{% partial "partial-name" %}
Partial文件可以放到Partials目录里面的任何文件夹下,比如:我们将页脚的内容放到了partials/site/footer.htm这个partial里面了。 则引用的方法就是:
{% partial "site/footer" %}
Partials可以被pages、layouts或者其他的partials引用。没有限制。
Content Blocks
内容块是独立于pages、layouts的文本、可编辑的html代码块。
比如content/welcome.htm文件。 渲染格式如下:
{% content "content-name.htm" %}
Placeholders
placeholders允许Pages注入内容到Layout中。
一般情况下,是把js和样式表注入到layout的head标签中。placeholder在layout中定义,页面中执行注入操作。
Layout file:
<head>
...
{% placeholder head %}
</head>
Page file:
{% put head %}
<link href="css/theme.css" rel="stylesheet">
<script src="js/script.js"></script>
{% endput %}
Assets
存储的是诸如JavaScript, StyleSheet, images, fonts, 等 资源文件,当然也可以引入第三方包。