Hello Hugo

初めての Hugo

Hugo は golang で作られた静的サイトジェネレータです
Hugo の インストールから かんたんな使い方までをざっとメモしておきます

環境

Virtualbox
Ubuntu18.04

手順

Hugo インストール

sudo apt install hugo

上記方法でもいいのですが、インストールされるバージョンがちょっと(かなり)低いのです
使いたいテーマがサポートしているバージョンより低い場合バージョンアップが必要になります

というわけで以下の方法をおすすめ

  1. Github から最新のHugoを取得します

    • 今回は hugo_0.54.0_Linux-64bit.deb をDL
  2. install

    • sudo apt install hugo_0.54.0_Linux-64bit.deb

サイト作成

以下コマンドでサイトが作成できます

$ hugo new site mysite

テーマのインストール

今回は AllinOneテーマを使用します
以下コマンドで テーマをインストールします

git submodule add https://github.com/orianna-zzo/AllinOne.git themes/AllinOne

このあとNetlifyで公開するときに問題になるので https アドレスで設定しておくのがポイント

テーマの初期設定

このテーマには exampleがついていますので、そこから設定ファイルをコピーしてきます
これでテーマを使用する最低限の準備が整うのではないかと思います

cp themes/AllinOne/exampleSite/config.tml ./

詳細は各テーマの READMEなどを参考にしてください

Hugo 起動

ホストOSからもサイトが確認できるよう、バインドポートとバインドホストの指定を行います

hugo server --bind 0.0.0.0  -b http://192.168.56.101:1313/ -D

バインドアドレスで指定している 192.168… は VirtualBox のホストIPです
ここで示して例では http://192.168.56.101:1313 にブラウザでアクセスすることで
リアルタイムに編集中サイトの確認ができます

コンテンツの追加

以下コマンドで contents/blog/hello.md が出来上がります

hugo new blog/hello.md

作られたファイルには以下のようなヘッダがついています

---
title: "hello"
date: 2019-01-01T00:00:00+09:00
draft: true
---

draft が true の場合、Hugoでサイトジェネレートしても表示されません
公開したい場合は この行を削除するのを忘れずに!

サイトジェネレート

以下コマンドでサイトジェネレートします
設定ファイルで指定したフォルダ(ここではPublic)に作成された静的コンテンツが出力されます
hugo -t AllinOne

-D オプションをつけるとDraftのコンテンツもジェネレートされます