Open 8788 opened 5 years ago
历史文章,发布于2014年,现迁移到issues
用wordpress很长一段时间了,尽管wp很成熟,插件也比较多,功能也应有尽有。但是每次写东西的时候,都要经历一个繁琐的过程,很是让人不爽。之前的流程是这样:
markdown编写内容 --> 插件导出html --> 粘贴到wp后台 --> 发布
当想修改文章的时候,又得重新来一遍。终于还是受不了了,于是抽出了几天时间了解了 hexo,觉得挺好用的,而且可以直接托管在github,连虚拟主机的费用都省了。而且hexo从写到发布流程也比较简单,只需两条命令就可以完成发布流程:
hexo g --> hexo d
迁到hexo的同时,也更换了新的域名,旧的文章后期会选择性的迁过来一些。
对于第一次接触hexo的用户来说,还是需要花点时间来了解下的,我是参考了下面的两篇文章,介绍的非常详细,所以对这里就不赘述了。
hexo你的博客 hexo系列教程
hexo主题是这次迁移博客花的时间最多的地方,https://github.com/tommy351/hexo/wiki/Themes,官方虽然也列出来了不少主题,大致看了一遍都不是太喜欢。于是就在hexo-theme-strict的基础上进行了修改,也就是现在用的这个主题,等以后对hexo熟悉之后再考虑自己开发一个主题。
这次主要对strict主题进行了以下修改:
strict
首页风格如下图:
修改后的主题源码也放到了github上,喜欢的可以下载下来使用,具体使用方法可参考说明
https://github.com/8788/hexo-diy-strict
我们知道要想在博客的根目录添加资源(图片、html等),只需将对应的文件放在source目录下即可。但是经过测试发现,当把.html文件放在source目录下时,hexo也会把它当成.md文件去渲染。官方给出的方案是在html文件头部加上:
source
layout: false ---
很显然,如果页面过多的话,会比较坑。目前还没发现比较好的方案,于是尝试修改hexo的源码。在node安装目录\node_modules\hexo\lib\plugins\generator下有个page.js文件(ps: 测试的系统是win7 64位,hexo版本2.5.2),找到以下代码:
node安装目录\node_modules\hexo\lib\plugins\generator
page.js
2.5.2
if (!layout || layout === 'false'){ route.set(item.path, function(fn){ fn(null, item.content); }); } else { render(item.path, [layout, 'page', 'post', 'index'], item); }
将其修改为:
var notRender = ['test1', 'test2']; // 设置不被render的目录 var dir = path.substring(0, path.indexOf('/')); if (!layout || layout === 'false' || notRender.indexOf(dir) > -1){ route.set(item.path, function(fn){ fn(null, item.content); }); } else { render(item.path, [layout, 'page', 'post', 'index'], item); }
notRender中的test1, test2目录即为不需要被render的目录,保存后,重新执行hexo g命令就会发现source中的test1和test2目录下的html文件没有被render。
test1
test2
hexo g
另外感谢@xzper 和 @熙和 补充的通过hexo-processor-copyassets插件来解决的方案,详情请参考:
hexo-processor-copyassets
https://github.com/f111fei/hexo-processor-copyassets
用wordpress很长一段时间了,尽管wp很成熟,插件也比较多,功能也应有尽有。但是每次写东西的时候,都要经历一个繁琐的过程,很是让人不爽。之前的流程是这样:
当想修改文章的时候,又得重新来一遍。终于还是受不了了,于是抽出了几天时间了解了 hexo,觉得挺好用的,而且可以直接托管在github,连虚拟主机的费用都省了。而且hexo从写到发布流程也比较简单,只需两条命令就可以完成发布流程:
迁到hexo的同时,也更换了新的域名,旧的文章后期会选择性的迁过来一些。
hexo的使用
对于第一次接触hexo的用户来说,还是需要花点时间来了解下的,我是参考了下面的两篇文章,介绍的非常详细,所以对这里就不赘述了。
hexo主题
hexo主题是这次迁移博客花的时间最多的地方,https://github.com/tommy351/hexo/wiki/Themes,官方虽然也列出来了不少主题,大致看了一遍都不是太喜欢。于是就在hexo-theme-strict的基础上进行了修改,也就是现在用的这个主题,等以后对hexo熟悉之后再考虑自己开发一个主题。
这次主要对
strict
主题进行了以下修改:首页风格如下图:
修改后的主题源码也放到了github上,喜欢的可以下载下来使用,具体使用方法可参考说明
让html页面不被render
我们知道要想在博客的根目录添加资源(图片、html等),只需将对应的文件放在
source
目录下即可。但是经过测试发现,当把.html文件放在source
目录下时,hexo也会把它当成.md文件去渲染。官方给出的方案是在html文件头部加上:很显然,如果页面过多的话,会比较坑。目前还没发现比较好的方案,于是尝试修改hexo的源码。在
node安装目录\node_modules\hexo\lib\plugins\generator
下有个page.js
文件(ps: 测试的系统是win7 64位,hexo版本2.5.2
),找到以下代码:将其修改为:
notRender中的
test1
,test2
目录即为不需要被render的目录,保存后,重新执行hexo g
命令就会发现source
中的test1
和test2
目录下的html文件没有被render。另外感谢@xzper 和 @熙和 补充的通过
hexo-processor-copyassets
插件来解决的方案,详情请参考: