来到GitHub这么长时间,才开始真真的了解GitHub,这个国外的代码托管平台,充满着大牛的身影。
国内也有不多少的代码托管平台,本文将就用GitHub的GitHub Pages 功能来搭建,我的个性博客,最近在学习JS后端Node.js, 现在火的不行, 异步IO的机制, 所以在学习过程中发现了hexo是由Node.js驱动的一款快速、简单且功能强大的博客框架。
比起WordPress,hexo的搭建更加简洁,配合上markdown的使用,更加便捷的管理自己的学习文档。
概况
- 为什么选择GitHub Pages
1、GitHub Pages有免费的代码托管空间,资料自己管理,保存可靠;
2、学着用 GitHub,享受 GitHub 的便利,上面有很多大牛,眼界会开阔很多;
3、顺便理解 GitHub 工作原理,最好的团队协作流程;
4、GitHub建立私有仓库才会收费,所以会有很多开源代码。- GitHub Pages是什么
应用GitHub Pages创建属于自己的个人博客,GitHub将提供免费的空间。GitHub提供的域名(用户名+github+io),在Repository name对应处填写资源名,其需要使用自己的用户名,每个用户名下面只能建立一个,并且资源命名必须符合这样的规则username/username.github.io,之后勾选下面的”Initialize this repository with a README” 。- hexo出自何人
hexo出自台湾大学生 tommy351 之手,是一个基于Node.js的静态博客程序,其编译上百篇文字只需要几秒。hexo生成的静态网页可以直接放到GitHub Pages,BAE,SAE等平台上。
安装准备
环境搭建:
安装Node
到 Node.js 官网下载相应平台的 最新版本 ,一路安装即可。我用的是 node-v0.10.22-x86.msi
安装Git
Git的客户端很多,我用的是 msysgit ,喜欢用绿色版本 Portable application for official Git for Windows 1.8.4 ,下载下来设置一下环境变量即可,Git_HOME,%Git_HOME%\bin之类的,不多说。
安装Sublime
Sublime Text 2 在这里仅仅作为一个文本编辑器使用,支持各种编程语言和文件格式,当然也支持Markdown语法,实在是个不可多得的练码奇才。喜欢追鲜的也可以尝试处于beta版本的 Sublime Text 3 。
GitHub注册与配置
- 配置和使用Github
以下教程主要参考beiyuu的《使用Github Pages建独立博客》写成。
- 配置SSH keys
我们如何让本地git项目与远程的github建立联系呢?用SSH keys。
打开Git Bash工具,执行以下操作
- 检查SSH keys的设置
1 | 首先我们需要检查你电脑上现有的ssh key: |
注意1: 此处的邮箱地址,你可以输入自己的邮箱地址;
注意2: 此处的「-C」的是大写的「C」
然后系统会要你输入密码:
Enter passphrase (empty for no passphrase):<输入加密串>
Enter same passphrase again:<再次输入加密串>
在回车中会提示你输入一个密码,这个密码会在你提交项目时使用,如果为空的话提交项目时则不用输入。这个设置是防止别人往你的项目里提交内容。
注意:输入密码的时候没有*字样的,你直接输入就可以了。
最后看到这样的界面,就成功设置ssh key了:
1 |
- 添加SSH Key到GitHub
在本机设置SSH Key之后,需要添加到GitHub上,以完成SSH链接的设置。- 打开本地C:\Documents and Settings\Administrator.ssh\id_rsa.pub文件。此文件里面内容为刚才生成人密钥。如果看不到这个文件,你需要设置显示隐藏文件。准确的复制这个文件的内容,才能保证设置的成功。
- 登陆github系统。点击右上角的 Account Settings—>SSH Public keys —> add another public keys
- 把你本地生成的密钥复制到里面(key文本框中), 点击 add key 就ok了
- 测试
1 | 可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改: |
Hexo博客
Hexo
Hexo的作者是tommy351,根据官方介绍,Hexo是一个简单、快速、强大的博客发布工具,支持Markdown格式。hexo的主题列表 Hexo Themes。 我比较喜欢 pacman , modernist 、 ishgo , raytaylorism 。
安装Hexo
打开Git Bash工具(前提确保Node.js已经安装,环境配置OK)
$ npm install -g hexo
注释:
执行命令:npm install -g hexo,报错如下:
1 | npm ERR! Error: shasum check failed for C:\Users\ADMINI~1\AppData\Local\Temp\npm |
部署Hexo
1 | 在我的电脑中建立一个名字叫「Hexo」的文件夹,然后在此文件夹中右键打开Git Bash。 |
部署到GitHub
1 |
|
注释:
hexo d,执行该命令,报错:
1 | ERROR Deployer not found: git |
hexo d,执行该命令,报错:
复制cnfeat的主题
以下进入复制主题环节,如果那一步出现问题,或者修改后没有显示修改的结果,建议来来一个,再看看,可以解决很多问题。
1 | $ hexo clean |
启用cnfeat的主题
修改Hexo目录下的config.yml配置文件中的theme属性,将其设置为jacman。同时请设置stylus属性中的compress值为true。
theme: jacman
注意:Hexo有两个config.yml文件,一个在根目录,一个在theme下,此时修改的是在根目录下的。
更新主题
$ cd themes/jacman
$ git pull
注意:为避免出错,请先备份你的_config.yml 文件后再升级
本地查看调试
1 | $ hexo g #生成 |
4、浏览器中查看效果
浏览器输入http://localhost:4000 ,查看搭建效果。此后的每次变更_config.yml文件或者上传文件都可以先用此命令调试,非常好用,尤其是当你想调试出自己想要的主题时。
#进阶篇:Hexo设置
网站搭建完成后,就可以根据自己爱好来对Hexo生成的网站进行设置了,对整站的设置,只要修改项目目录的hexo/_config.yml就可以了,这是我的设置,可供参考。
默认目录结构:
1 | . |
hexo/_config.yml
1 | # Hexo Configuration |
修改局部页面
页面展现的全部逻辑都在每个主题中控制,源代码在hexo\themes\主题名称\中:
hexo\themes\
1 | ├── languages |
主题文档的配置
hexo\themes/_config.yml
1 | # Header |