博客搭建教程
本教程针对的是使用Hexo框架&Butterfly主题,使用Github Pages作为服务器以供访问,建立个人博客的过程,此外,还包含图床配置内容。此方案免费简单,很好的满足了大家初次尝试建立一个漂亮的博客,并上传经验分享贴或经验总结贴的需求。
博客搭建
入门
- Hexo是一个快速、简洁且高效的博客框架,使用Markdown解析文章并生成静态网页
- Butterfly是一个美观简单的Hexo卡片UI设计主题,开发者提供了十分详细的教程并保持了高频率的版本更新,十分适合初学者选择
- Github建站原理:将所有资源建立在特定的github仓库中,使用Github Pages作为服务器以供访问
工具下载
建立仓库
- 在github建立仓库:由于该仓库启用Github Pages服务,因此该仓库为特殊仓库,命名必须为Username.github.io(在Settings界面中:Public profile-Name为昵称,Account-username为用户名)
- 勾选Add a README file
- 最后点击建立仓库。
生成SSH Keys(github关联本地/上传权限)
- 在本地任意 文件夹的空白区域右键,并点击Git Bash Here
- 在打开的Git界面中(该界面环境为Linux,因此粘贴为右键-Paste/而不是ctrl+v)
- 输入
ssh
检查是否安装/已安装的ssh(一般在安装Git时已经带有此工具) - 输入
ssh-keygen -t rsa -C "邮件地址"
(邮件地址为github注册时的邮件地址)后,连续敲四次回车,此时已经在电脑本地建立文件夹,路径为/c/Users(用户)/“用户名”/.ssh/id_rsa
- 输入
- 右键该路径下的id_rsa.pub文件,用文本编辑器(如Notepad++)打开,对内容进行全选复制
- 在Github-Settings界面中的SSH and GPG keys选项卡中,点击New SSH key新建一个钥匙,你可以任取一个Title,并把id_rsa.pub文件中复制的内容原封不动 的复制到Key中
- 最后,在Git界面中输入ssh -T git@github.com测试ssh是否绑定成功(当显示Hi+github注册名即成功)
本地生成博客内容
博客内容需要先在本地建立,并以部署的形式上传到网上,此外,由于部署需要时间,本地生成也是一个十分方便的调试手段
- 新建一个文件夹(该文件夹将为你的本地博客根目录),打开后在空白处右键,点击
Git Bash Here
- 在打开的Git界面中
- 输入
hexo init
以初始化hexo(由于github是国外网站,若连接失败可以多次尝试或换镜像源) - 当出现INFO Start blogging with Hexo!时,代表包安装成功
- 输入hexo s在本地静态生成hexo页面(打开本地服务器,不需要时按Ctrl+C后可关闭该本地服务器)
- 输入
发布博客至互联网
到目前为止,我们的本地博客就成功搭建了,但是现在我们只能通过本地静态生成页面查看博客,我们的目标是让其他人也能够访问我们的博客,这就需要我们将博客部署 到Github Pages上
- 需要了解的github过去进行的两次更新(这使得有些教程已经失效):
- 将本地文件上传至github不再使用钥匙验证,而使用令牌验证
- 默认分支从master改为了main
- 打开本地博客文件夹中_config.yml文件,将最后的deploy部分修改为
1
2
3
4deploy:
type: git //冒号后有空格
repository: 【这里填你的SSH】例如:git@github.com:NL-REMOTE/NL-REMOTE.github.io.git,SSH可以在特殊仓库-Code-SSH中找到
branch: main - 在博客文件夹下右键并点击
Git Bash Here
- 输入
npm install hexo-deployer-git --save
,安装hexo部署到git page的自动部署发布工具
Hexo安装完成后,将会在指定文件夹中新建所需要的文件,其目录如下: - 本次为初次生成,因此不需输入
hexo clean
- 输入
hexo g
生成页面 - 输入
hexo d
上传文件至github - 在首先弹出的GITHUB登陆界面中输入用户名和密码,登陆
- 在接下来弹出的SSH界面中输入用户名和令牌(此处不是密码)
- 在github-Settings-Developer settings-Personal access tokens中新建令牌,命名、设置有效期、赋予权限(可以全部选上)
- 新建令牌完成后会生成一段序列号(用以取代前面需要输入的密码),强烈建议妥善保存 (关闭页面后该序列号会被隐藏)
若报错Error: Spawn failed,依次执行以下命令(可重复执行)1
2
3hexo clean
hexo g
hexo d
- 输入
- 上述命令在之后的博客生涯中将不断使用,人称“hexo三板斧”
- 当出现INFO Deploy done: git时代表本地网页上传成功
- 此时可以通过网址打开已经上传至互联网的网页(网址路径:特殊仓库-settings-Pages)
自此,我们已经成功完成了博客的搭建
博客主题配置
美观的主题对于博客来说当然是重中之重(谁不希望常常光顾漂亮的小站呢),Butterfly是一个十分推荐的漂亮主题,但最为重要的是:他的开发者提供了十分详细的操作文档,并保持了高频率的版本更新。(有些很漂亮的主题操作文档并不完善,资料零散,甚至更不上hexo版本,因此十分推荐新手使用Butterfly主题)
点击此处跳转至Butterfly官方安装文档,按照教程即可完成所有基本配置
图床配置
什么是图床?图床就是一个便于在博文中插入在线图片链接的个人图片仓库,它必须位于网上并可通过链接随时访问。设置图床之后,在自己博客中插入的图片链接就可以随时随地在线预览了,并且不会因为任何意外原因无法查看,除非自己亲自删除。
关于图床可以查看这篇文章:图床对比与Github图床的优化
我的博客使用PicGo将图片上传至github图床,选择这个方案的主要原因是稳定且完全免费,但国内访问有时需要科学上网(但个人觉得稳定性最为重要)。
PicGo的使用以及jsDelivr优化加速可以参考这篇文章:使用GitHub+PicGo+jsDelivr搭建自己的私人图床
此外需要提醒的是,github图床中的图片删除,需要到仓库中手动进行,而不能仅在PicGo相册中删除(相比于github,Gitee的图片删除是同步的,但Gitee仓库作为图床有风险!参见此文章gitee图床因外链访问过多被封,我们该怎么办),也希望读到此篇文章的大家对图库进行良好的分层管理,以方便维护。
结尾祝福
最后希望读到此篇文章的大家都能建立起自己的小站,关于此文章教材的疑问都可邮件联系博主(主页有邮件联系按键),也期待大家建站后分享友链!