10
09/2014
hexo 静态文件处理
感谢 youxiachai 的帮助,给出一个办法。
这个需要在主题模板中里面处理.
例如,如果启用layout.ejs的话,可以用yaml 标注页面layout: fasle,然后在layout.ejs 里面加一个判断 <% if(page.layout === false) %>之类的 … #143 这里也有说明,当然,如果页面很多的话,那样的可以考虑建一个分类,然后,在主题渲染的入口文件,判断该分类不进行渲染
这个思路的确可行。缺点就是必须在那些不想被render的静态文件最开始,都加入
layout: false ---
而我不希望动这些 labs/*.htm,万一拷贝到其它地方,“layout: false” 可能会被显示出来。
我是这样修改 layout.ejs 的
<% if(page.layout=='page'){ %> <% if(page.source.match(/\.md$/)){ %> 原来的内容 <% }else{ %> <%- page.content %> <% } %> <% }else{ %> 原来的内容 <% } %>
- index.html 之类 page.layout==”undefined”
- .js,.css 无后缀文件 不处理
- A.htm,A.html,source 根目录下的 .md 都是 page.layout==”page”
- source/_post 根目录下的 .md 都是 page.layout==”post”
- …
如果是 page 并且是 .md 文件,处理,否则直接输出内容。
缺点
.htm 文件还是会被转为 .html 后缀!