Github Pages 和 hexo 搭建个人博客。

Github Pages

Github Pages, Websites for you and your projects.

  • 在 github 上创建名为username.github.io的仓库,其中username为你的 GitHub 账号名称。如我的 GitHub 账号为lizsgh,则创建仓库名为lizsgh.github.io
  • 在仓库根目录下添加 index.html 页面。这时候,我们登录 http://lizsgh.github.io 就可以看到 index.html 的内容。也就是说,我们可以通过http://lizsgh.github.io来访问这个仓库的静态页面内容。
  • Jekyll themes。Jekyll 是一个简单的、可扩展的、静态的网站生成器。GitHub Pages 可以选择 Jekyll theme 来作为网站的主题。设置方法:打开仓库,在setting中有一个GitHub Pages的设置选项,其中Theme Chooser可以选择 Jekyll theme 来作为网站的主题。Jekyll 的使用可以看文档:Jekyll Document
  • CNAME。GitHub Pages 还可以让我们自己自定义网站的域名。同样在仓库settingGithub Pages设置选项中有一个Custom domain的选项,可以自定义网站的域名,如 www.lizs.cc。然后,在域名服务商平台将域名解析为 CNAME 类型,值为 lizsgh.github.io。生效之后,就可以通过 www.lizs.cc 来访问了。

Hexo

Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown (或其他渲染引擎) 解析文章,生成静态网页。

个人觉得 Hexo 比 Jekyll 简单好用点,所以抛弃了用 Jekyll theme 来作为 Github Pages 主题。

  • Hexo 安装前提:Node.js 和 Git。

  • 安装 Hexo

    1
    $ npm install -g hexo-cli
  • 初始化一个 hexo 项目

    1
    2
    3
    $ hexo init <folder>
    cd <folder>
    npm install

    新建完成之后,项目目录如下:

    1
    2
    3
    4
    5
    6
    7
    8
    .
    ├── _config.yml
    ├── package.json
    ├── scaffolds
    ├── source
    | ├── _drafts
    | └── _posts
    └── themes
  • 创建文章

    1
    $ hexo new [layout] [title]

    如,hexo new test 就会在 source/_posts 目录下生成一篇名为 test.md 的文章。也可以直接在 source/_posts 下新建 test.md 文件来创建文章。

  • 生成静态页面

    1
    $ hexo generate

    执行命令会生成一个 public 目录来存放生成的静态页面。如果生成静态页面之前想将之前版本的 public 删除,可以用 hexo clean 命令。

  • 启动本地服务器

    1
    $ hexo server

    通过以上命令启动服务器,可以通过 http://localhost:4000/ 地址来访问。

  • 部署到 GitHub Pages

    • 首先,配置 _config.yml 文件

      1
      2
      3
      4
      deploy:
      type: git
      repo: https://github.com/lizsGH/lizsgh.github.io.git
      branch: master

      其中 repo 为你 GitHub Pages 仓库的地址。

    • 然后执行部署命令

      1
      $ hexo deploy

    如果出现错误 ERROR Deployer not found: git,则需要安装 hexo-deployer-git 扩展:

    1
    $ npm install hexo-deployer-git --save
  • 自定义域名
    自定义 GitHub Pages 的域名只需要添加文件 source/CNAME:

    1
    www.lizs.cc

    然后,重新部署到 GitHub Pages 即可。

更多详细信息,可以参考 Hexo Document