Hexo作为开源的博客平台,我们其实可以自定义一些自己喜欢的主题或者页面,我们只需要在source
目录下填加一个demo
目录放一些示例文件,hexo默认会编译source
目录下的所有文件。下面主要给大家分享一下小明遇到的一个技术点:比如有时候demo目录并不需要编译,比如:404.html。
这些hexo都为我们考虑好了,_config.yml
中有提供一个配置项skip_render
, 官网说明如下:
skip_render:跳过指定文件的渲染,您可使用glob表达式来匹配路径。
glob表达式链接的是minimatch
,说明路径匹配用的应该是minimatch
这个npm模块包来完成的。需要指出的是这里面配置的路径都是相对source
目录的。
- 如何需要跳过
source
目录下文件的编译: // 跳过单个文件 skip_render: test.html // 跳过所有的html的文件 skip_render: '*.html' - 跳过某一目录下的所有文件: skip_render: test/*
- 需要跳过某一目录下的所有文件和子目录时: skip_render: test/**
- 跳过多个目录,或者多个文件: // 最新版本的hexo,用这个好使 skip_render: ['*.html', demo/**, test/*]
看见有人是说是这样,反正我试不管事,可能的版本的原因:
代码语言:javascript复制// 我试了试,不管事啊。
skip_render:
- test1/*.html
- test2/**
ps:
- 如果设置
skip_render
不起作用,可以先执行hexo clean
清除一下缓存。 - 如果跳过多个目录编译失败,请尝试更新
hexo
, 在source
同级目录中执行npm update hexo
- 如果需要查看是否成功跳过编译,可以在编译的时候加上
--debug
hexo generate --debug
关注打印出来的Rendering xxxx
中的东西。
以下是我在skip_render
中加入test/*
的前后对比:
添加test/*前
添加test/*后