个人博客这个东西,真的很需要打理。这年头信息量太大,事情太多,让人很难静下心来好好地写些什么。偶然打开博客,发现界面太丑了,而我用的 Gitblog 也很久没更新了(官网都没了)。于是认真地考虑了一下要不要做博客迁移。
之前用过 WordPress 和 Typecho,后来觉得太臃肿,而且依赖性高,都弃用了。之后用上了 Gitblog,于是再也不想用需要数据库或不支持 Markdown 的博客了。这次找了很久,各种比较,最后在 Gasby 和 Hexo 里选用了后者。
这篇文章,就是记录我博客迁移的路程……
安装 Hexo
首先要配置好 Node.js 环境和 git,然后安装 Hexo。
1 | $ npm install -g hexo-cli |
安装主题
在 Hexo 官方的主题页面物色了许久,最后相中了 Material X 这个主题。安装起来也是很简单的:
1 | $ git clone https://github.com/xaoxuu/hexo-theme-material-x themes/material-x |
然后把 themes/material-x/_config.yml
里的内容附加到 _config.yml
末尾。
基本设置
基本设置全部在 _config.yml
这个文件里完成:
- 修改站点信息。
- 修改永久链接格式。
- 配置分类的中英文映射。
- 修改主题名称。
- 配置主题的导航栏、小插件、社交信息。
- 配置主题使用的评论模块 Valine。
设置的时候,顺便物色了以下几个插件:
- hexo-tag-imgurl:简化图片的绝对地址(这个真·方便)
- hexo-auto-category: 根据文件夹自动标注(试过了删了,貌似预览的时候一直在生成 md 文件?)
- hexo-renderer-markdown-it-plus:更好的 markdown 渲染(这个想用来着,还用不着)
调整样式
装好主题以后,就要个性化了。我先把主题颜色由浅红色调成了浅绿色,具体方法为:把 themes/material-x/source/less/_defines.less
里的 @theme_base_tint: @color_ax_light_red;
改成了 @theme_base_tint: @color_light_green
。
其次,当然是增加我专属的红磷分割线,编辑 themes/material-x/source/less/_article.less
文件,在其中的 .article
里最前面加入以下代码:
1 | phr::before { |
之所以要放在最前面,是因为如果放在最后的话,优先级会低于原有的 p {margin-top: .5em;}
这条样式。
博文迁移
由于 Hexo 与 Gitblog 都使用 Markdown + YAML,二者间的迁移几乎无缝。最主要需要改动的,就是每个 md 文件的页头部分(front-matter)了,比如二者的 tags 格式就不同。
此外,还有一些细节要改动。「关于」页面里的引用,我替换成了标签插件,主要是因为标签插件表示的图片支持相对路径,而标签插件的引用对作者和出处的显示效果比较好。
最后,我在大部分博文的适当位置加入了 <!--more-->
标签。
在迁移的过程中,遇到了一些小小问题,自力更生解决掉了,具体方法我记录在附录里了。未来遇到 Hexo 方面的小问题,我也会更新在里面。
线上部署
博文在本地预览没有问题后,就要考虑线上部署了。因为 Hexo 是静态页面,所以基本上任何空间都能满足。
我一如既往地选择了 CODING,支持 git,速度快。(不过貌似最近被腾讯云收了?不知道之后会怎么发展)
Github 也不是没考虑过,只不过……似乎在国内访问起来速度不佳?
以上,就是我折腾 Hexo 的过程。
(完)
附录:问题解决
主界面里图片过宽
问题:在主界面里,博文中的小图片会被拉伸至宽度占满整个博文预览目录。
定位: themes/material-x/source/less/_main.less
1 | img, |
解决方案:删掉这一段代码。
斜体样式出错
问题:文章中用 Markdown 的 *XXX*
添加的斜体样式,显示出错,下面增加了着重号。
定位: themes/material-x/source/less/_article.less
1 | em { |
解决方案:删掉这一段代码。