Hexo+Github搭建个人博客手记
Hexo是一个快速、简介、高效的静态博客框架,让多个页面在几秒内瞬间完成渲染。Hexo基于Node.js,支持Giithub,可以整合Octopress等大多数插件,并自己也拥有强大的插件系统.
准备工作
安装Node.js
Hexo是基于Node.js的,需要首先安装npm工具,这个工具是Node.js安装包的工具,所以我们要首先安装Node.js.
使用apt-get安装Node.js:
$ sudo apt-get install -y nodejs
安装npm
$ sudo apt-get install npm
使用npm安装Hexo
$ sudo npm install hexo-cli -g
创建博客
1、 Node和Git都安装好以后,在本地目录下建一个文件夹,如:MyBlog,进入该目录并安装Hexo.
$ sudo npm install -g hexo
2、 初始化以后,执行init初始化命令:
$ hexo init
3、 生成静态页面命令:
$ hexo generate(hexo g也可以)
4、 本地预览,进行文章预览调试,命令如下:
$ hexo server (hexo s也可以)
浏览器输入 http://localhost:4000 即可。
5、 一些常用命令
hexo new "postName" #新建文章
hexo new page "pageName" #新建页面
hexo generate #生成静态页面至public目录
hexo server #开启预览访问端口(默认端口4000,'ctrl + c'关闭server)
hexo deploy #将.deploy目录部署到GitHub
hexo help #查看帮助
hexo version
Hexo如何让文章想只显示一部分和一个"阅读全文"的按钮:在文章中加 <!--more-->
Github设置
-
github账号注册
Git是一种良好的、支持分支管理的代码管理方式,能很好地解决团队之间协作的问题。每个工程师在自己本地分支上开发,完成功能之后再将所有人的代码合并。
这个大家应该都有,没有的话就去注册一下吧! Github地址:https://github.com/ -
创建Name仓库
建立与你用户名对应的仓库,仓库名必须为[your_user_name.github.io],如图所示:
-
配置和使用github
如果用过Git的话,这一步就可以忽略了。没有用过的,下边可要认真看了。
3.1 首先需要检查你电脑是否已经有SSH key,运行 git Bash 客户端,代码如下:
$ cd ~/.ssh
$ ls
检查是否已经存在id_rsa.pub或id_dsa.pub文件,如果文件已存在,那么可以跳过步骤2,直接操作步骤3。
3.2 创建一个SSH key,这里请注意:你需要把邮件地址换成你自己的邮件地址
$ ssh-keygen -t rsa -C "your_email@example.com"
代码参数含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的SSH key代码,以下会出现三次提示:
第一次提示,生成两个密钥,直接回车选择默认文件名( id_rsa 和 id_rsa.pub );
接下来两次提示,输入密码和确认密码,是push文件时候的密码,当然也可不输入密码,直接回车。代码如下所示:
Generating public/private rsa key pair.
# Enter file in which to save the key (~/.ssh/id_rsa): [Press enter]
Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
当你看到下面这段代码的时候,那就说明,你的SSH key已经创建成功,你只需要添加到github的SSH key上就可以了。
Your identification has been saved in ~/.ssh/id_rsa.
# Your public key has been saved in ~/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
3.3 添加你的 SSH key 到 github上面去.首先你需要拷贝 id_rsa.pub 文件的内容.也可直接使用命令行来复制:
Mac下:pbcopy < ~/.ssh/id_rsa.pub
Windows下:clip < ~/.ssh/id_rsa.pub
$ ~/.ssh/id_rsa.pub
登陆Github,
打开个人 Settings-->SSH keys-->Add SSH key,
Title 随便写,
Key 粘贴之前复制的内容,
这样 SSH key 就添加的 GitHub。
3.4 检测SSH key是否可以访问Github,命令如下:
$ ssh -T git@github.com
当你输入以上代码时,会有一段警告代码,如:
The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?
这是正常的,你输入 yes 回车既可。如果你创建 SSH key 的时候设置了密码,接下来就会提示你输入密码,如:
Enter passphrase for key '~/.ssh/id_rsa':
当然如果你密码输错了,会再要求你输入,直到对了为止。
注意:输入密码时如果输错一个字就会不正确,使用删除键是无法更正的。
密码正确后你会看到下面这段话,如:
Hi sweetheartly! You've successfully authenticated, but GitHub does not provide shell access.
如果用户名是正确的,你已经成功设置SSH密钥。如果你看到 “access denied” ,者表示拒绝访问,那么你就需要使用 https 去访问,而不是 SSH 。
3.5 设置Git全局用户配置,这一步不是很重要,但是如果与之前所有的git账户不一致,Github会要求必须声明的。
$ git config --global user.name "xxx"
$ git config --global user.email "xxx@gmail.com"
部署
1、 打开Hexo博客目录下的_config.yml,推荐使用VS code,尽量不要用记事本打开,可能会出现乱码(如果出现乱码,一定要用编辑器将文件编码格式改为:UTF-8)。repo: 找到自己对应的仓库,branch选择主分支.
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:sweetheartly/sweetheartly.github.io.git
branch: master
2、 通过shell命令找到Hexo所在的目录(这里我的是:MyBlog),安装hexo-deployer-git部署所需要的插件,命令如下:
$ npm install hexo-deployer-git --save
3、 清除public目录下的缓存文件,文件生成后立即部署网站,部署之前预先生成静态文件
$ hexo clean && hexo g && hexo deploy
4、 在浏览器输入https://sweetheartly.github.io/, sweetheartly是个人github的名字,如图所示:
好了,到这里就结束了。如果你有什么疑问或指正,请留言。
参考文档: https://www.liaoxuefeng.com => Git教程
参考文档: http://blog.csdn.net/binyao02123202/article/details/20130891
参考文档:http://www.jianshu.com/p/21234432c94e