nodejs以及hexo框架的配置

首先在nodejs官网下载安装包进行安装,选择到自己合适的位置即可,然后在powershell中输入node -v ; npm -v来检查是否安装成功。

然后用管理员打开powershell输入npm install hexo -g ; npm install hexo-deployer-git --save在全局安装hexo和其依赖,安装完成后输入hexo -v来检查是否安装成功。
如果输出结果报错,应该检查下安装hexo等模块的目录是否已被加入到该用户的全局变量PATH中。

在本地创建hexo网页实例

在你想要的地方创建博客的文件夹,然后用hexo初始化构建

1
2
3
mkdir -p D:\XXXX\Blog
cd D:\XXXX\Blog
hexo init

但我遇到了一个问题,原本hexo会自动构建node_modules
但可能是我这里的权限不够,无法在这个目录下自动构建node_modules,输出了以下错误信息:
1
2
3
INFO  Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO Install dependencies
WARN Failed to install dependencies. Please run 'npm install' in "D:\Blog" folder.

然而在该目录下继续输入npm -install又是报错(权限不够,未找到XXX文件,XXX值为空之类的)
于是我换了个包管理器yarn
1
2
npm install -g yarn
yarn install

这样在~/Blog目录下即可构架node_modules
接下来输入hexo g ; hexo s创建一个hexo静态网页实例。

部署到Github

在Github上创建一个仓库,仓库名为用户名.github.io,然后打开~/Blog目录下的_config.yml_config.landscape.yml文件,将deploy字段修改为:

1
2
3
4
deploy:
type: git
repo: https://github.com/用户名/用户名.github.io.git
branch: main

然后在shell中输入git init(初始化仓库)和hexo d即可将博客部署到Github上。但是我遇到了问题,在输入hexo d时,报错:

error

这很可能是因为我的Github账号没有配置SSH公钥,于是我又检查了下ssh的部署,然后又检查了_config.landscape.yml_config.yml是否设置正确,结果都不是这个问题。最后在和别人的blog仓库对比后,才发现我的node_modules未安装git,于是又输入yarn add hexo-deployer-git --save,然后输入hexo d,成功部署到Github上。

接下来在浏览器中输入https://用户名.github.io即可访问到自己的博客了。

更换主题

hexo官网中可以找到很多主题,我选择了教程较为全面且魔改性强的hexo-theme-butterfly主题,然后在~/Blog目录下输入git clone -b master https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly来下载主题(升级主题,在主题的目录下执行git pull)

接下来在_config.yml中修改theme字段为butterfly,如果没安装pugstylus渲染器应当输入yarn add hexo-renderer-pug hexo-renderer-stylus --save,然后输入hexo clean ; hexo g ; hexo s即可在本地预览博客,最后输入hexo d即可将博客部署到Github上。

编辑博客

在命令行输入hexo new '标题'即可创建一篇新的博客,然后在~/Blog/source/_posts目录下编辑博客,最后输入hexo clean ; hexo g ; hexo s即可在本地预览博客,最后输入hexo d即可将博客部署到Github上。

如果要插入照片则在source下再创建一个img的文件夹以便储存图片,然后在博客中插入![](img/图片名)或者![XXX](url地址)即可。

注意

在使用npmyarn等包管理工具时,如果遇到权限不够的问题,可以尝试使用管理员权限打开shell,或者使用sudo命令。

在修改到源代码文件时一定要备份,否则可能会出现不可逆的修改。这时就只能重新部署或使用git的版本回退功能了。

使用git的版本回退功能:

1
2
git log
git reset --hard 版本号