母版页 就是预先定义一个模板,这个模板包含框架、布局、样式等通用信息,其他页面开发时可以引用这个模板,在这个模板基础上进行开发,以避免复制粘贴或重复开发。
母版页必须是.html
文件,可以放在站点的任何目录下,比如/template/form.html
。示例代码如下:
在母版中,支持 Voyager 的所有特性,比如参数、服务器端包含、引入语言包、服务器端逻辑等,就和一个不使用母版的页面一样。
Voyager 母版页
、
都是参数,如果在引用母版时传递参数在下一节介绍。<#include file="/bar.html"/>
<#include language="#{language}"/>
,这里使用了参数#{language}
<~u0025 IF $button IS UNDEFINED THEN ~u0025>
在母版页中,有几个保留参数,这些参数名称不要通过传参的方式进行替换:
Voyager 母版页
可以向母版页传递title
参数,如果不传则自动解析 Markdown 文档中的主标题。
Voyager 根据引用的组件自动判断引入哪些 Javascript 文件和 CSS 样式文件,不可传参替换。#{content}
使用母版页的页面在被解析后替换这个位置,是子页面的内容页代码,不可传参替换。在子页面中需要指定页面使了哪个母板页,子页面解析后(如从 Markdonw 转成 HTML)会自动替换母板页#{content}
所在的位置。
通过以下语法指定母版面:
地址相对于整个站点,可以放在站点的任何位置。
多数情况下,我们需要向母版页传递参数,以让母版页显示不同的内容。
也可通过 Json 格式进行传参,更多信息请参考 Voyager 参数处理。另外,如果想在母版页中使用引用页的变量或数据,可以使用“逻辑前置”,见 Voyager 语法中相关的说明。
参考链接