Github 和 Hexo 配置
安装前提
安装 Hexo 相当简单。然而在安装前,您必须检查电脑中是否已安装下列应用程序:
如果您的电脑中已安装 Node.js , Git 的话,那么接下来就要用 npm 来安装 Hexo 了
GitHub Pages 仓库
在自己的 GitHub 账号下创建一个新的仓库,命名为 username.github.io(username 是你的账号名)。
在这里,要知道,GitHub Pages 有两种类型:User/Organization Pages 和 Project Pages,而我所使用的是 User Pages。
简单来说,User Pages 与 Project Pages 的区别是:
User Pages 是用来展示用户的,而 Project Pages 是用来展示项目的。
用于存放 User Pages 的仓库必须使用 username.github.io 的命名规则,而 Project Pages 则没有特殊的要求。
User Pages 将使用仓库的 master 分支,而 Project Pages 将使用 gh-pages 分支。
User Pages 通过 http (s)://username.github.io 进行访问,而 Projects Pages 通过 http (s)://username.github.io/projectname 进行访问。
Git
配置 name 和 email
当安装完 Git 应该做的第一件事情就是设置用户名称和邮件地址。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入你的每一次提交中,不可更改:
1 | git config --global user.name "username" |
查看 git 配置可以使用 -l 参数 (l 就是 list 的首字母,L 的小写):
1 | git config -l |
在某个项目根路径下面可以设置单独的 Email 与姓名.
1 | git config user.name "tiemaocsdn" |
ssh 配置
查看是否已经有了 ssh 密钥:cd ~/.ssh
如果没有密钥则不会有此文件夹,有则备份删除
生存密钥:
1 | ssh-keygen -t rsa -C "username@example.com" |
按 3 个回车,密码为空。
最后得到了两个文件:id_rsa 和 id_rsa.pub
添加密钥到 ssh:ssh-add id_rsa
需要之前输入密码。
在 github 上添加 ssh 密钥,这要添加的是 “id_rsa.pub” 里面的公钥
git 上进行测试
1 | ssh git@github.com |
返回结果
1 | PTY allocation request failed on channel 0 |
github ssh 配置完毕
Hexo 安装
如果上述必备程序已完成,那么接下来即可使用 npm 完成 Hexo 的安装
1 | npm install -g hexo-cli |
Hexo 建站
安装 Hexo 完成后,Hexo 需要在指定的文件夹 init 初始化,在你喜欢的文件夹内(例如 D:\Hexo),点击鼠标右键选择 Git bash,输入以下指令:
1 | hexo init |
接下来是安装依赖包,该命令会在当前文件夹内建立网站所需要的所有文件:
1 | npm install |
新建完成后,当前文件夹的目录如下:
1 | . |
现在可以通过下面的命令,搭建到本地预览一下
1 | hexo generate |
然后在浏览器输入 localhost:4000 查看
这个博客只是本地的,别人是浏览不了的,之后需要部署到 GitHub 上。
Hexo 配置
您可以在 _config.yml 中修改大部份的配置
找到这一个部分
1 | deploy: |
然后在 github 上仓库的 ssh 地址复制过来,修改后
1 | deploy: |
为了能够使 Hexo 部署到 GitHub 上,需要安装一个插件:
1 | npm install hexo-deployer-git --save |
然后通过下面的命令发布到 github 的仓库上完成部署:
1 | hexo generate |
theme 配置
如果想要使用其他主题,可以使用 git clone 将别人的主题拷贝到站点目录的 \themes 下,然后将_config.yml 中的 theme: landscape 改为对应的主题名字
个人推荐一个不错的主题:Next
详细步骤可以参考 Next 官网。
命令
常用命令
1 | npm install -g hexo-cli |
其他命令
1 | hexo new [layout] <title> |