我们有的时候想放一下别的页面,比如,我们自己写了一个 html
。但是,在渲染的时候,会被 hexo 自动添加一些东西,所以,我想不让 hexo
自动渲染。
比如,我创建了一个 html 文件,引用了 js 、css 等,我如果不想叫渲染的话,可以在 html 的开头加上
1 | layout: false |
只是这个方法只适用于 html
文件,而且每个文件都要加,还是有很大的局限性。除此之外,有个还笨办法,就是把要引用的文件放到 themes/(主题名)/source
文件夹下,这样也会避免被编译,但本人不建议使用。
我用的是上面的方法,下面的方法没用过,但是,可以看一下:
打开 hexo
项目根目录下的配置文件 _config.yml
,找到 skip_render:
,在这里就可以配置需要跳过渲染的文件。
例如,我们把所有静态页面放到 source
文件夹下的 demo
文件夹中,只要配置
skip_render: demo/**
就可以使demo
下的所有文件(包括子文件)避免被编译。这样的匹配规则在许多前端框架和自动化工具中都有用到,前端小伙伴应该都很熟悉。举几个例子:
1 | skip_render: demo/* # 屏蔽demo文件夹下的文件,不包括子文件夹内的内容 |
写多个筛选条件时,要这样:
1 | skip_render: |
配置文件写好后,重新生成代码,就可以通过链接访问未经编码的原生页面了。这里有个小问题,在 markdown
页面里的链接只能在本页面打开,如果想实现以新标签打开链接,可以直接在 markdown
写<a target="_blank" href="#"></a>
,或者通过js控制。
注意
在执行 hexo g
生成代码之前,建议先执行hexo clean
将原有代码清空,以免造成混乱。