文章目录
1. 在github创建一个仓库,用来存放自己的博客
1.1 新建仓库
创建一个和用户名相同的仓库,后面加上.github.io
,必须要同名,否则后面会出现404的情况
1.2 安装git工具,生成SSH添加到GitHub
安装完成之后,在桌面上git bash进入命令行,输入GitHub用户名和邮箱验证。
git config --global user.name "用户名" #名称
git config --global user.email ****@163.com #邮箱
# 查看输入
git config --global --list
1.3 创建SSH,一路回车
此时在C:\用户名\Dell
(Dell可能不一样,我的是Dell,找到自己电脑对应的文件夹)目录下找到.ssh
文件夹,发现生成了公钥和私钥。id_rsa.pub
为公钥
1.4 在GitHub上设置密钥
在GitHub的个人主页中,找到SSH and GPG keys的设置选项,点击新建一个密钥,把id_rsa.pub里面的信息复制进去
测试公钥是否添加成功:ssh -T git@github.com
如图当看到Hi **! You've successfully authenticated
即成功
2. Hexo搭建个人博客
2.1 Hexo的官网
2.2 安装node 和npm
hexo基于node.js,本地需要安装node 和npm
查看一下是否有版本号,有的话则安装成功
npm -v
node -v
2.3 全局安装 hexo
前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹blog,在这个文件夹下直接右键git bash打开
由于Hexo托管在国外的,使用国内的淘宝镜像下载。在git bash中输入以下:
npm config set registry https://registry.npm.taobao.org
npm config get registry//**这个是用来检查换成功没**
安装hexo
npm install -g hexo-cli
使用hexo -v
查看一下版本
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ hexo -v
hexo-cli: 4.2.0
os: Windows_NT 10.0.18363 win32 x64
node: 14.15.4
v8: 8.4.371.19-node.17
uv: 1.40.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.16.1
modules: 83
nghttp2: 1.41.0
napi: 7
llhttp: 2.1.3
openssl: 1.1.1i
cldr: 37.0
icu: 67.1
tz: 2020a
unicode: 13.0
2.4 初始化博客
初始化命令:hexo init
但我在D:\blog
目录下输入hexo init
却报错了??
报错内容如下:
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ hexo init
FATAL D:\blog not empty, please run `hexo init` on an empty folder and then copy your files into it
FATAL {
err: Error: target not empty
at Context.initConsole (D:\nodejs\node_global\node_modules\hexo-cli\lib\console\init.js:23:26)
....//省略了一些
} Something's wrong. Maybe you can find the solution here: %s http://hexo.io/docs/troubleshooting.html
提示D:\blog
文件夹不是空的。打开D:\blog
文件夹发现果然不是空的,里面在安装hexo时生成了一个package-lock.json
文件,把它删除就好了
问题解决后,接下来继续执行初始化命令hexo init
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ hexo init
INFO Cloning hexo-starter https://github.com/hexojs/hexo-starter.git
INFO Install dependencies
added 188 packages from 443 contributors in 22.573s
15 packages are looking for funding
run `npm fund` for details
INFO Start blogging with Hexo!
这里之后我尝试使用hexo server
命令打开hexo服务,但又报错了,如下:
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ ƒƒhexo server
bash: $'\302\203\302\203hexo': command not found
于是查阅其他博主的安装记录,传送门
发现我的D:\blog
目录下没有文章中提到的public
、db.json
等文件,于是执行了下列命令
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ hexo g
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ npm install
此时去查看D:\blog
,发现D:\blog
文件夹下缺失的public
、db.json
等文件都有了。
解释一下:
node_modules:是依赖包
scaffolds:命令生成文章等的模板
public:存放生成的页面
source:用命令创建的各种文章
themes:主题
_config.yml:整个博客的配置
db.json:source解析所得到的
package.json:项目所需模块项目的配置信息
此时输入hexo server
去启动hexo服务
Dell@DESKTOP-OK25NC1 MINGW64 /d/blog
$ hexo server
在浏览器输入localhost:4000就可以看到你生成的博客了
3. 更换主题
3.1 博客主题安装
在官网选择自己喜欢的主题安装:https://hexo.io/themes/
打开主题链接,进入到GitHub里面,有详细的安装教程
3.2 安装主题命令输入
git clone https://github.com/Haojen/hexo-theme-Anisina.git themes/Anisina
3.3 更改主题名字
打开_config.yml文件夹
再次启动,就可以看到更换的主题了
hexo server
4. 部署到github
4.1 在配置文件里面填写仓库地址
在项目里面找到 _congif.yml文件,下拉到最底端找到 Deployment字段,把以下代码放进去,填写第一步新建的仓库地址
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: 'git'
repo: <你的仓库地址>
branch: master
需要填写的地址复制下来
填写完毕后如下
3.2 安装一个推送工具,将本地项目推到仓库上
npm install hexo-deployer-git --save
然后
hexo clean
hexo generate
hexo deploy
其中 hexo clean清除了你之前生成的东西,也可以不加。
hexo generate 顾名思义,生成静态文章,可以用 hexo g缩写
hexo deploy 部署文章,可以用hexo d缩写