本地部署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 版本号