【Hexo】Hexo+GithubPages建站
0. Hexo+Github_Pages
前言
什么是Github_Pages
GitHub Pages 可以将我们托管在 GitHub 上的一个仓库中的 html、css 和 js 代码渲染成静态页面。当然,这个仓库是特殊的,所以每一个 GitHub 账户只能够育一个这样的仓库。将相应的博客内容上传到 GitHub 上之后,我们就可以通过
https://www.username.github.io
来访问自己的博客,这里的username
要换成自己的用户名。什么是Hexo
Hexo 是使用 nodejs 开发的一个快速、简洁、高效的静态博客生成器。Hexo 使用 Markdown 语法解析文章,然后渲染成相应的网页,然后我们将渲染好的网页代码上传到 GitHub 上就可以了。简单来讲,利用 Hexo,我们只需要使用 Markdown 语法写文章,剩下的事情全部交给 Hexo 去做,我们就可以看到想要的博客效果了。
配置这个你需要
- Git&Github
- nodejs&npm
- hexo
1. 安装 Hexo
npm install hexo-cli -g |
终端执行hexo -version
出现 Hexo 版本号,说明安装成功
2. 本地建站
2.1. 初始化
找到要存放博客的目录,进入终端执行:
hexo init blogs |
_config.yml
存放的是博客配置信息, source/_posts
是存放文章的地方。
2.2. 预览
打开终端,进入项目根目录执行:
hexo clean # 清除缓存文件,建议写完文章后执行一次 |
浏览器访问 http://localhost:4000/ 出现下图说明启动成功
2.2.1. 关于修改hexo启动的端口
默认使用4000端口。
暂时修改启动端口:
hexo s -p 80 |
永久修改启动端口:
vim node_modules\hexo-server\index.js |
修改其中默认的port值。
2.3. 更换主题
详细操作方式见相应主题文档。
3. 博客部署
登录 GitHub,新建一个 Repository,Repository name
可以是yourusername
.github.io,
打开博客目录下的_config.yml
,拉到最后,填写deploy
模块:repository
填写Github仓库的链接
# Deployment |
现在可以将博客部署上去了,执行
hexo clean |
执行成功可以通过 yourusername
.github.io 来访问博客了,至此搭建博客并部署已全部完成。
4. 图床
该部分转载自:[https://blog.csdn.net/zyq55917/article/details/125182027]
Hexo 博客站点搭建完成之后,需要考虑如何在文章中添加图片或视频。创建图床的目的是为本地图片等资源生成一个超链,然后将此连接嵌入到 markdown 编写的博客文章中,以此来解决博客中图片等资源的显示问题。
4.1. 下载 PicGo
PicGo 是一款图片上传的工具,目前支持 SM.SM图床、微博图床,七牛图床,腾讯云COS,阿里云OSS,又拍云,Github 等图床,未来将支持更多图床。
点击 [https://github.com/Molunerfinn/PicGo/releases] 下载 PicGo 工具。根据操作系统选择对应的版本,安装到指定目录。
PicGo官方文档:https://picgo.github.io/PicGo-Doc/zh/guide/#picgo-is-here
4.2. 创建 Github 仓库
在新建仓库页面,填入仓库名称,如 resources
,名称可以随意填写。仓库类型选择 public
。
如果已有仓库,跳过这一步。
4.3. 生成 Github Token
点击右上角的头像, 选择 Settings 进入设置页面。
在打开的页面中, 点击 Developer settings 设置页面。
进入到权限设置的页面中, 这里选择使用 Personal access tokens。
并点击 Generate new token 生成一个新的 token。
填写一个描述信息, 用于我们区分 token 主要是用于做什么, 多个不同的授权码最好分开使用。 这样即使泄露也只是这一个库。勾选 repo 选项, 点击 Generate token 生成授权码。
token 有时间限制,过了有效期后需要重新生成。
记住这个授权码, 关闭页面就没有了, 只能重新生成了
4.4. 图床信息
设定仓库名: 根据你刚刚创建的仓库加上你的用户名.
设定分支: 这里使用主分支 main。
设定Token:这里就是我们刚刚生成的授权码 token, 复制到这里即可。
存储路径:这里就是你的图片实际存放的地址,可以自己定义。这里使用 images/。
4.5. 图床测试
上传一个图片进行测试。在上传区拖入一张图片。 然后就可以看到系统提示上传成功。
然后点击相册,可以看到我们刚刚上传的图片。
经过测试, 如果两个相同的文件上传, 第二次就会上传失败。
4.6. 配置 Markdown
4.6.1. 插入图片
本文使用 Typora 工具。在 “格式” 菜单中选择 “图像”,插入图像元素。
在图片路径中填入从 PicGo 中复制的图片链接。
4.6.2. 插入视频
以 B 站为例,在分享界面中复制嵌入代码。粘贴到 Markdown 文件中。
得到如下代码段:
<iframe src="//player.bilibili.com/player.html?isOutside=true&aid=113629097689624&bvid=BV13qqkYuEGo&cid=27276019315&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe> |
直接嵌入后的视频窗口高度太小,我们调整如下:
height="500" |
调整后的代码如下:
<iframe src="//player.bilibili.com/player.html?isOutside=true&aid=113629097689624&bvid=BV13qqkYuEGo&cid=27276019315&p=1" scrolling="no" border="0" frameborder="no" framespacing="0" height="500" allowfullscreen="true"></iframe> |
4.6.3.插入GIF
<iframe height=100 width=100 src="gif 图片地址"> |
4.6.4. 更新内容
在站点根目录下执行以下命令将站点内容更新到 Github Pages
hexo clean |
执行完成后,稍等片刻,打开站点就可以看到了。
以上部分转载自:https://blog.csdn.net/weixin_46599489/article/details/135585622
5. CDN配置(可选)
jsDelivr:官方文档
https://www.jsdelivr.com/?docs=ghCDN:内容分发网络
https://blog.csdn.net/weixin_45863010/article/details/139453879
设定自定义域名:可选。
这里就需要用到 jsDelivr 加速功能。 因为 GitHub 国内访问过慢, 所以使用它进行加速。
查看官方文档可知
// load any GitHub release, commit, or branch |
我们只要将PicGo 中复制的图片链接,按照官方文档要求修改为
https://cdn.jsdelivr.net/gh/user/repo@version/file |
即可。然后重新部署到博客
6. 体会
一定一定一定要会看官方文档!
在建站的过程中,出现了各种问题,搜了各种别人写的博客资料,都很难解决问题。最后仔细看了看官方文档,发现官方文档内写的很清楚,问题也得到了很好的解决。看官方文档是解决问题的最佳方式。
另附:
hexo官方文档:https://hexo.io/zh-cn/docs/
butterfly主题官方文档:https://butterfly.js.org/
参考博客:https://blog.csdn.net/clearloe/article/details/139879493