1 、摘要
目的是要在github.io部署自己的静态博客,通过username.github.io就可以访问自己的网站,有条件可以将自己的域名指向username.github.io,实现自定义域名访问。
路线总览:在本地安装npm和hexo,hexo会将我们的markdown的文件(即博客文章)生成为网页样式,再将网页样式文件推送到github.io,实现博客显示。所以每次新增博客(新增md文件)后,都需要hexo g生成网页,然后hexo d部署推送到github,然后就算是更新博客了。(非前后端方向,描述可能不专业)
所以我们需要:
注册配置github项目(算是博客部署服务器吧)
本地配置npm和hexo(本地博客生成)
安装使用Typora(一款写markdown的软件)
2、环境搭建
2.1 配置本地开发环境
我们在本地需要安装Git - Downloads和Node.js,安装方式一路默认即可。安装完成后,打开命令行通过node -v,git --version和npm -v命令查询版本,如果都能正常显示,说明安装成功。
2.1.1 配置github本地账户
现在为了方面后续和github账户的交互,我们需要在本地配置账户以及添加密匙。
首先在空白处右键选择Git Bash Here,通过git config --global user.name "GitHub 用户名"和git config --global user.email "GitHub 邮箱"设置你的github用户名和邮箱。
然后执行命令ssh-keygen -t rsa -C "GitHub 邮箱"一路回车创建密匙,然后复制C:\Users\用户名\.ssh\id_rsa.pub(创建密匙成功才会有这个pub文件)里面的全部内容。
然后登陆 GitHub ,进入 Settings 页面,选择左边栏的 SSH and GPG keys,点击 New SSH key。Title 随便取个名字,粘贴复制的 id_rsa.pub 内容到 Key 中,点击 Add SSH key 完成添加。
现在用ssh -T git@github.com测试是否正确:
2.1.2 通过npm安装hexo
现在打开Git Bash Here,通过npm install -g hexo-cli安装hexo,等待安装完成。
hexo初始化并安装相关组件:
hexo init
npm install
生成页面并在本地启动:
hexo g //hexo generate
hexo s //hexo server
现在我们可以访问本地的4000端口看到hexo的hello world页面
2.2 创建github项目
这一部分首先需要一个github账号,然后新建一个项目,项目的名字为username.github.io,比如我的用户名为thgpddl,则我新建的项目名为thgpddl.github.io。同时勾选Add a README file。
3、hexo生成发布博客
3.1 设置hexo配置文件
首先通过npm install hexo-deployer-git --save安装hexo-deployer-git,然后修改_config.yml:
deploy:
type: git
repo: https://github.com/thgpddl/thgpddl.github.io.git # 修改为自己的项目,即git clone显示的链接
branch: main
message: update
现在通过hexo new page生成一个名为page的md文件,就是新的博客。然后随便在md中写点什么。
通过hexo g生成hexo页面,通过hexo d部署到github上。至此,可以通过you_user_name.github.io访问有新文章的页面了(当然可能有缓存影响,页面没有同步更新,可以尝试清楚浏览器缓存)。
后续,每当我们写了一篇新的博客后,都需要依次执行下面的代码更新github网站:
hexo clean # 清楚上次生成的页面文件
hexo g # 生成新的页面
#hexo s
hexo d # 部署到github
4、创建gitee项目同步源码
在上面的hexo d后,在github项目中可以看到源文件,但是这只是hexo生产的页面文件,真正的markdown等源码是没有的。
所以为了同步我们的博客源码,可以在gitee新建项目同步代码(通过git add,git commit,git push的方式同步源码,和hexo无关了),这部分就是常规的git使用,不做详细介绍。(gitee可以创建免费的private项目,而github似乎不行)
注意,其中themes/3-hexo本身也是一个git项目,为了防止潜在的冲突,需要把themes/3-hexo中下面的文件以及.git删除
5、使用Typora写markdown
Typora是一款在本地写markdown的软件,我们便携markdown博客,再通过hexo生成网页推送到github。
5.1 安装最后的免费版本Typore 0.11.18
Typora自v1.0版本后就收费了,0.11.18是最后一个免费版本,其他版本也无所谓,反正都能写md。
安装后启动会提示过期要求必须下载最新版(收费版),解决办法:【工具分享】typora-beta-0.11.18版本又提示过期的【神级】解决方案_typora 0.11.18-CSDN博客
5.2 设置便捷的图片插入
我经常通过截图,然后在md中ctrl+v插入图片,所以便捷的图片插入是必须的。
首先安装npm插件:
npm install hexo-asset-img --save
安装这个插件后,我们通过hexo new page创建新的md博客,会在md同级目录生成同名的文件夹,在typora中我们设置将插入的图片保存到这个同名文件夹中,在hexo g生成页面时hexo-asset-img会自动处理这些asset文件,实现图片显示。
typora中的设置(设置插图保存):位置在格式-图像-全局图像偏好(如果图像是灰色可能你处于源代码模式,需要改变模式),设置如下:1)选择复制到指定路径;2)修改路径为./${filename},意思为插入的图片复制到md同名文件夹下;3)设置使用相对路径
后续可以通过hexo s或者hexo d在本地或github部署后,就可以正常看到图片了。
6、总结
简单总结写一篇新文章的流程:
进入博客项目文件夹,右键打开
Git Bash here,执行命令hexo new page创建名为page的md文件,会自动生成名为page的文件夹。(你也可以手动在source/_posts/下创建page.md和page/)在typore中编辑md文件
在博客项目文件夹中,右键打开
Git Bash here,依次执行:hexo clean # 清除 hexo g # 生成 hexo d # 部署
7、注意
- md文件名不能带有汉字,最好英文+数字+下划线,避免未知bug
8、TODO:高级功能
- 使用模板3-hexo
- 修改模板
- 自动备份
- 评论区:3-hexo评论设置 | 叶落阁 (yelog.org) 使用gitalk似乎要手动创建issue
- ……
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 ishyj@qq.com