部署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选项,直接使用默认配置,点击启动即可。如下图所示
点击启动后:
博客发布成功之后,可以访问博客地址:xxxxxx,就可通过他提供的博客地址进行访问,预览在线博客啦!!
如果博客的样式不对,则需要在_config.yml中配置下博客地址和路径:
url: “码云提供给您的博客地址”
root: /
再执行命令 sh deployer.sh
就可以啦,之后就是美化我们的博客了。
6.博客的美化
下载自己喜欢的主题,可以去 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