介绍

本文使用以下工具来搭建博客:

  • 使用 Github 网站来存放博客数据
  • 使用 Github Page 功能来提供 100M 存储空间
  • 使用 Git 工具来提交博客数据
  • 使用 Node.js 来生成静态网页
  • 使用 Hexo 工具来管理博客
    本次搭建所使用的桌面环境: Manjaro 17 Gnome 3

依赖关系:

  • hexo 依赖 nodejs 来生成网页代码
  • hexo 依赖 git 来发布网站
  • git 与 github 配合来进行版本控制和通信

安装必要软件

  1. Git 安装:
    $ sudo pacman -S git

  2. Nodejs 安装:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    bash $ sudo pacman -S nodejs npm
    ```
    为了确保 npm 能正常安装插件需检查是否已安装 gcc
    如果没有: `sudo pacman -S gcc make`
    *********
    ---
    3. **Hexo 安装:**
    Hexo 已经被打包好了并存放于 AUR 仓库
    因此我们可以从 AUR 安装 hexo 软件包
    安装之前确保系统已经设置 AUR 源
    我们可以使用 yaourt 来安装: `yaourt -S hexo-cli`

    # 本地搭建博客仓库
    说明:仓库 在系统本地实际上就是一个目录(文件夹)
    准备:
    + 想好一个位置用于放置自己的博客(e.g ~/)
    + 想好一个名字用于命名自己的仓库(e.g blog)

    开始:
    + 创建博客本目录 `mkdir ~/blog`
    + 进入博客根目录 `cd ~/blog`
    + 初始化博客仓库 `hexo init`
    + 安装博客组建包 `npm install`


    ``` bash
    $ hexo server # 然后在浏览器输入这里给出的网址即可访问

如有占用端口可执行

1
$ hexo server -p 5000 # 改为其他端口

本地搭建先到这里,但还没完!精彩还在后面

注册 Github 帐号

注册帐号和创建远程仓库系列

三、配置 SSH 公钥

要让本地与远程 Github 网站建立联系,你还需要配置一下 ssh key 即 本地密匙
但这可能、或者、不是必须的,但有密匙能确保你通信提交文章不会被人加入一些东西。

这里需要用到:

你注册 Github 时的邮箱
你的 Github 用户名
准备一个你向远程博客更新文章时的密码(不是必须的)

条件:

Ubuntu 系统下自动安装了 ssh ,你如果没有或者删了,需要安装上。
关于 ssh key 安装方法 google !

开始配置

1
2
$ cd ~/.ssh				#切换到home主目录下的 .ssh 文件夹
$ ssh-keygen -t rsa -C "邮箱地址" #双引号不能省略喔,你省略了别说是我教你的。

出现

1
Enter passphrase (empty for no passphrase): #输入你想好的密码,你可以可以直接回车不配置。

出现

1
Enter same passphrase again: # 要求你再输入一次密码,如果你上面回车,这里也是一起回车

如果你两次都回车,在你提交文章到博客的时候,就不会要求输入密码。
关于密匙的用处我上面已经说了!看个人爱好了!
配置完后会出现一个美丽的方框,说明配置成功了

接下来请确保你文件管理器可以查看隐藏文件,没有可以 Ctrl + h 即可
然后进入 home 目录下 打开 .ssh 文件夹你会看到多出两个文件 id_rsa 和 id_rsa.pub
一个是 公用密匙,一个是 私用密匙。我们要用的是 id_rsa.pub 。
打开 id_rsa.pub 文件复制里面的全部内容,喜欢命令行的可用命令,cat 或 vim 。
打开浏览器登录到 Github 网站,
单击 settings(设置)-> 单击左边的 Deploy keys (部署密匙)
这时会进入一个对话框。
把你复制的密匙粘贴到 key 框里,Title 不用管,要管页可以,我是随便填了。
然后单击 add key (加入密匙)

现在进行本地测试

1
$ ssh -T git@github.com 		#就这样,直接回车

出现 提示要你输入 yes 和 no ,妈的我输入 y 不行,要 yes 这个注意了 然后回车
出现一个提示,如果末尾有一句 but GitHub not provide shell access. 说明添加密匙成功了

最后还有一个步骤,据说要配置用户名和邮箱,据说还可以是别的邮箱和随便起一个用户名。
但我用的是 Github 用户名和邮箱。你们自己尝试。

1
2
$ git config --global user.name "用户名" # 引号不能省
$ git config --global user.email "邮箱"

好了 SSH KEY 配置成功了!真是繁琐的一步!
网上一些旧的资料可以不用密匙,但不知道对于最新的 ubuntu 和 Github 是否管用就不知道了

四、开始远程搭建

打开浏览器登录到 Github 在仓库管理页面左边蓝色按钮 clone or download 单击小三角形
然后会下拉一个框,单击在下拉框左上角的 Use SSH ,然后复制中间那条密匙连接。
ok ,回到本地,进入你创建的仓库文件夹目录下打开 _config.yml
修改或添加这几行内容:

1
2
3
4
5
deploy:
type: git # 类型为 git
repo: #粘贴你刚才复制的 类似于:git@github.com:用户名/仓库名.git
branch: master 分支
message: '站点更新:{{now}(YYY-MM-DD HH:mm:ss)}' 我也不知道干嘛的,反正我是照弄了。

type repo branch message 前面两个空格,: 后面一个空格 切记,出错将不能访问。

ok ,最后一个步骤

1
2
3
4
npm install hexo-deployer-git --save 	#保存配置
hexo clean #删除缓存文件
hexo generate #建立 html 文件
hexo deploy #推送到网站

浏览器输入 仓库名.github.io 能正常打开就 ok 了

本文永久连接: http://www.guib.in