想为博客添加一个自定义页面,通过简码的方式可以更优雅的实现上述需求
创建一个空白页模板
在themes/your_theme/layouts/_default
中创建文件includeTemplate.html
如果想在网页中继承博客的header
和footer
,可以复制同目录中single.html
的内容进行修改
<!-- <header> -->
{{ .Content }}
<!-- <footer> -->
在网页中显示文章的内容部分
创建简码
在layouts/shortcodes
中创建文件include-html
{{ $file := .Get 0 }}
{{ $file | readFile | safeHTML }}
第一行的作用是读取传入的第一个参数并赋值给$file
变量
第二行将$file
传递给readFile以读取文件,之后通过管道符把内容传递给safeHTML以将内容声明为安全HTML
创建自定义页面
在content
文件夹创建一个html文件simple.html
<p style="color: red;">simple html</p>
在content
文件夹创建一篇文章simple.md
---
title: "simple"
layout: "includeTemplate"
url: /simple
---
{{< include-html "content/simple.html" >}}
layout 表示使用的模板,这里使用我们创建的includeTemplate模板
url 属性给这篇文章设置一个url
此时可通过https://domain.com/simple
访问