久々にblogに記事を書こうと新しいmacにhugoをインストールしたが、まったく動かなかっていたので自分用にメモ。
ちなみに構成は、Hugo本体をbitbucketのリポジトリに非公開で管理し、生成した記事(HTML)をgithub pagesで管理している。
Install Hugo
今回はhomebrewでインストール。
$ brew install hugo
$ hugo version
Hugo Static Site Generator v0.27.1 darwin/amd64 BuildDate: 2017-09-16T19:35:01+09:00
Add submodule
まずgithub pageでブログを公開するために、github上に生成したHTMLを管理するリポジトリをsubmodule
として管理している。
そもそもsubmoduleの仕組みだが、git submodule add
すると、リポジトリの直下に.gitmodules
、.git/config
、.git/modules
の3箇所に記載、ファイルが追加される。
しかし今回のように、すでにある(add moduleした)リポジトリをcloneした場合.git/modules
中にファイルが存在しない。
なので一旦git rm public
でsubmoduleを削除し(すると上記3ファイルの記載が消える)、再度git submodule add
する。
$ git rm public
$ git submodule add git@github.com:tatsuyano/tatsuyano.github.io.git
##.gitsubmodules
[submodule "public"]
path = public
url = git@github.com:tatsuyano/tatsuyano.github.io.git
## .git/config
[submodule "public"]
url = git@github.com:tatsuyano/tatsuyano.github.io.git
## git/modules
$ ll .git/modules/
drwxr-xr-x 13 noguchi staff 442B Sep 18 19:50 public //<-追加される
drwxr-xr-x 4 noguchi staff 136B Sep 18 20:20 themes
version 0.15から静的ファイル(public)が自動生成されなくなった
そのためまずhugo server --renderToDisk=true
でpublic配下にHTMLファイルを生成してから、deploy(githubにpush)する必要がでてきた。
$ hugo version
Hugo Static Site Generator v0.27.1 darwin/amd64 BuildDate: 2017-09-16T19:35:01+09:00
$ hugo server --renderToDisk=true
ローカルで確認してからdeploy
hugo server
でローカル( http://localhost:1313 )で確認し終わったら、いつもどおりdeploy.sh
でgithubにpushし、github pagesでblogを公開する。
$ sh .deploy.sh