记录下用hexo搭建Github Pages的过程

前言

之前一直都想在服务器上搭建一个hexo博客,但对node.js完全不熟悉以及在宝塔面板上部署静态博客好像有点麻烦,就简单的用typecho,随便找了一个主题搭建了博客

typecho是适配markdown的,就是每个图片都要上传附件然后更改图片路径导致我自己写的md完全没有发上去的欲望

git+hexo就很方便了,写完直接git push就好了,组会也正好有这个任务,就借此机会完成了。(不能再拖了)

环境

Ubuntu 22.04

node.js and npm

Node的环境配置比较简单

1
2
3
4
5
$ sudo apt install nodejs npm
$ node -v
v12.22.9
$ npm -v
v8.5.1

安装的是长期版本,搭建hexo已经够用了

git

1
$ sudo apt-get install git-core

通过ssh方式链接github账户

1
2
3
4
5
6
$ git config --global user.email "[email protected]"
$ git config --global user.name "xxx"
#本地生成密钥
$ ssh-keygen -b 4096 -t rsa -C "[email protected]"
#生成后将该密钥加入到你的ssh中
$ ssh-add ~/.ssh/id_rsa

然后打开github

进入setting选择SSH and GPG keys,点击New SSH key

取一个合适的名字,并将生成的id_rsa.pub中的内容复制到key中

1
2
#以ssh方式clone创建好的github pages库
$ git clone [email protected]:xlccccc/xlccccc.github.io.git

此时能正常git push就是成功链接了

(记得打开Pages,以及github学生包可以白嫖一个**.me**后缀域名)

hexo

本地

1
2
3
4
5
6
7
8
9
10
11
#只有root权限才安装成功了,原因未知
$ sudo npm install -g hexo-cli
$ hexo init blog
$ cd blog
$ npm install
#重新生成静态博客的所有内容
$ hexo generate
#重启 hexo 本地服务
$ hexo server
#安装git插件
$ npm install hexo-deployer-git --save

此时访问 https://localhost:4000 可以看到本地博客页面

github pages

在**_config.yml**的最后一行添加

1
2
3
4
deploy:
type: git
repository: [email protected]:xlccccc/xlccccc.github.io.git
branch: master

更改url为你的github pages

1
2
3
$ hexo clean
$ hexo generate
$ hexo deploy

此时访问 https://xlccccc.github.io 就可看到博客啦

1
2
3
$ hexo new photo "My Gallery"
$ hexo generate
$ hexo deploy

如果改了域名,在source下新建CNAME,内容为你的域名(如xlccccc.me),然后hexo generate hexo deploy即可