簡単なシェルスクリプトでHUGO記事を一発作成

このブログはHUGOという静的サイトジェネレーターをつかって作っています。

HUGOではコマンドで新たな記事を作りますがその際、

hugo new <ファイルパス>

というコマンドになります。これでもいいですか私の場合にはディレクトリ構成的にファイルパスが長いのでいちいち入力するのがだるい。なので簡単にblogというコマンドでつくれるようにしたいという話。

OSはLinuxで進めています。

シェルスクリプト

シェルスクリプトにあまり慣れていない初心者なのであまり凝ったものは作れないので簡単に。

まずディレクトリ構造としては

blog
┣content
︙ ┣posts
    ︙ ┣2023/
        └2024/
          ┣0601/
           ︙ └index.md

こんな感じです。postsが記事の投稿用のディレクトリで年別に分けています。更にその中に日付のディレクトリがありその中のindex.mdが記事のファイルです。

そのためシェルスクリプトでは日付と年が決まればいい。

ということで以下のシェルスクリプトを作成

#!/bin/bash

cd ~/Documents/blog

year=$1
today=$2

if [ -z "$1" ]; then
        year=$(date '+%Y')
fi

if [ -z "$2" ]; then
        today=$(date '+%m%d')
fi

hugo new ~/Documents/blog/content/posts/$year/$today/index.md

これをblogというファイル名で/usr/local/binに保存。

基本的にはblogで今日の日付を取得してファイルを作るが一応日付を自分で決めて作りたい場合も考えて変数で決められるようになっています。

blog 2024 0601

↑のようにすると0601でつくれます。

これで少しだけ快適に。 楽しいHUGOライフを。