hexo忽略编译某些文件
小明 Lv7

我们需要自己定义一些页面,比如:404.html,需要在source目录下填加一个demo目录放一些示例文件,hexo默认会编译source目录下的所有文件。但demo目录并不需要编译,_config.yml有提供一个配置项skip_render, 官网说明:

skip_render:跳过指定文件的渲染,您可使用glob表达式来匹配路径。

glob表达式链接的是minimatch,说明路径匹配用的应该是minimatch这个npm模块包来完成的。需要指出的是这里面配置的路径都是相对source目录的。

  1. 如何需要跳过source目录下文件的编译:

    1
    2
    3
    4
    5
    // 跳过单个文件
    skip_render: test.html

    // 跳过所有的html的文件
    skip_render: '*.html'
  2. 跳过某一目录下的所有文件:

    1
    skip_render: test/*
  3. 需要跳过某一目录下的所有文件和子目录时:

    1
    skip_render: test/**
  4. 跳过多个目录,或者多个文件:

    1
    2
    // 最新版本的hexo,用这个好使
    skip_render: ['*.html', demo/**, test/*]

    看见有人是说是这样,反正我试不管事,可能的版本的原因:

1
2
3
4
// 我试了试,不管事啊。
skip_render:
- test1/*.html
- test2/**

ps:

  1. 如果设置skip_render不起作用,可以先执行hexo clean清除一下缓存。

  2. 如果跳过多个目录编译失败,请尝试更新hexo, 在source同级目录中执行npm update hexo

  3. 如果需要查看是否成功跳过编译,可以在编译的时候加上--debug

    1
    hexo generate --debug

    关注打印出来的Rendering xxxx 中的东西。

欢迎关注微信公众号,获取更多资源

程序员小明

  • 本文标题:hexo忽略编译某些文件
  • 本文作者:小明
  • 创建时间:2019-10-10 17:03:48
  • 本文链接:https://mynamecoder.com/p/d2c.html
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!