使用github pages服务搭建博客的好处有:
- 全是静态文件,访问速度快;
- 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台;
- 可以随意绑定自己的域名,不仔细看的话根本看不出来你的网站是基于github的;
- 数据绝对安全,基于github的版本管理,想恢复到哪个历史版本都行;
- 博客内容可以轻松打包、转移、发布到其它平台;
欢迎访问我的博客:zidingyi丶
准备工作
- 注册一个github账号
- 安装node.js
- 安装git for windows
创建仓库
- 新建一个名为你的用户名.github.io的仓库,例如,你的github用户名是jack,那么你就新建jack.github.io的仓库
- 打开settings,在Github Pages里面进行设置,点击source,把None换成master branch分支,也就是作为部署github pages的分支,然后点save保存
配置SSH key
配置SSH key的原因是你提交代码需要拥有你github权限,但是直接使用你的用户名和密码的话存在安全隐患,所有使用SSH key来解决本地和服务器的连接问题
以下命令都是在git命令行中执行的
$ cd ~/.ssh #检查本机是否已存在ssh密钥
* 如果不存在:No such file or directory 说明你是第一次使用git。
* 如果已存在:则把.ssh文件夹中的id_rsa.pub和id_rsa文件删除
ssh-keygen -t rsa -C "github绑定邮箱地址"
之后就连续回车,最终会在用户目录下生成.ssh/id_rsa.pub和id_rsa,复制id_rsa.pub文件里面的全部内容,打开你的github主页,进入个人设置-> SSH and GPG keys -> New SSH key:
将刚复制的内容粘贴到key那里,title随便填,保存
测试是否配置成功
$ ssh -T git@github.com # 注意邮箱地址不用改
如果提示Are you sure you want to continue connecting (yes/no)?,输入yes,然后会看到: You’ve successfully authenticated, but GitHub does not provide shell access.
看到这个连接信息说明ssh配置成功
此时还需要配置:
$ git config --global user.name "xxx"// 你的github用户名,非昵称
$ git config --global user.email "xxx@qq.com"// 填写你的github注册邮箱
Hexo介绍
hexo是一个简单、快速、强大的基于Github Pages的博客发布工具,支持Markdown格式,有众多插件和主题
hexo官网:https://hexo.io
帮助文档:https://hexo.io/zh-cn/docs/
NexT主题配置文档:http://theme-next.iissnan.com/
注意:hexo有两种_config.xml文件,一个是在根目录下的全局配置文件,另一个是在各个theme下的配置文件,为了描述方便,在以下说明中,将前者称为站点配置文件, 后者称为主题配置文件
安装
$ npm install -g hexo
初始化
在电脑上创建一个文件夹(名字自取),比如我的是d:\testblog,这个文件夹将作为你存放代码的地方
$ cd /d/testblog/
$ hexo init
hexo会自动下载一些文件到这个目录,目录结构如下:
$ hexo g # 生成
$ hexo s # 启动服务
执行上面指令之后,hexo会在你的文件夹下面创建public文件夹并生成相关的html文件,这些文件将会被提交到github
hexo s是开启本地预览服务,打开浏览器访问 http://localhost:4000 即可看到内容
更换主题
$ cd /d/testblog/
$ git clone https://github.com/iissnan/hexo-theme-next themes/next
官方配置文档:http://theme-next.iissnan.com/
下载后主题在testblog/themes文件夹下
修改站点配置中的theme:next,然后重新执行hexo -g来重新生成
上传到github
- SSH key需要配置完成
- 配置站点配置中有关deploy的部分
deploy:
type: git
repo: https://yourname.github.io.git
branch: master
上面属性设置中,属性:与值之间有一个空格
配置后直接执行hexo d(部署到github指令)的话一般会出现错误:
Deployer not found: github 或者 Deployer not found: git
原因是你还需要安装一个插件:
npm install hexo-deployer-git --save
写博客
定位到我们blog的根目录,执行
hexo new "filename"
hexo会在_posts下生成对应的md文件
打开该文件就可以进行编辑,默认生成内容如下: