本人的个人博客之前使用的主题是 NexT,现在切换到主题 Sea,过程记录下,要是下次还要切换主题,可以参考下。
npm、pnpm 和 cnpm
依赖包管理我改用了 pnpm。这里简单介绍下 npm 和 pnpm 的区别。
- npm 是 Node.js 默认的包管理工具,与大多数 Node.js 项目和工具具有良好的兼容性,有着庞大的社区支持和丰富的软件包资源,但在国内访问官方仓库比较慢,再加上下载依赖包时可能会重复下载,也会多占用磁盘空间。
- pnpm 采用了内容可寻址存储(CAS)和硬链接 / 符号链接相结合的方式,避免了依赖包的重复安装,可以节省磁盘空间,下载也会快些,并且能更精确地管理依赖版本。但在一些特殊情况下,可能会遇到与某些工具或脚本不兼容的问题,因为它的
node_modules
结构与 npm 不同。
# 通过 npm 全局安装
npm install -g pnpm
# 安装完成查询版本
pnpm version
- cnpm 是淘宝团队推出的 npm 镜像工具,主要是为了解决国内访问 npm 官方仓库速度慢的问题。cnpm 保持了与 npm 的高度兼容性,几乎所有 npm 的命令都可以在 cnpm 中直接使用。
# 通过 npm 全局安装
npm install -g cnpm --registry=https://registry.npmmirror.com
# 安装完成查询版本
cnpm version
换主题
换主题过程主要是参考 Sea 主页,主要是安装和配置。
先是安装,直接通过 pnpm 安装。之前我是将主题放到 themes 目录下的,这样不仅要维护主题文件,后续更新也比较麻烦,还是直接安装简单些。
pnpm install hexo-theme-sea
再是配置,这里涉及到两个配置文件,分别是 _config.yml 和 _config.sea.yml,还是参考主页中说明配置的。
_config.sea.yml 是基于主题的 _config.yml 修改的,主要配置了 menu 和 socialLink 两部分。
menu:
- name: 首页
url: /
- name: 归档
url: /archives/
- name: 标签
url: /tags/
- name: 分类
url: /categories/
- name: 关于
url: /about/
socialLink:
- name: Email
link: mailto:zhanglei2192@hotmail.com
- name: GitHub
link: https://github.com/leiz2192
_config.yml 主要修改添加了下面几个配置
language: zh
syntax_highlighter: prismjs
highlight:
enable: false
prismjs:
enable: true
preprocess: true
line_number: true
line_threshold: 0
tab_replace: ''
theme: sea
配置完成后先本地生成看看
hexo clean
hexo g
hexo s
升级 hexo
过程中发现使用的 hexo 版本有点老了,就参考博客升级 Hexo 版本记录进行了下升级。
用 npm-check 检查是否需要升级
pnpm install -g npm-check
npm-check
用 npm-upgrade 更新 package.json
pnpm install -g npm-upgrade
npm-upgrade
然后升级系统项
pnpm update --save
图床
之前我是用 hexo-asset-image 将本地图片插入博客的。但升级 hexo 过程中发现之前使用的 hexo-asset-image 已经很久没有更新了,GitHub 仓库已经归档。
所以参考网上资料将博客图片换成了图床形式。使用 GitHub 作为图床,借助 PicGo 将博客中的图片换成了图床形式,然后 remove 了 hexo-asset-image。
pnpm remove hexo-asset-image