GitbookをGitHub Pagesで公開する ヘ(^o^)ノ

Gitbook

markdownで書ける電子書籍作成ツール

HTMLや電子書籍(PDF,EPUB,MOBI)にoutputできる

今回はHTMLをoutputして、GitHub Pagesのホスティング機能を使って公開してみます

github.com

GitHub Pages

GitHubホスティングサービス

Organization と Project Pages で使うことができる

今回はProject Pagesを使う

Project Pagesを使うにはビルド後のファイルを gh-pages ブランチへpushする必要があります

[コード管理用] https://github.com/username/projectname

[GitHub Pages] https://username.github.io/projectname

Custom domainも使えるよ

Using a custom domain with GitHub Pages - User Documentation

pages.github.com

CircleCI

GitHubなどと連携して自動でビルドやテストしてくれる

CircleCIを使ってmasterにpushされたら自動でビルドを実行し、 gh-pages ブランチへpushする

circleci.com

ご注意

CircleCIの秘密鍵read-only なのでpushできない

なので、 read/write な権限をもってる秘密鍵を登録する必要がある

参考

GitHub Managing deploy keys | GitHub Developer Guide

CircleCI Adding read/write deployment key - CircleCI

Package

gh-pages ブランチへpushする為に使ったパッケージ

べんりすっね

www.npmjs.com

Gitbook Boilerplate

なんか最近よくみるので作ってみました

ボイラープレートとかちょっとかっこいい( ˘ω˘)

github.com

使い方

ローカルにclone

$ git clone git@github.com:murajun1978/gitbook-boilerplate.git gitbook-sample

$ cd gitbook-sample

$ rm -rf .git

Gitbookのセットアップ

$ npm install

$ npm run init

リポジトリにpush

$ git init

$ git add .

$ git commit -m "Initial commit"

$ git remote add origin [remote URL]

$ git push -u origin master

CircleCIの環境変数をセット

Project settings > Environment Variables

https://circleci.com/gh/[username]/[project-name]/edit#env-vars

name: USERNAME
value: [username]

name: EMAIL
value: [email]

CircleCIでbuildを実行

Happy Hacking٩( ‘ω’ )و