Why Not Have Blog?

本文最后更新于:June 18, 2022 am

已经 2020 年,为啥要搭建一个自己的 Blog?原因很简单,想有个自己的 Kingdom,什么时候想到了就写一点。不用登录,没有那么多审查,排版随心所欲,主题也可以自己 DIY。自己集作者,编辑和出版社于一体,想想都很棒😋

漫漫假期,有的是时间,Just Do It! 开始建造自己的 kingdom。

Domain Name

先在 Namesilo 买域名。常用的 com, net, org 都已注册,又探索了 me, io 这类「潮流」域名,花了两天。终于想出个满意的名字「Battlele」。本着时时刻刻对世界充满期待和挑战的心态,充满活力的去战斗!「battle」 和 「le」放在一起,简短有力。

Blog 选择

起初找了个无需本地化部署和生成的方法,使用 GitHub Action 自动化流程。自己瞎折腾,action 老是出错,也不知道问题在哪,只能放弃。从流行程度上来说大致分为静态和动态两种 (当然还有许多种类)。

动态:

  1. WordPress (名气最大,功能多,较臃肿)
  2. Typecho (国人开发,轻量化,纯粹)
  3. Ghost/Blogger/Typlog

静态:

  1. Hexo (国内使用人数最多,主题多)
  2. Jekyll (GitHub 官方推荐)
  3. Hugo (速度快)

下表来源于互联网:

维度 Wordpress Hugo
部署 一般需要独立的服务器 一般不需要服务器,直接部署到 CDN
性能 因为是 PHP 开发的动态站,所以在性能上有瓶颈,可能需要做不少设置才能提高一些性能,但和 Hugo 的静态网站相比还是太差 纯静态化的页面,理论上性能极高,可以不考虑性能问题
速度 加载速度和 CDN 有很大的关系,也和服务器渲染网页的速度有关系,因为 Wordpress 是动态网站,需要动态渲染,所以速度也差一些 已经生成好的网页,速度取决于 CDN 的速度了
定制化 生态已经很繁荣了,所以几乎你需要的任何东西都有插件可以满足 插件少,如果想定制很多功能,那么需要你对 Hugo 有深入的了解
后台管理 本身就是 CMS 系统,可以在后台管理各种功能 本身是个静态化工具,没有后台管理功能,很多设置都直接使用文本来配置,对非程序员不友好。但是目前也有相关的 CMS 系统,如 forestry,配合 gatsbyjs 之类的技术可以开发出任何你想要的网站
SEO 对 SEO 很友好 需要一些定制才能提高 SEO

我的需求是简洁,纯粹,速度快,加上刚开始写不打算投入成本购买 VPS,自然选择搭建静态 blog 。选择 Hexo 的理由就是主题和使用者多,遇到麻烦能少头痛。

小白掉坑

  1. 买域名,配置域名解析。
  2. GitHub 开一个仓库,绑定并配置后推送上去。
  3. 用 Markdown 写文章。通过 Git 推送到仓库后,网站自动更新发布上线!
  4. 使用 Hugo/Hexo 等静态网站生成工具 DIY 主题。

上述大致流程网上教程很多不再赘述,说下遇到的坑。「esayhexo」的非官方教程不是很推荐,教程没提配置 SSH Key 导致安装时一系列报错,一个个按图索骥解决,累!GitHub 被伟大防火墙 (GFW) 严重干扰,在线 clone 主题的速度很忧伤,每秒 6 kb… 还是 release 找文件 down 到 theme 文件夹才是佳选😉 终于成功安装 gitnode.js 。输入指令推荐用 git 而不是 Windows Power Shall (傻愣愣)。

GitHub 仓库无需 fork 别人仓库,新建即可。把名字改成 xxx.github.io (仓库名须和用户名一致) 。域名在 page settings 里手动输入,GitHub 还提供免费的证书😎

需注意有些域名解析后才能使用,国内备案网站必须解析,我添加了 A 记录和 CNMAE 搞定。若要去掉 www 二级域名。在域名管理进行 DNS 解析,添加 A 记录重定向到域名 (能加两条就全加)。换句话说 A 记录就是 GitHub 仓库的 IP 地址,cmd 命令:ping + xxx.github.io 搞定。

捣鼓主题

安装主题后终于初步成功了!接下来各种优化和自定义。第一个 chic 主题玩了没两天就发现挺多 bug 的,前期还能折腾换了个主题。看用户最多的 NexT 已经审美疲劳,适合纯文字写作,不适合闷骚的我。

在 melody (同时也是 Picgo 作者) 和卡片式主题 Material X 中抉择,看文档发现 Material X 不支持最新的 Hexo 4.2 ,遂放弃。动手前看清楚配置和条件很重要。melody 主题采用「平滑」升级。创建 melody.yml, 替换主题默认配置文件 _config.yml 。melody 文档详细易上手,修改了:

  • 网站图标 logo 更新
  • 个人 logo 制作
  • 字数统计方式修改
  • footer 版权信息更新
  • 主题颜色 DIY

修改底部「网站运行时间」栽跟头,试了无数方法后发现不同主题作者编写语言不一样,要把 html「翻译」成 pug 语言,最终替换成功~ 不会编程语言就是那么无助…… 自己钻研虽浪费时间,但能获得无可比拟的乐趣。写了几篇文章后,Hexo-clean, Hexo-g (generate), Hexo-s (server), Hexo-d (deploy) 用的很熟练。

希望产出有价值的内容。

P.S. 感谢 Tim 很耐心的用 TeamViewer 帮我远程协助!

Edited: 2020-03-12 22:40


Why Not Have Blog?
http://battlele.com/blog/
Author
Lucky
Posted on
February 17, 2020
Updated on
June 18, 2022
Licensed under