部署hexo静态博客到Gitee中

由于不可抗力,Gitee的pages服务无法自定义域名,因此建议直接部署到Github上而不是Gitee中,并自己做好备份

本文章假定你已经使用了nvm安装了nodejs12.14.0,并且已经配置了git以及gitee上的ssh密钥


1.安装Hexo

在gitbash或者cmd中输入命令:

npm install -g hexo   # 通过npm安装hexo
# -g 指定全局安装,可以使用hexo命令

2.初始化Hexo

进入合适的目录(你要存放你hexo博客文件的地方)

hexo init blog  # 初始化创建,会再桌面创建blog文件夹
cd blog    # 进入blog目录
npm install   # 进一步安装hexo所需文件

初始化后的文件目录及其功能如下:

.
├── .deploy       #需要部署的文件
├── node_modules  #Hexo插件
├── public        #生成的静态网页文件
├── scaffolds     #模板
├── source        #博客正文和其他源文件等都应该放在这里
|   ├── _drafts   #草稿
|   └── _posts    #文章
├── themes        #主题
├── _config.yml   #全局配置文件
└── package.json

3.启动Hexo

hexo clean   # 清除所有记录 /hexo c
hexo generate  # 生成静态网页 /hexo g
hexo server    # 启动服务 /hexo s

成功启动后应该是有如下界面:

WARN  ===============================================================
WARN  ========================= ATTENTION! ==========================
WARN  ===============================================================
WARN   NexT repository is moving here: https://github.com/theme-next
WARN  ===============================================================
WARN   It's rebase to v6.0.0 and future maintenance will resume there
WARN  ===============================================================
INFO  Hexo is running at http://localhost:4000 . Press Ctrl+C to stop.

此时访问http://localhost:4000 即可在本地访问你的博客了

如果想要在任何可以上网的设备上访问你的博客,那么你就需要将你的本地Hexo博客部署到Gitee了。

4.部署Hexo博客到码云(Gitee)上

码云(gitee):https://gitee.com/

4.1 注册码云,创建仓库

输入仓库名称,其他的保持默认即可。

4.2 生成/添加SSH公钥

请查看我之前的博客

4.3 配置连接Gitee

复制我们新创建的仓库的项目地址

复制URL到hexo的配置文件_config.yml中相应的位置

deploy:
  type: git                        # type为git
  repo: git@gitee.com:XXXXXX/blog.git  # 仓库的 URL
  branch: master

注意冒号后面一定要有空格

4.4 部署Hexo博客

安装自动部署发布工具hexo-deployer-git,不然部署会报错

npm install hexo-deployer-git --save

在博客根目录新建deployer.sh文件,输入代码(也就是新建了一个bash脚本文件)

hexo clean
hexo g 
hexo d

输入之后保存退出,在bash中部署博客就只需要执行以下命令一键部署博客

sh deployer.sh	

这个时候在pages里启动博客,可能会无法显示css样式,这个时候你就需要修改你的_config.yml文件了

# URL
## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
url: https://mikutown.gitee.io/blog
# 在url后面写你的博客地址
root: /blog
permalink: :year/:month/:day/:title/
permalink_defaults:

5.Gitee Pages设置

在项目的服务中选择Pages选项,直接使用默认配置,点击启动即可。如下图所示

如何进入Pages服务

点击启动后:

Pages服务页面

博客发布成功之后,可以访问博客地址:xxxxxx,就可通过他提供的博客地址进行访问,预览在线博客啦!!

如果博客的样式不对,则需要在_config.yml中配置下博客地址和路径:

url: “码云提供给您的博客地址”
root: /

再执行命令 sh deployer.sh 就可以啦,之后就是美化我们的博客了。

6.博客的美化

Hexo博客主题列表

下载自己喜欢的主题,可以去 github 下载压缩包然后放到博客项目根目录下的 themes 中

然后配置 _config.yml

theme: “您的主题文件夹完整名称”  
# 这里需要注意:后面要有一个空格,名称要和theme下的主题目录名称相同。

修改完成,本地运行 hexo s 测试成功即可上传部署到 Gitee 然后点击更新即可。

7.自定义博客域名

Gitee的Pages服务为每个人的博客都定义了一个地址,在Pages页面有链接,比如我的链接就是https://mikutown.gitee.io/blog ,但是有的人拥有自己的域名,希望通过自己的域名访问到自己的博客,怎么办呢?就需要你去配置自定义博客域名了。

7.1 购买域名

不做过多解释,自己去买就可以了。

7.2 域名解析

因为gitee pages pro功能下线了,无法直接通过年支付99元的方式进行自定义的域名解析,因此在这里我们将自己的域名解析到GitHub,再利用页面跳转实现输入自己的域名进入自己的gitee博客。

7.2.1 Github相关配置
  • 注册自己的github账号
  • 将自己的电脑中的ssh密钥添加到GitHub账号里,并且测试连接ok
  • 以下操作中你的GitHub用户名均用username代替
7.2.2 新建Github项目

新建一个仓库,仓库名称:username.github.io,其他保持默认设置,如图所示:

7.2.3 在本地新建index.html

新建的index.html文件放在文件夹名为username.github.io的文件夹中,index.html的内容为

<script>
    window.location.href="你的Gitee静态博客地址"
</script>
<!--顾名思义 这是跳转到你的Gitee静态博客地址的script-->
7.2.4 将文件上传到自己的github仓库了

在你的username.github.io文件夹中打开git bash,然后输入如下命令:

git init
# 初始化GitHub本地仓库
git add .
# 将本地文件夹中的所有文件加到仓库中
git commit -m "注释语句"
# 此处的注释语句就是对刚才的add操作的注释,此处使用commit命令将刚才add的文件commit到仓库,注释语句啥也能写,就是不能留空 不可以留空知道了吗知道了吗知道了吗知道了吗知道了吗
7.2.5 将Github仓库与本地仓库关联

复制GitHub的仓库地址,如图:

在username.github.io文件夹中启动的gitbash中输入代码

git remote add origin https://github.com/username/username.github.io
# 后面的https链接地址换成你自己的仓库url地址,也就是上面红框中标出来的地址
7.2.6 执行pull与push操作

执行以下命令

git pull origin master
git push -u origin master

执行完后,如果没有异常,等待执行完就上传成功了,中间可能会让你输入Username和Password,你只要输入github的账号和密码就行了。
精髓来了:
需要注意的是push和pull类似于栈出栈压栈,而且它必须是一出一压,不能出出压压,为什么要说这个能,就是在多人共享代码的时候,有多个人同时使用或是有人使用了pull忘记了push了,以后的人再用pull就会出错,解决方案是,如果下一步应该是push了,你就敲出来git push,反之则是git pull。
好了,你们这些都做完了后,可以回到浏览器刷新看看是不是已经传上去了,那么最麻烦的一步就ok了,git命令的水还很深,我这一个晚上学得都是皮毛嘻嘻。

7.2.7 在Github仓库中新建CNAME文件

在仓库中新建一个CNAME文件,如图所示

文件名为CNAME,文件内容为你购买的域名,你自己的买的域名如果是leafii.top那就输入leafii.top,个人意见是不要加那些http和/这些东西。完成这一步后,你的仓库应该有两个文件了。

7.2.8 进入域名控制台进行域名解析设置

我的域名是在阿里云购买,因此以下截图来自阿里云域名控制台,在域名控制台中将@和www的域名的解析类型修改为CNAME,然后将解析地址解析为你的Github仓库名,即username.github.io,如图所示:

7.2.9 解析设置后的操作

如果解析设置完毕,等待几分钟再进行是否设置成功的尝试。

7.2.10 大功告成

如果你们github上传错了,也可以删除的,这里就不讲了,给你们一个链接
https://blog.csdn.net/q420225777/article/details/80697077


引用

Hexo + Gitee搭建个人博客

利用Github实现页面跳转