# 背景
最近又萌生了用文字记录、分享一些东西的想法。
最开始我想用 WordPress 加云服务器来实现的我想法,这样我还可以在上面跑一些定时的爬虫来更新我的一些内容。
遗憾的是当我打开腾讯云的页面,后面又看了看阿里云和华为云的页面。我不得不承认一个事实那就是,我浑身透出一股子穷酸的气息。至此,不得不得从新走回老路子,用 hexo 加 github 几乎零成本的方式搭建我的博客。
# 选择 shokaX 的原因
之前用过 shoka 主题,当时觉得非常的好看。所以第一时间就想到了他,但是在搜索过程中,发现目前该主题已经出现了许多问题导致体验不好。不得已正准备放弃 shoka 主题,不过令人惊喜的是在 shoka 暂停维护后有人站出来对其进行后续的维护,并取名叫做 shokaX。
# 安装过程中遇到的问题
shokaX 的安装教程多数已经过期,虽然作者有提供简便的安装工具。但是在使用过程中发现,其工具因国内网络问题难以完成下载安装。折腾了两天,虽然最后通过工具还是安装成功了。但是这两天花费的时间是实实在在的,少打了好多把游戏呢。
# 手动安装指北
因为使用工具安装的痛苦过程,我曾一度准备放弃这个主题。为了能有更多的人可以体验 shoka、shokaX 的美丽,现将手动安装指北来坑害大家。
初始化 hexo 自动安装成功主题后,shokaX 0.3.5 版本的依赖如下:
"dependencies": { | |
"esbuild": "^0.19.2", | |
"hexo": "^6.3.0", | |
"hexo-algoliasearch": "^1.0.0", | |
"hexo-autoprefixer": "^2.0.0", | |
"hexo-feed": "^1.1.1", | |
"hexo-generator-archive": "^2.0.0", | |
"hexo-generator-category": "^2.0.0", | |
"hexo-generator-index": "^3.0.0", | |
"hexo-generator-tag": "^2.0.0", | |
"hexo-renderer-ejs": "^2.0.0", | |
"hexo-renderer-multi-next-markdown-it": "^0.1.9", | |
"hexo-renderer-pug": "^3.0.0", | |
"hexo-renderer-stylus": "^3.0.0", | |
"hexo-server": "^3.0.0", | |
"hexo-theme-landscape": "^1.0.0", | |
"hexo-theme-shokax": "^0.3.5", | |
"lozad": "^1.16.0", | |
"theme-shokax-anime": "^0.0.4", | |
"theme-shokax-pjax": "^0.0.2" | |
} |
由依赖可推只需要输入以下命令即可安装成功,狗头.jpg
npm i esbuild hexo-theme-shokax hexo-algoliasearch hexo-autoprefixer hexo-feed hexo-generator-archive hexo-generator-category hexo-generator-index hexo-generator-tag hexo-renderer-multi-next-markdown-it hexo-renderer-pug hexo-renderer-stylus lozad theme-shokax-anime theme-shokax-pjax |
此处我为了快速下载使用了 cnpm, cnpm 的安装方法如下:
npm i cnpm -s -g |
最后验证的时候到了!!! hexo s
,启动!
奇迹出现了,o (╥﹏╥) o
# 另一种思路
将依赖文件内容复制到刚初始化好的 hexo 项目的
package.json
文件对应位置npm i
,全自动安装依赖
很好,很省力。 但是只适用于 shokax 0.3.5 ?emmm
# 最后启动时报错排查解决
- [SXEC 101] Highlight.js or Prismjs enabled. The code block will render incomplete
未关闭 Highlight 和 Prismjs 造成的错误,在 _config.yml
配置文件中设置 enable: false
,如下:
- [SXEC 201] Essential information(title, desc, lang, etc) config incorrectly, Page will render incorrectly
未填写网站信息导致报错,在 _config.yml
配置文件中将网站信息完善。
接下来是配置好 shokax 主题时间。