想为博客添加一个自定义页面,通过简码的方式可以更优雅的实现上述需求

创建一个空白页模板

themes/your_theme/layouts/_default中创建文件includeTemplate.html

如果想在网页中继承博客的headerfooter,可以复制同目录中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访问

2210emKOLTrkrG.png

参考链接

  1. https://xa1.at/hugo-include-html/