前言:当自己拥有一台电脑时,可以搭建hexo博客,写写自己喜欢的东西,或者用来存档。

Hexo的好处

  • 纯静态博客,部署简单、成本低廉、运行优化非常高效。
  • Hexo 静态博客框架可以在云端,也可以在本地电脑上甚至手机上。
  • Hexo 框架的博客网站没有网站后台,不存在后台安全漏洞的问题。
  • 因为是纯静态的,几乎所有的 CDN 服务都可以完美的加速提升浏览速度。
  • 搜索引擎对纯静态网站有天然的青睐度,收录、权重优先权明显。
  • 纯静态网站会让网络攻击成本大大的增加也就是说纯静态网站被攻击的可能性更低了。

软件安装(Git+Node.Js)

Node.Js下载 官网

Git下载 官网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1、在D盘创建一个Hexo文件,Hexo文件下再创建一个Git和Nodejs的文件用于软件存储
2、软件安装成功之后,电脑桌面鼠标右键找到Open Git Bash here并打开
3、分别输入
git -v
node -v
npm -v
查看是否会出现版本号。
4、Hexo文件目录里创建一个全局文件,命名随便,我用的是QJ
5、打开Open Git Bash here输入
npm config set prefix "D:\Hexo\QJ"
npm config set cache "D:\Hexo\QJ"
全局变量
6、复制设置全局变量的目录D:\Hexo\QJ
7、打开控制面板-系统安全-系统-高级系统设置-高级-环境变量-用户变量中新建
变量名为Hexo
变量值为D:\Hexo\QJ

安装Hexo框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1、Hexo文件目录下创建一个Blog文件夹
2、打开Blog文件,文件中鼠标右键打开Open Git Bash here
3、输入
npm install -g hexo
安装Hexo框架
4、输入
hexo -v
查看会不会出现版本号,如果没有报错没有一点问题
5、输入
hexo init
初始化博客
6、输入
hexo s
开启本地服务
7、执行成功后会出现一个本地链接,鼠标选中右键Open打开会出现Hexo自带的主题博客

Butterfly主题安装

1
2
3
4
5
6
7
8
9
10
1、首先关闭本地服务Ctrl+C,如果运行两个Open Git Bash here会报错
2、在Blog文件夹中运行Open Git Bash here
3、输入
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly
进行主题安装(如果安装不了重开Open Git Bash here再试一下,或者试一下npm安装)
npm install hexo-theme-butterfly
4、修改Hexo根目录下的_config.yml把主題改为 butterfly
5.Hexo根目录运行Git并输入
hexo s
查看主题是否已经有了

Butterfly主题配置

1
2
1、主题配置文件在themes下的_config.yml(站点配置文件)
2、Butterfly博客主页 https://butterfly.js.org/(可参考Butterfly博客)

代码部署至托管平台

国内Gitee(已停止提供服务)

Gitee官网

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、选择Gitee,是一个国内的代码托管平台,在国内的速度还是比较快的
2、首页注册一个账号并且通过实名认证,不通过实名认证用不了(最好是先实名,不然等的时间比较久)
3、我们需要在Gitee上创建一个仓库,用来存放我们的Hexo博客站点。在Gitee首页点击“+新建仓库”按钮,填写相关信息,并选择创建一个空的仓库。
4、在新建之后的仓库中进入服务,开启Gitee Pages 服务
5、打开Hexo下的_config.yml(站点配置文件)
deploy:
type: 'git'
repo: git@gitee.com:sonic-l/sonic-l.git #替换成你自己的
branch: master
6、安装gitee部署插件,在Blog文件中打开Open Git Bash here输入
npm install hexo-deployer-git --save
7、生成SSH公钥,在gitee个人中有个SSH公钥(注:这一步至关重要)
8、在Blog文件中打开Open Git Bash here输入
ssh-keygen -t ed25519 -C "Gitee SSH Key"

输出,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Generating public/private ed25519 key pair.
Enter file in which to save the key (/home/git/.ssh/id_ed25519):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/git/.ssh/id_ed25519
Your public key has been saved in /home/git/.ssh/id_ed25519.pub
The key fingerprint is:
SHA256:ohDd0OK5WG2dx4gST/j35HjvlJlGHvihyY+Msl6IC8I Gitee SSH Key
The key's randomart image is:
+--[ED25519 256]--+
| .o |
| .+oo |
| ...O.o + |
| .= * = +. |
| .o +..S*. + |
|. ...o o..+* * |
|.E. o . ..+.O |
| . . ... o =. |
| ..oo. o.o |
+----[SHA256]-----+

​ 中间通过三次回车键确定

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
9、查看生成的 SSH 公钥和私钥:
ls ~/.ssh/
10、输出:
id_ed25519 #私钥文件
id_ed25519.pub #公钥文件
11、读取公钥文件 ~/.ssh/id_ed25519.pub:
cat ~/.ssh/id_ed25519.pub
12、输出,如:
ssh-ed25519 AAAA***5B Gitee SSH Key
把这个复制添加到gitee个人设置中的SSH公钥里面
13、通过 ssh -T 测试,输出 SSH Key 绑定的用户名:
ssh -T git@gitee.com
如果显示的是Hi USERNAME! You've successfully authenticated, but GITEE.COM does not provide shell access.
那么就成功了
14、部署
在Blog文件中打开Open Git Bash here输入
hexo g #生成静态文件
hexo clean #清除缓存
hexo d #上传至gitee

国外Github

[Github官网](GitHub: Let’s build from here · GitHub)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1、Github输入
ssh-keygen -t rsa -C "3118708520@qq.com" //生成与gitub连接的密钥
2、打开文件找到后缀为.pub的文件(一般在你C盘的用户文件中「SSH」)打开复制密钥
3、打开Github在个人设置中的SSH把生成下来的密钥和ssh对接
3、修改Hexo根目录下的_config.yml
deploy:
type: git
repo: https://bitbucket.org/JohnSmith/johnsmith.bitbucket.io
branch: main 修改配置文件
4、hexo g 生成静态文件
5、git输入 npm install hexo-deployer-git --save 安装插件
6、git config --global user.email "3118708520@qq.com" 配置git信息
git config --global user.name "xiaowentx"
7、hexo d 远程部署博客

重新部署至Git

只要输入以下命令,进行文章全部更新。输完命令后等待几分钟即可。

1、hexo g 
2、hexo clean
3、hexo d

更换自己的域名

1、在博客的blog下的.deploy_git目录下创建名为CNAME的文本文档

2、去自己购买域名的地方把域名解析

3、添加两个记录第一个主机名为@类型选择CNAME对应值的话就是github的地址比如xxxxx.github.io,第二个主机名为www类型为A记录对应值则是你ping到github上创建博客的ip地址

4、进入github的Your repositories->你所建立的储存库->Settings->Pages->在Custom domain中填写你购买的域名就OK了。

Hexo的基本命令

hexo博客文章采用Markdown语法

1
2
3
4
hexo init  初始化博客
hexo n title 创建一篇新的文章,文章标题是title
hexo new page tags 新建标签页
hexo new "hexo" 新建标题名为hexo的文章

Hexo搬移

1.拷贝相关文件

建立hexo博客都会有一个独立的文件夹。电脑转移时安全的做法是将整个文件夹拷贝,这其中包括三个必备的文件:config.yml(站点配置_)、theme(主题文件夹)、source(博客内容文件)、_config.butterfly.yml(主题配置文件)。

次要文件:scaffolds(文章的模板)、package.json(使用包的说明文件)和.gitignore(限定在提交的时候哪些文件可以忽略)三个次要文件为自动生成的,因此丢失也不影响博客内容,后续在hexo init时会生成这三个文件。

需要删除的文件:.git文件、node_modules(进行npm install会重新生成)、public(执行hexo g时会重新生成)、.deploy_git文件夹(执行hexo d时会重新生成)、db.json文件。其实上面这些可删除的文件即为.gitignore文件里面记载的可以忽略的内容。

2.在新电脑上重新安装git

3.替换掉git之前的SSH