Mac上搭建基于GitHub的Hexo博客

一直纠结于哪里写博客,曾用过新浪博客,百度空间,LOFTER,OSChina,cnblogs,CSDN,自搭WordPress,都不满意。再后来也弄过Jekyll和Octopress,觉累不爱。

直到多看了一眼hexo,这个逼格极高的程序猿写作方式,我喜欢。就连hexo的发音都像是 黑客哦 !如果你跟我一样纠结哪里写博,那就来到GitHub吧,让我们一起hexo!

  • 如果你对默认配置满意,只需几个命令便可秒搭一个hexo。
    • 如果你跟我一样喜欢折腾下,30分钟也足够个性化。
      • 如果你过于喜欢折腾,可以折腾个把星期,尽情的玩。

搭建过程你或许觉得有那么点小繁琐,但一旦搭建完成,写文章是极简单,极舒服的。

只需要几个简单命令,你就可以完成一切。

hexo n #写文章
hexo g #生成
hexo d #部署 # 可与hexo g合并为 hexo d -g

下面逐步介绍,进入正题。

环境准备

安装Node.js

用来生成静态页面。
移步Node.js官网,下载安装即可。

安装Git

用来将本地Hexo内容提交到Github上。Xcode自带Git,这里不再赘述。
如果没有Xcode可以参考Hexo官网上的安装方法。

GitHub

GitHub账号和GitHub Pages 一般都应该有吧,已有的请自动无视这一部分

  • 注册GitHub

  • 建立与你用户ID对应的仓库

    • Repository Name: xxx.github.io #xxx为你的ID
      • 项目描述可空
        • 免费服务只能选择公开库, 选 Public
          • 点击 Create repository 创建完成
  • 添加SSH公钥到『Account settings -> SSH Keys -> Add SSH Key』

    • 首先终端设置你的用户名密码:

      git config --global user.email "你的邮箱"
      git config --global user.name "你的用户id"
    • 生成密钥,输入完一路回车,生成publicKey

      ssh-keygen -t rsa -C "你的邮箱"
    • 使用以下命令打开密钥,拷贝其内容

      cd ~/.ssh         #找到文件夹.ssh    
      cat id_rsa.pub #查看密钥
    • 在github上添加ssh密钥,登录之后,点击右上角的头像里面的setting,然后左边栏中点击SSH and GPG keys,然后是New SSH key,添加进去即可

      Title 随便填写,最好是具有标识符性名称;

      Key 填写 刚才复制的公钥

  • 验证是否连接成功

ssh git@github.com---

安装Hexo

当Node.js和Git都安装好后就可以正式安装Hexo了,终端执行如下命令:

$ sudo npm install -g hexo

输入管理员密码(Mac登录密码)即开始安装 (sudo:linux系统管理指令 -g:全局安装)

注意坑一:Hexo官网上的安装命令是$ npm install -g hexo-cli,安装时不要忘记前面加上sudo,否则会因为权限问题报错。

初始化

终端cd到一个你选定的目录,执行hexo init命令:

$ hexo init blog

blog是你建立的文件夹名称。cd到blog文件夹下,执行如下命令,安装npm:

$ npm install

执行如下命令,开启hexo服务器:

$ hexo s

此时,浏览器中打开网址http://localhost:4000预览本地页面。

本地设置好后,开始关联GitHub

关联GibHub

终端cd到blog文件夹下,vim打开_config.yml,命令如下:

$ vim _config.yml

打开后往下滑到最后,修改成下边的样子:

deploy:
type: git
repository: https://github.com/你的用户名/你的用户名.github.io.git
branch: master

注意坑二:在配置所有的_config.yml文件时(包括theme中的),在所有的冒号:后边都要加一个空格,否则执行hexo命令会报错,切记 切记

blog文件夹目录下执行生成静态页面命令:

$ hexo generate        或者:hexo g

此时若出现如下报错:

ERROR Local hexo not found in ~/blog
ERROR Try runing: 'npm install hexo --save'

则执行命令:

npm install hexo --save

再执行配置命令:

$ hexo deploy            或者:hexo d

注意坑三:若执行命令hexo deploy仍然报错:无法连接git或找不到git,则执行如下命令:

$ npm install hexo-deployer-git --save

再次执行hexo generatehexo deploy命令。

发布文章

终端cd到blog文件夹下,执行如下命令新建文章:

$ hexo new "postName"

名为postName.md的文件会建在目录/blog/source/_posts下,postName是文件名,为方便链接不建议掺杂汉字。你当然可以用vim来编辑文章。我在用MacDown编辑器,支持预览,简单高效!

文章编辑完成后,终端cdblog文件夹下,执行如下命令来发布:

hexo generate              //生成静态页面
hexo deploy //将文章部署到Github

至此,Mac上搭建基于GithubHexo博客就完成了。