Jekyllは_postにmarkdownを置いていくことになるが、ファイルのネーミングルールが決まっていてYYYY-MM-DD-{お好みで}.mdとしないといけない。

そして、この日付にならないとbuildのときに記事が生成されないんだけど、デフォルトだと時差が考慮されていない。

日本の場合は標準時から9時間進んでいるので、そうするとどうなるかというと記事をbuildしたくてもbuildしてくれない、ということがある。

できれば記事を書いたらすぐにbuildしてほしいんだけど、その場合の調整内容は二点。

  • タイムゾーンをAsia/Tokyoにする
  • 日付に時差まで書いておく

タイムゾーンをAsia/Tokyoにする

タイムゾーンは以下のように_config.ymlに設定すると調整できるらしい。

これで書いた記事はすぐにbuildしてくれるようになる。

timezone: Asia/Tokyo

日付に時差まで書いておく

mdファイル内の頭にdateの項目がありますが、そちらに+09:00と加えておくことで時差を認識してくれる。

date:  2022-11-26 00:00:00 +09:00

markdownの雛形を生成するスクリプト

毎回、mdファイルを作るのが面倒なのでshellスクリプトを作った。

mdファイルのタイトルの文字列を指定して実行すれば日付付きで雛形を生成してくれる。

#!/bin/sh

TITLE=$1
TODAY=`date +%Y-%m-%d`
FILE_NAME="_posts/$TODAY-$TITLE.md"

if [ -e $FILE_NAME ]; then
  echo "file $FILE_NAME is already exists."
  exit
fi

echo $FILE_NAME
cat <<TEMPLATE > $FILE_NAME
---
layout: post
title: ""
date:  $TODAY 00:00:00 +09:00
image: /assets/images/ogp_image.png
tags:


# この記事の環境情報

---
TEMPLATE

使用例はこんな感じ。上記をcreate_post.shという名前にした場合。

# Jekyllプロジェクトのルート直下で実行
$ bash create_post.sh youre_title

同じファイル名ですでに作られている場合は、上書きされちゃうと悲しいのでifでファイル有無を確認している。

この記事の環境情報

  • Jekyll 4.3.1
  • Jekyllは大体打ち間違う