HEXO+GitHub 搭建个人博客
文章目录
说在前面:搭建个人博客的几种方式
1、自己开发
这是最原始的博客建站方式了,自己写代码(前台 + 后台管理)、自己将项目发布上线、自己来维护网站,啥都自己来,
这样虽然麻烦,但优点是代码掌握在自己手里,很安全;想加什么功能都不会受到限制,很灵活。
2、站点生成器
因为博客是一种很典型的网站,所以有大佬将博客的功能(比如文章管理)抽象出来,做成了站点生成器 ,
可以用极少的命令 + 配置文件的方式,自动生成精美的博客网站。如HEXO
目前,绝大多数的站点生成器都只能生成静态网站,也就是说网站的内容是固定的,不需要从数据库中获取内容
3、建站程序
用法很简单,按照官方文档一键安装建站程序后,跟着程序的引导一步步去初始化配置,然后可以自由挑选主题美化你的网站
之后,你就可以直接在网站的后台发布和管理文章了,用户管理、分类、标签、评论等功能全都帮你做好了
4、购买
什么是Hexo
hexo是一款基于Node.js的静态博客框架,hexo 会解析 markdown 语法 生成对应的 html ,主题就是 css 样式。
开始搭建
1、前期准备工作
Git 安装:https://git-scm.com/downloads
Node.js安装:https://nodejs.org/zh-cn/
hexo安装
npm install hexo-cli -g
GitHub 仓库
原理就是将 Hexo 的内容塞到GitHub仓库里面让所有人都可以访问
2、搭建仓库
这里的Repository name有固定格式:
注册名.github.io
选中 Add a README file 选项
这样你的github就会出现一个空的仓库
3、生成SSH Keys
在电脑中任意文件夹,右键gitbash
这里输入ssh 检查ssh是否安装
安装之后执行:
ssh-keygen -t rsa -C "邮件地址"
在该目录下:C:\Users\xxx\ .ssh 找到 id_rsa.pub 文件打开复制所有内容
在Github页面中找到settings,进入SSH设置
在这里粘贴刚才复制的内容,名字随意
检查是否绑定成功
ssh -T git@github.com
成功的标志
4、在本地生成博客
在本地创建一个新的文件夹,右键gitbash
hexo init //初始化hexo
hexo g //生成本地页面文件
hexo s //启动页面
执行之后根据分配的地址通过浏览器查看页面
我在做的时候这里 hexo s 出错;原因是node版本过低,我去更新了一下node就好了
5、发布博客
首先,修改_config.yml文件
deploy:
type: git
repository: 你自己的仓库地址
branch: main
我这里用的是SSH端口,也有网上大佬用的HTTPS我用这玩意儿要报错也没找到原因…
branch分支这里要用main,之前是用的master,不过在去年底github的更新之后就只能用main了
还要注意的是这里每一个:后面都要有一个空格,不可省略!
接着,需要安装hexo-deployer-git
这个包是帮助我们将本地的hexo文件传到GitHub上面
npm install hexo-deployer-git --save
这里我的npm install有问题就用的淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install hexo-deployer-git --save
用 hexo g 生成一下本地页面文件
最后最关键的一步,上传GitHub
这一步是错误最多的一步
使用命令:
hexo d //上传命令
在这一步的时候我出现了:warning: LF will be replaced by CRLF in 报错,这里忘截图了
原因是存在符号转义问题
windows中的换行符为 CRLF, 而在linux下的换行符为LF,所以在执行时出现报错提示
执行如下语句即可解决报错,
git config --global core.autocrlf false
上面错误解决之后,又出现了如下问题:Author identity unknown
就是他不知道你是谁,很奇特的是这里没有给我弹出输入用户名和输入密钥的界面
既然它不来,所以这里我选择自己来
git config --global user.name “你的名字”
git config --global user.email “你的邮箱地址”
之后再用 hexo d 进行上传就可以了
如果有自己弹出的话,大家可以在GitHub开发者设置里面配置,权限都给上,避免出问题
g --global user.email “你的邮箱地址”
之后再用 hexo d 进行上传就可以了
如果有自己弹出的话,大家可以在GitHub开发者设置里面配置,权限都给上,避免出问题