hexo 主题制作
背景介绍
hexo 是一个免费简单的博客框架,有很多好看开源主题,但是当你看到别人的博客和你自己的博客一模一样的时候,还是有点奇怪,熟悉又陌生的感觉
Hexo 内建 Swig 模板引擎,但是可以另外安装插件来获得 EJS、Haml 或 Jade 支持,Hexo 根据模板文件的扩展名来决定所使用的模板引擎,例如:layout.ejs,layout.swig
我有尝试过用 Swig,毕竟不需要安装插件,但是用过之后还是果断换回了 Pug(原 jade ),如果你两种模板引擎都没接触过那推荐你用 Swig,上手简单会快些,但如果你也是 Pug 的忠实粉丝,那么还是安装插件吧
你需要安装 2 个插件,渲染 jade 页面的插件和热更新的插件,并保存在 packagejson devDependencies 是开发时需要的插件
1 | npm install hexo-server hexo-browsersync hexo-renderer-jade --save-dev |
手动构建
在…\blog\themes 新建一个文件夹,文件夹名称是你主题的名字,一个主题可能是这样的结构
1 | ├── languages 语言文件,用于国际化 |
如果你的网站在二级目录可以在网站配置文件_config.yml 更改 url
每个主题都可以有一个 layout 的页面布局文件,因为像 footer、header 等都是可以做复用的,所以我们可以最大化的利用 pug 或者 swig 等模板引擎的局部模板功能
比如 pug,更多详细内容可以查看官方文档
1 | extends // 被继承的模板路径 |
Yeoman 生成基本框架
1 | npm install yo -g // 全局安装 Yeoman |
数据填充
hexo 提供了很多辅助函数和变量
在开发过程中 hexo 是服务端渲染,所以他的所有变量是 node 的全局变量,非页面的
部署后点击分类 404
分类是使用辅助函数 list_categories() 生成, 本地一切正常部署后点击分类是 404,我原来的分类名称是小写字母,后来我自己改成全部大写,就出现了这个问题, 这是因为git 远程仓库文件名称没有改变,清空后重新上传就好
一些插件
WordCount 字数统计
1 | // 安装 |
卜蒜子 阅读量统计
1 | <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script> |
参考文章
*hexo 主题制作官方文档: https://hexo.io/zh-cn/docs/permalinks
更新时间:2019-08-05
转载请注明来源,欢迎指出任何有错误或不够清晰的表达