HugoによるBLOGの作成

· Read in about 2 min · (928 words) ·

はじめに

当Blogの作成に関する話を纏めます。

本Blogは基本的な作りだけをいえば、以下のような作りです。

項目 内容
コンテンツ管理 GitHub
コンテンツ配信 netlify
静的ファイル生成 Hugo
テーマ hugo-bootstrap-premium

基本的な段取りはHUGOでブログ作成 → GitHub Pagesで公開する手順を参照しています。

とはいえ、変えているところもあります。テーマとして利用しているのは、Hugo Bootstrap Premiumですが、実際にはこれをフォークしたものを使用しています。理由はGoogle AdSenseなどを組み込むため、テーマを修正する必要があったためです。

また、参考にしたアーティクルはbashベースのdeploy scriptを使っていますが、こちらで使っているのは、ベースを当ブログでデプロイに利用しているスクリプトで公開しているバッチファイルです。

更に言うと、告知のためにRSS → IFTTT → Twitterというルートも用意しています。

使用したツール

名称
Visual Studio Code
cmd
scoop

必要なツールの取得

scoopのインストール

  1. スタートからPowerShellを起動する

  2. PowerShellの設定変更

    Set-ExecutionPolicy RemoteSigned -scope CurrentUser
    
  3. PowerShellからのScoopのインストール

    iex (new-object net.webclient).downloadstring('https://get.scoop.sh')
    

gitのインストール

scoop install git

hugoのインストール

scoop install hugo-extended

環境の構築

本稿では出来た成果物はNetlifyで公開することを前提にしています、参考にしている記事ではgithub pagesを使っていますが、私はコンテンツ配信の柔軟性の確保を目的にNetlifyを使っています。

基本的には、最初にレポジトリを2つ用意します。

1: 全体管理用レポジトリ 2: コンテンツ配信用レポジトリ

コンテンツ配信用レポジトリは最終的に、全体管理用レポジトリにsubmoduleとして組み込みます。

あと、先も述べたようにHugo Bootstrap Premiumはフォークして使います。Google Adsenseを組み込むのには、テンプレートを編集せざるを得ないので、そのまま、submoduleで組み込むと更新をアップストリームに出さざるを得なくなり詰むので。

フォルダ構成としては

archetypes/   content/post/   data   layouts/   public   static   themes/hugo-bootstrap-premium  

という感じです。

hugo-bootstrap-premiumはgithubでforkしてから、それをsubmoduleとして組み込んでいます。