#!/bin/bash
pushd ${HOME}/blog > /dev/null 2>&1
file=${HOME}/blog/content/posts/${1}.md
if [ ! -e ${file} ]; then
hugo new posts/${1}.md && popd > /dev/null 2>&1
else
popd > /dev/null 2>&1
fi
exit 0
hugoはブログを作成するためのサイトジェネレーターだ。hugo new
コマンドで新しい記事を作成できるが、カレントディレクトリのサイト内の相対パス)(./contents/
)に以下にエントリー(記事)のファイルを作成するため、その都度posts/
など記事のディレクトリ場所を指定しなければならない。また、毎回、ブログのディクトリに移動してから記事を作成する必要がある。そこで、pushd
でブログのディクトリに一時的に移動してから、引数の名前に記事のディクトリを先頭に付けてファイルを作成し、popd
で元いた場所に戻るスクリプトを作った。${HOME}/bin
などパスの通っているディレクトリに置いておくと、どこからでもブログの記事を新規に作成することができる。ブログのサイト場所は、${HOME}/blog
にある想定なので、適宜変更して任意の環境で利用できる。