前言 {#前言}
这两天做的一个 stars页面 预览渲染时,产生了错误
Hexo预览渲染时会对默认 /source/
里的所有文件页面应用主题模板渲染
但有一些自己的前端作品或demo页我们不希望经过渲染(因为会报错)
而是保持完全原来的样子
- 添加的模块仍在主题内,主题头部信息依然存在,仅仅是在特定区域进行渲染(适合添加 about 页面)
- 完全页面渲染,在主题内点击对应链接跳转到一个完全崭新的页面(我需要的)
Hexo渲染逻辑 {#Hexo渲染逻辑}
source
文件夹下存放了待被转化的 markdown
文件
在执行 hexo g
命令时,source
目录下的文件将被转化为 HTML
文件
解决方法 {#解决方法}
在查看Hexo的_config.yml配置文件的时候发现有这么一个东西
|---------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| # Directory source_dir: source # 资源文件夹,这个文件夹用来存放内容 public_dir: public # 公共文件夹,这个文件夹用于存放生成的站点文件 tag_dir: tags # 标签文件夹 archive_dir: archives # 归档文件夹 category_dir: categories # 分类文件夹 code_dir: downloads/code # Include code 文件夹 assets_dir: assets # 资源文件夹 i18n_dir: :lang # 国际化(i18n)文件夹 skip_render: # 跳过指定文件的渲染,您可使用 glob 表达式来匹配路径
|
其中的 skip_render:
则可以帮助我们跳过指定的文件或文件夹内的内容渲染
- 排除单个文件
|-------------|----------------------------------------------------|
| 1 2
| skip_render: stars/** # 排除 stars 文件夹内所有的文件
|
|-------------|-------------------------------------------------------------------------------------------|
| 1 2
| skip_render: *.html # 排除 source 文件夹下所有后缀为 html 的文件,但是不会排除子目录如stars及其子目录中的1.html文件
|
- 排除多个文件
|-----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1 2 3 4 5 6 7
| skip_render: - '1.html' # 排除 source 文件夹下所有的 1.html 文件,但是不会排除子目录如 stars 及其子目录中的 1.html 文件 - 'stars/all.json' # 排除 stars 文件夹内的 all.json 文件 - 'stars/*.html' # 排除 stars 文件夹内所有的 html后缀文件
|