本地部署hexo博客
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
3mkdir -p D:\XXXX\Blog
cd D:\XXXX\Blog
hexo init
但我遇到了一个问题,原本hexo会自动构建node_modules。
但可能是我这里的权限不够,无法在这个目录下自动构建node_modules,输出了以下错误信息:
1 | INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git |
然而在该目录下继续输入
npm -install又是报错(权限不够,未找到XXX文件,XXX值为空之类的)于是我换了个包管理器
yarn。1 | npm install -g yarn |
这样在
~/Blog目录下即可构架node_modules接下来输入
hexo g ; hexo s创建一个hexo静态网页实例。
部署到Github
在Github上创建一个仓库,仓库名为用户名.github.io,然后打开~/Blog目录下的_config.yml和_config.landscape.yml文件,将deploy字段修改为:1
2
3
4deploy:
type: git
repo: https://github.com/用户名/用户名.github.io.git
branch: main
然后在shell中输入git init(初始化仓库)和hexo d即可将博客部署到Github上。但是我遇到了问题,在输入hexo d时,报错:

这很可能是因为我的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,如果没安装pug及stylus渲染器应当输入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的文件夹以便储存图片,然后在博客中插入或者即可。
注意
在使用npm或yarn等包管理工具时,如果遇到权限不够的问题,可以尝试使用管理员权限打开shell,或者使用sudo命令。
在修改到源代码文件时一定要备份,否则可能会出现不可逆的修改。这时就只能重新部署或使用git的版本回退功能了。
使用git的版本回退功能:1
2git log
git reset --hard 版本号




