从Hexo开始的个人思考

一、前言

这篇文章仅仅是自己对这段时间玩Hexo的个人意见,同时也算是某一个阶段的记录。



二、我为什么想要搭建一个博客

首先,现在已经有非常多的博客平台,如CSDN、简书、博客园、知乎······等等等等,开箱即用的功能,良好的SEO,我为什么还想要自己折腾呢?如果说是想要提升一点什么或者学到一些什么,其实可以说是反其道而行之了。或者说可以简而言之:不甘于平凡,但又没什么能力。

外观

想搭建一个博客平台的念头是从Typecho主题开始的——小姐姐的博客很好看(Windows Terminal终端安装与美化),对这样一个这么好看的博客系统,有哪个对小姐姐没有抵抗力的男孩子能不心动呢!

大部分博客平台虽然可以一定程度上的定制化,但是相比之下可以说简直没有可比性。

  • 论布局,可以说是·······一言难尽。两边有太多繁杂而又用处不是很大的信息,特别是广告如果不用插件可能······,而可能是刚需的“跟随式”侧边栏目录却又不够完善或者说······。
  • 论主题,我目前最喜欢的md主题是vue的主题配色,具体什么样的可以参见Vue官网,这款主题清新、优雅、简约·······等等等等列举不完。而除了GitHub的README.md,别的主题都不是太好看个人感觉,尤其是行内代码块。

功能

大部分博客平台发现其实都只有归档和分类这两个管理博客的维度,而大佬们搭建的博客里,起码有归档、分类、标签这三个维度。其中对教主来说比较刚需的是分类维度和标签维度:分类约束了一篇文章应该属于的范畴,类比类,而标签反映了一篇文章可能具有的性质,类比接口。

如果说换一个角度思考,归档是为了查找更新和维护,分类是为了管理,那标签则是为了吸引人。对于归档教主并不是刚需,我不是太擅长于根据时间线来进行查找(这里的“不是很擅长”应该理解为 “be not very goog at”)。

需求

所以说我是非常迫切的想要搭建一个自己的博客的,而且仅仅希望满足如下的功能:

  • 外观简洁美观
  • 自动跟随的侧边栏目录
  • 完全的md语法支持
  • 至少具有分类和标签两个文章维度
  • 类 Vue 主题
  • ···



三、静态站点生成器的选择

VuePress

因为比较喜欢Vue的主题,那么第一个尝试的肯定也是这款了撒,虽然之前就根本不知道尤大佬还开发了这么一款博客系统。但是VuePress似乎对开箱即用做的还不是很好,而且我在渲染任务列表时还出现了问题,以下的md内容居然无法正常渲染:

- [x] 已完成
- [ ] 未完成

但不得不说这款站点是好看,真的好看,真的好看,真的好看!

目前比较好看的主题教主目前所知有:

  • vuepress-theme-ting,小姐姐写的主题,是非常nice的,但是对对小姐姐没有抵抗力的孩子来说还是有点太过唯美。
  • vuepress-theme-reco,这款主题感觉还是挺好的,提供了一些VuePress本身没有的开箱即用的功能,并且配有比较完善的文档。

对于在VuePress官网中的标签:

简洁至上

以 Markdown 为中心的项目结构,以最少的配置帮助你专注于写作。

以及尤大佬在和Hexo做对比时提到的:

Hexo

Hexo 一直驱动着 Vue 的文档 —— 事实上,在把我们的主站从 Hexo 迁移到 VuePress 之前,我们可能还有很长的路要走。

至少在目前而言,我感觉如果需要用VuePress来搭建个人博客,还是需要经历不少的折腾的。而从另一个角度讲,教主还是非常喜欢这款博客的就像初恋对象一样。单纯就主题本身而言:

  • 高度自由——甚至可以用Vue本身来写文章。
  • 主题依赖——个人感觉VuePress使用主题要比Hexo主题麻烦不少。

Hexo

Hexo是教主体验时间最长的一款博客系统,文档完善,主题丰富,开箱即用·······所以也就单单就主题而谈。

其中教主尝试过的主题比较喜欢的有:

  • hexo-theme-butterfly,首先这款主题恰好符合了我所有的需求,其次即便切换成中文简体但部分地方还是有点那个啥,最后就是配色的对比度不太高(其实折腾起来也不是太困难,只是懒)。
  • hexo-theme-sakura,这款主题是在B站上看到的,就封面而言简直美的无话可说。
  • hexo-theme-matery,matery目前的使用欢迎度还是非常高的,就一手README.md就堪比文档,群里也十分热闹并有大佬非常完善的保姆级教程,可以说“谈笑有鸿儒,往来无白丁”~

对比

相比之下教主折腾Hexo+matery的时间更长一些。

VuePress Hexo
优势 1. Vue驱动,可顶制度非常高。
2. 清新自然,配色养眼。
1. 开箱即用,配置简单。
2. 文档完善,主题丰富。
不足 1. 文档不太全,主题不太多。
2. 配置不是十分方便。
1. 不是特别的清新唯美。
2. 个性化定制需要一些基础。

以配置的方式举例

VuePress的配置通常需要导出为一个JSON对象,而Hexo只需要在Yaml文件中配置即可。起初教主也并不是很喜欢Yaml格式的,认为相较于properties或者xml而言总感觉Yaml不够规范不敢接受。但是当配置一旦多起来后,JSON简直是一种灾难不忍直视,而Yaml文件却依旧可读性很高。或者说JSON天生适合数据的传输。

以md渲染举例:

vue主题清新唯美,不接受反驳。



四、博客的部署

一键部署

VuePress和Hexo都提供了简单方便的一键部署且配有完整的文档支持。

教程

hexo-matery主题的群里面有位大佬提供了从使用Git到博客优化的保姆级教程:https://yafine-blog.cn/

注意事项:

  • GitHub的Pages服务需要的仓库名为:<USERNAME>.github.io,而Gitee的Pages服务需要的仓库名为:<USERNAME>
  • Gitee的Pages服务免费版需要手动部署(倒也不是多麻烦的事),而且不支持绑定自定义域名(适合作备用站点)。

备案

备案也不是刚需,只是图床总是需要的吧,而大部分的可提供免费对象存储的空间和流量的图床,如七牛云、又拍云等等等等都需要已备案的域名。

教主趁去年优惠的时候买过阿里云的ECS和域名,只需要备案接入即可。而且就目前来看,有一个服务器和域名起码可玩性要高很多的。

源码上传

将源码保存到仓库中总是非常有必要的,为了避免和项目杂糅,教主在Gitee的Pages仓库下新建远程分支source,并且在本地切换(新建)source分支,然后本地使用了如下的目录结构:

/.../source/                        # 源码目录
    |-- .git/                       # 仓库信息
    |-- hexo-matery-icefery         # 项目目录
    |   |-- .deploy_git/            # 部署信息
    |   |-- scaffolds/              
    |   |-- source/
    |   |-- themes/
    |   |-- _config.yml
    |   |-- package.json
    |-- README.md                   # README   

git push时要保证本地分支和远程分支一致。

git branch <BRANCH_NAME>            # 查看或新建本地分支
git checkout <BRANCH_NAME>          # 切换本地分支



五、总结

很遗憾的是,教主已决定删除用于Pages的主分支,仅保留源码分支。

收获

如果说就博客系统而言那还的确没啥收获,因为保姆级的教程是现成的,毕竟对于玩hexo来说,教主难以深入、无法浅出。但是折腾的过程中必然伴随着要接触很多有的没的,比如对象存储、CDN、防盗链、SSL证书、评论交互······等等等等的,毕竟跟大佬交流时知识的广度总是指数型增长的。

遗憾

其实不想再折腾的主要原因还是太懒,然后就不想再维护。对于目前而言,有些地方折腾所需要的成本,对教主来说还是蛮高的。另一方面教主目前还是太菜了真的太菜了,连个.ejs文件都不知道是什么,哎太难了。摘录B站评论区看到一句话:

若无力驾驭,自由便是负担。

就比如说上网课,课是自己选的总不能······,教主也不得不把在回家前在学校好不容易装的Arch又重新换回了Win10。如果说接下来的时间必然要忍受Win的什么什么倒也不必,只能说就算是生活也总也有它不得已的地方吧,而且教主也的确没有驾驭Linux的能力,只能说是好玩吧。

或者说,等课结束了也应该不会再装Arch了吧,折腾完了也该找个中下游的发行版稳定下来,就比如听说好像Manjaro最新版已经能够完全不用去管N卡了。

又或者说接踵而来的还有其它一些不得不用Win的因素,总之也都是在提醒我:条件不足以使用Mac,能力不足以驾驭自由。

原创文章 41 获赞 34 访问量 3万+

猜你喜欢

转载自blog.csdn.net/XY1790026787/article/details/105151760