51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Hexo跳过指定文件渲染

前言 {#前言}

这两天做的一个 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后缀文件 |

赞(1)
未经允许不得转载:工具盒子 » Hexo跳过指定文件渲染