GitHu+Hexo创建基于Git的博客

#GitHub + Hexo 创建自己的静态博客

一、创建GitHub项目

  1. https://github.com创建一个自己的账号;
  2. 创建一个用于放置Blog内容的Repository(代码仓库),Repository名为 <username>.github.io
  3. 在本地新建一个文件夹,并把创建好的Repository Clone到本地目录下;
  4. CD到项目的根目录下,创建一个测试用的html文件:printf "<h1>Testing page<h1> It works.\n" > index.html
  5. push到master分支,然后再浏览器中浏览测试的网页 <username>.github.io,如果出现刚才新建的页面就说明成功了;
  6. 创建一个没有父节点的分支,并清空刚才的测试文件:
    1
    2
    3
    4
    git checkout --orphan gh-pages
    git rm -rf .
    git commit -a -m "modify"
    git push origin master

二、安装Hexo

  1. 检查有没有安装npmnpm -v,如果出现版本信息的话,就OK,直接第6步
  2. 检查有没有portport -v,如果出现了版本信息的话,就OK,直接第5步
  3. http://www.macports.org/下载安装Mac版的MacPort
  4. 重启终端,使用port -v查看port的版本是否可用。如果出现版本信息的话,就OK。
  5. 使用sudo port -d sync来更新MacPort套件,可能会出现一堆sources.conf的错误,解决方法是修改/opt/local/etc/macports/sources.conf文件的最后几行
    1
    2
    3
    //rsync://rsync.macports.org/release/tarballs/ports.tar [default]
    #rsync://rsync.macports.org/release/ports/ [default]
    http://www.macports.org/files/ports.tar.gz [default]

6. 然后使用sudo port install npm2就能安装npm套件及NodeJS相关组件

三、使用Hexo创建、管理Blog

  1. 新建一个文件夹mkdir hexoBlog
  2. 创建一个hexo Blog : hexo init进行初始化
  3. hexo server 可以用来调试,在本地浏览器打开 http://localhost:4000可以调试本地的静态页面
  4. 创建一个静态文章页面,hexo new "post name",会在/hexo/source/_posts目录下创建一个与文章名相对应的.md文件。
  5. 写完以后hexo g生成一系列的CSS、HTML等内容
  6. 打开_config.yml配置文件,修改最后:
1
2
3
4
deploy:
type: git
repository: git@github.com:<username>/<username>.github.io
branch: master

注意:每个冒号后面必须有一个空格,不然会出现语法错误。

然后打开电脑的SSH:系统偏好设置–>共享–>远程登录

npm install hexo -deployer -git --save

hexo g

hexo d 部署到github上page页面。

总结每次创建文章的步骤
hexo clean 清理内容
hexo new "post name" 创建一个文章
hexo g 生成html文件
hexo s 在本地调试
hexo d 上传到github

注意
由于gitpages只支持300MB的内容,所以,有图片的话,最好还是放到别处吧,我这里呢是把图片放到围脖图床上了,简单易用,有safari、chorme、firefox浏览器的插件以供使用。瞅这里

四、Hexo操作及美化

一些操作和美化的方法

五、多平台操作

如果你有多台电脑,那么你就可能在多台设备上进行Blog内容的更新,对于Hexo来说,你就需要将你创建的Hexo目录在你的多个电脑上进行共享使用,然后才能进行Blog内容的更新。

可以使用iCloud、百度云、Google Driver、Dropbox等进行内容的同步。我这里用的是dropbox,速度挺快挺方便的,不过需要翻墙。

下面还有一篇用Dropbox同步的教程:教程

后记

遇到的问题及解决的渠道

MacPort update

npm install

hexo deploy

SSH open share

1
2
3
{ [Error: Cannot find module './build/Release/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }

MODULE_NOT_FOUND解决方法