Build A Blog With GitHub And Hexo

Posted by Gloomymoon on 2016-10-18

第一篇肯定是关于如何搭建一个基于GitHub的Blog。
主要的过程都是通过网络搜索获得,使用的主题也是简单挑选的一个Hexo主题HuxBlog

1. 开发环境

1.1 安装Git

Git的官网下载最新的版本,我下载的是Git for Windows 64-bit版本,你可以从下载页面获取其他系统和版本。

安装时的注意事项:

  • 使用默认选项:Use git from Windows Command Prompt,如果你担心污染PATH变量,也可以选择:Use Git from Git Bash only
  • 使用默认选项:Use OpenSSH
  • 使用默认选项:Checkout Windows-style, commit Unix-style line endings
  • 如果不需要使用IPython,使用默认选项:Use MinTTY

1.2 安装node.js

nodejs官网下载最新的版本,我下载的是nodejs for Windows(x64) v4.6.0 LTS,你可以从下载页面获取其他系统和版本。
nodejs安装相对简单,保持默认选项即可。

1.3 代码编辑软件

如果你从来没有写过代码,并且希望享受代码编写的了却,那需要一个比记事本更强大友好的代码编辑软件,下面是一些推荐:

2 GitHub

2.1 注册GitHub

因为最终Blog的内容是要发布在GitHub上的,所以肯定需要注册一个GitHub账号,直接访问官网申请注册即可,GitHub的普通账号是免费的,使用上稍有限制,但是不影响搭建一个完整的Blog。

2.2 建立仓库Repository

仓库Repository可以理解为存放一个项目所有相关资源的文件夹,我们需要给Blog建议一个单独的仓库,且仓库的名称必须严格限制为:your_user_name.github.io,这里需要将your_user_name替换成你在GitHub上注册的用户名。

2.3 配置SSH key

SSH key是用来为你提供一个远程发布/更新代码的密钥,一旦在GitHub上添加了SSH key,就可以在本地通过SSH直接访问GitHub中的内容,并进行各种操作。

配置SSH-Key的过程有些繁琐:

Step 1 生成一个新的SSH key

  1. 进入Git Bash,如果你不知道如何进入Git Bash,可以右键点击资源管理器中的任意目录,选择Git Bash Here
  2. 输入如下命令,注意将your_email@example.com替换成你注册GitHub的邮件地址:

    1
    $ ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
  3. 你会看到如下提示:

    Generating public/private rsa key pair.

  4. 输入生成密钥的文件名,直接按回车将使用默认文件名id_rsa,请注意密钥文件存放的目录位置

    Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

  5. 输入口令,可以直接按回车不使用口令

    Enter passphrase (empty for no passphrase): [Type a passphrase]
    Enter same passphrase again: [Type passphrase again]

  6. 然后会在提示的本地目录下声场id_rsa和id_rsa.pub两个文件

Step 2 将SSH key添加到ssh-agent

  1. 首先确保ssh-agent启用

    1
    $ eval "$(ssh-agent -s)"

    如果返回如下则表示ssh-agent已经启用

    Agent pid 59566

    如果使用的不是Git Bash请尝试如下命令:

    1
    $ eval $(ssh-agent -s)
  2. 添加新的SSH key
    将之前的生成的id_rsa文件添加到ssh-agent中:

    1
    $ ssh-add ~/.ssh/id_rsa
  3. 输入下述命令检查添加是否成功:

    1
    $ ls -al ~/.ssh

    通常情况下将会列出之前添加的key:

    id_rsa.pub

Step 3 将SSH key添加到GitHub账户中

  1. 将SSH key复制到剪贴板中:

    1
    $ clip < ~/.ssh/id_rsa.pub
  2. 登录GitHub,在点击左上角头像,并选择Settings菜单选项:

  3. 在左侧项目菜单中选择SSH and GPG keys
  4. 点击New SSH keyAdd SSH key
  5. 在Title栏输入描述信息,例如你开发环境的机器名“Personal MacBook Air”,在Key栏粘帖SSH key的内容(在1中复制的内容):
  6. 最后点击Add SSH key完成添加
  7. 如果必要的话,在弹出对话框中输入GitHub密码确认:

3 安装Hexo

3.1 安装Hexo

  1. 打开Git命令行,执行如下命令:
    1
    $ npm install -g hexo

3.2 Quick Start

  1. Setup your Blog
    在电脑中新建一个文件夹并命名为Hexo,例如我建在F:\Workspace\nodejs\Hexo下,然后爱此文件夹点击右键进入Git Bash
    执行如下命令以获取Hexo所需要的源文件:

    1
    $ hexo init

    系统会提示:

    [info] Copying data
    [info] You are almost done! Don’t forget to run npm install before you start blogging with Hexo!

    根据提示运行会在Hexo目录下安装所需要的node_mdules:

    1
    $ npm install
  2. Start Server
    直接运行:

    1
    $ hexo s

    系统提示如下则表明Hexo Server已经启动,直接在浏览器访问http://localhost:4000就可以访问并查看效果

    [info] Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

    但是这个时候blog还是运行在本地服务器上,我们还需要部署到GitHub上

  3. 发布到GitHub
    首先需要修改Hexo目录下的_config.yml文件,找到如下内容:

    # Deployment
    ## Docs: http://hexo.io/docs/deployment.html
    deploy:
    type:

    替换成如下内容,注意将your_user_name替换成你的GitHub用户名:

    # Deployment
    ## Docs: http://hexo.io/docs/deployment.html
    deploy:
    type: github
    repo: git@github.com:your_user_name/your_user_name.github.io.git
    branch: master

    然后在Git Bash中运行:

    1
    $ hexo d -g

    系统将生成静态页面,并部署到GitHub服务器上

  4. 验证结果
    访问your_user_name.github.io,正常显示网页则表明部署成功。
    至此,一个新的Blog搭建完成。后续再逐步介绍如何编写文章、更换主题、进行个性化配置和添加插件等。

谢谢收看。