Hugoを使ってみたときのメモ
29/Dec 2014
こちらのエントリを拝見し、Hugoをつかってみたときのメモ。
http://deeeet.com/writing/2014/12/25/hugo/
Hugoとは
Goで書かれた静的サイトジェネレータ。
当然github pagesでもbitbucketでのデプロイも可能。
バイナリでも配布されているので、使うだけなら特にGo言語がどうとか気にしなくて良い。
使い方とか
公式サイトが簡潔にまとまっていて1時間もあればサイトを構築できる。
以下にすべて書いてあるので丸投げ( ・∀・)
http://gohugo.io/overview/introduction
個人的なメモ
ソースはbitbucketで管理し、github pagesで公開する
サイト生成
$ hugo new site /path/to/site
新しいエントリ生成
$ hugo new posts/first.md
ローカルで確認
$ hugo server --theme=redlounge --buildDrafts
localhost:1313で確認。
bitbucketにソースをプッシュ
生成されたpublic/を一旦削除。
$ rm -rf public/
bitbucketのリポジトリ登録とプッシュ。
$ git init
$ git remote add origin https://machortz@bitbucket.org/machortz/<予め用意しておいたリポジトリ>.git
$ git add -A
$ git commit -m "initial commit"
$ git push origin master
github pagesで公開
github pages用のリポジトリに作ったpublic/をサブモジュールとしてカレントディレクトリに追加する。
$ git submodule add https://github.com/machortz/machortz.github.io.git public
改めてhugoでサイトを生成する。このときにサブモジュールpublicのなかにindex.htmlとかが生成される。 draft = trueを削除することも忘れずに。。
$ hugo -t redlounge
生成されたサイト(publicディレクトリの中身)をgithubにプッシュしてサイトを公開する。
$ cd public/
$ git add -A
$ git commit -m "something"
$ git push origin master
これで数分まてばgithub pagesで確認できる。
サブモジュール追加したあとのサイト生成から、github pagesへのプッシュまでのシェルスクリプトは、 http://gohugo.io/tutorials/github_pages_blog/ にある。
#!/bin/bash
echo -e "\033[0;32mDeploying updates to GitHub...\033[0m"
# Build the project.
hugo # if using a theme, replace by `hugo -t <yourtheme>`
# Go To Public folder
cd public
# Add changes to git.
git add -A
# Commit changes.
msg="rebuilding site `date`"
if [ $# -eq 1 ]
then msg="$1"
fi
git commit -m "$msg"
# Push source and build repos.
git push origin master
# Come Back
cd ..