ブログをHUGOに切り替える
Hugo
goで書かれたCMS的なもの、markdownでブログがかけて、書いたものは、すべて静的なHTMLに変換されて出力されます。
導入方法
環境周り
- サーバー環境
- Raspberry Pi zero
- MW
- nginx
- HUGO
MW周りのセットアップ
nginx
sudo apt install nginx
超簡単
Anyenv
何故か、aptで入るHUGOは動かなかったので以下の通りanyenvからインストールする。
GitHub - anyenv/anyenv: All in one for **env
go
anyenv install goenv
goenv install 1.12.4
HUGO
ようやくインストールできるね。
GitHub - gohugoio/hugo: The world’s fastest framework for building websites.
基本的には公式のmanual インストールに従う。
mkdir $HOME/src
cd $HOME/src
git clone https://github.com/gohugoio/hugo.git
cd hugo
go install
実際に投稿するまで
サイトを作るまで
下記のQuick Startまで行おう Quick Start | Hugo
投稿する
hugo new posts/filename.md
これで記事が一つ作成される。
確認する
そして、
hugo server -D --buildDrafts --watch
このあとにブラウザでhugo でアクセスするとアクセス可能。
別のサーバーで実行している場合は以下の通り
hugo server -D -b domain --bind ip --buildDrafts --watch
hugoは超軽いので、作業マシンに入れておくのが吉かも。
出先で文書を作成して、ファイルを収集して配置することも可能だし、作業性が良い。(無駄に何度もブログサイトに更新かけないでいいので、結果的にデータを送信する頻度が減る)
公開する
hugo serverで公開しても良いのだけど、nginxがあるのだし速度早そうなnginxに任せたいので以下のようなスクリプトを作成
#!/bin/bash
sudo chown -R luna:luna /var/www/html/tluna-work
cd /mnt/Src/tluna-work
git pull
hugo --config=/mnt/Src/tluna-work/config.toml -s /mnt/Src/tluna-work -d /var/www/html/tluna-work/ -b http://work-blog.tluna.ga
sudo chown -R www-data:www-data /var/www/html/tluna-work
nginx側の設定は以下の通り
server {
#listen 443 ssl;
listen 80;
server_name work-blog.tluna.ga;
client_max_body_size 20M;
location / {
root /var/www/html/tluna-work;
autoindex on;
}
}
スクリプトを実行すると、nginxのドキュメントルートに対して必要なファイルが吐き出されるっていう寸法。
で、hugoで書いた記事はgit管理するのがベストソリューションぽいので、それもRaspberry Piに構築したgitサーバーに対してpushしておく。
これで使い慣れたエディタで記事が書けるので、記事を書くためだけにブラウザとエディタを行ったり来たりする必要もない。
変にHTMLをガッツリ意識して記事を書く必要がない、差分管理もできる、簡易なブログサイトの出来上がりというわけ。
ただ、ブログサイトであったほうが良いなっていうものは上記だけでは完備できないので、そのへんはどこかをいじっていけば作れるんだろうな。
- 月ごとの記事まとめ
- タグ
その他で言えば、google analyticsとかを追加したらもうやることはないと思う。
何より、スタイルを切り替えるにしても、ブログサービス(ホスティングされているもの)って、すごい調査しないとできなかったりするので、これくらいスリムな環境が良いなと思って切り替えました。
最後に
HUGOは
- スリムだよ
- DB用意しなくてもいいよ
- あまり便利機能はないよ
- markdownでかけるよ
- 軽いよ