Hexo渲染时排除部分文件或目录

日期: 2017-03-10 分类: geeks

搜索引擎确认网站所有权时往往会提供一个html文件来进行验证,要是这个文件被渲染了,验证自然就会失败了。或者,有时候会写一些简单的html示例页面,这也是不希望Hexo渲染的。因此有必要针对某个文件或者目录进行排除。Hexo的配置文件中提供了配置项skip_render,但总不清楚到底该怎么用。

注意

只有source目录下的文件才会发布到public(能够在网络上访问到),因此Hexo只渲染source目录下的文件。skip_render参数设置的路径是相对于source目录的路径。

设置排除项

假设source目录下的文件如以下目录树所示

1
2
3
4
5
6
7
8
9
10
11
12
├─ demo
| ├─ js-view-size
| | ├─ 1.html
| | └┈ 2.html
| ├─ other
| | ├─ 3.html
| | ├─ 4.html
| | └┈ 5.md
| ├─ 6.html
| └┈ 7.md
├─ baidu.html
└┈ google.html

排除单个文件

  • 排除baidu.html

    1
    skip_render: 'baidu.html'
  • 排除3.html

    1
    skip_render: 'demo/other/3.html'

排除多个文件

  • 排除baidu.htmlgoogle.html

    1
    2
    3
    skip_render:
    - 'baidu.html'
    - 'google.html'

    或者

    1
    skip_render: '*.html'

    后者会排除source目录下所有后缀为html的文件,但是不会排除子目录如demo及其子目录中的html文件。

  • 排除baidu.htmlgoogle.html以及3.html

    1
    2
    3
    4
    skip_render:
    - 'baidu.html'
    - 'google.html'
    - 'demo/other/3.html'

    或者

    1
    2
    3
    skip_render:
    - '*.html'
    - 'demo/other/3.html'
  • 排除source/demo/other目录中的所有html文件

    1
    skip_render: 'demo/other/*.html'

    这不会排除5.md文件

  • 排除source/demo/other目录中的所有文件

    1
    skip_render: 'demo/other/**'
  • 排除baidu.htmlgoogle.html以及整个source/demo目录

    1
    2
    3
    skip_render:
    - '*.html'
    - 'demo/**'

    排除所有特定后缀的文件,暂且不知道如何设置。

    参考文章

  • Hexo技巧收集 - 不定期更新