因网络问题只有具有魔法资质的人才能看见完整的全部内容哦~ 勇敢的你快成为魔法少女吧!

文章时效性提示

这是一篇发布于 574 天前的文章,部分信息可能已发生改变,请注意甄别。

# 背景

最近又萌生了用文字记录、分享一些东西的想法。
最开始我想用 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

2.png

此处我为了快速下载使用了 cnpm, cnpm 的安装方法如下:

npm i cnpm -s -g

最后验证的时候到了!!! hexo s ,启动!

3.png

奇迹出现了,o (╥﹏╥) o

1.png

# 另一种思路

  1. 将依赖文件内容复制到刚初始化好的 hexo 项目的 package.json 文件对应位置

  2. npm i ,全自动安装依赖

很好,很省力。 但是只适用于 shokax 0.3.5 ?emmm

# 最后启动时报错排查解决

  1. [SXEC 101] Highlight.js or Prismjs enabled. The code block will render incomplete

未关闭 Highlight 和 Prismjs 造成的错误,在 _config.yml 配置文件中设置 enable: false ,如下:

4.png

  1. [SXEC 201] Essential information(title, desc, lang, etc) config incorrectly, Page will render incorrectly

未填写网站信息导致报错,在 _config.yml 配置文件中将网站信息完善。

5.png

接下来是配置好 shokax 主题时间。