Yuruhuwa Develop

article_script


記事のテンプレートを自動生成させる

hugoでは、Front Matterと呼ばれる機能をサポートしています。
ただ、これを書くのがめんどくさいんですよね。
そこで、記事を書く際に情報を自動的に記入するシェルスクリプトを書きました。

#!/bin/zsh
set -e

cd ~/blog

if [ -z "$1" ]; then
  echo "usage: $0 article_name"
  exit 1
fi

POST="/your/path/content/posts/$1.md"

DATE=$(date "+%Y-%m-%dT%H:%M:%S+09:00")
TAG_Y=$(date "+%Y")
TAG_YM=$(date "+%Y-%m")

if [ -e "$POST" ]; then
  echo "already exists: $POST"
  exit 1
fi

cat <<EOF > "$POST"
+++
date = '$DATE'
title = '$1'
tags = ['$TAG_Y', '$TAG_YM']
draft = true
+++

EOF

echo "made it : $POST"

vim $POST

シェルスクリプトの動きを簡単に紹介します。

  • 記事名を入力する
  • 決められたディレクトリに記事名.mdを作成する。
  • dateコマンドで現在時刻を整形して取得 → Front Matterに埋め込む
  • vimコマンドを実行し、即座に記事が書き始められます。

このようにテンプレートが挿入されて、悩まずに書き始められるようになりました。

Read more ⟶

Helloworld


はじめに

ブログを開設してみました。

hugoを使ってレイアウトや記事をビルドしています。 github pagesを使って静的ホストしています。

Read more ⟶