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
老是出错,也不知道问题在哪,只能放弃。从流行程度上来说大致分为静态和动态两种 (当然还有许多种类)。
动态:
- WordPress (名气最大,功能多,较臃肿)
- Typecho (国人开发,轻量化,纯粹)
- Ghost/Blogger/Typlog
静态:
- Hexo (国内使用人数最多,主题多)
- Jekyll (GitHub 官方推荐)
- Hugo (速度快)
下表来源于互联网:
维度 | Wordpress | Hugo |
---|---|---|
部署 | 一般需要独立的服务器 | 一般不需要服务器,直接部署到 CDN |
性能 | 因为是 PHP 开发的动态站,所以在性能上有瓶颈,可能需要做不少设置才能提高一些性能,但和 Hugo 的静态网站相比还是太差 | 纯静态化的页面,理论上性能极高,可以不考虑性能问题 |
速度 | 加载速度和 CDN 有很大的关系,也和服务器渲染网页的速度有关系,因为 Wordpress 是动态网站,需要动态渲染,所以速度也差一些 | 已经生成好的网页,速度取决于 CDN 的速度了 |
定制化 | 生态已经很繁荣了,所以几乎你需要的任何东西都有插件可以满足 | 插件少,如果想定制很多功能,那么需要你对 Hugo 有深入的了解 |
后台管理 | 本身就是 CMS 系统,可以在后台管理各种功能 | 本身是个静态化工具,没有后台管理功能,很多设置都直接使用文本来配置,对非程序员不友好。但是目前也有相关的 CMS 系统,如 forestry,配合 gatsbyjs 之类的技术可以开发出任何你想要的网站 |
SEO | 对 SEO 很友好 | 需要一些定制才能提高 SEO |
我的需求是简洁,纯粹,速度快,加上刚开始写不打算投入成本购买 VPS,自然选择搭建静态 blog 。选择 Hexo 的理由就是主题和使用者多,遇到麻烦能少头痛。
小白掉坑
- 买域名,配置域名解析。
- 在 GitHub 开一个仓库,绑定并配置后推送上去。
- 用 Markdown 写文章。通过 Git 推送到仓库后,网站自动更新发布上线!
- 使用 Hugo/Hexo 等静态网站生成工具 DIY 主题。
上述大致流程网上教程很多不再赘述,说下遇到的坑。「esayhexo」的非官方教程不是很推荐,教程没提配置 SSH Key 导致安装时一系列报错,一个个按图索骥解决,累!GitHub 被伟大防火墙 (GFW) 严重干扰,在线 clone 主题的速度很忧伤,每秒 6 kb… 还是 release 找文件 down 到 theme 文件夹才是佳选😉 终于成功安装 git 和 node.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