以前書いたように、この日記はMarkdown形式のテキストファイルをBitBucketのレポジトリにPUSHすると、CIサービスであるWerckerがWebhookされ、Hugoによってhtmlファイルを生成して、そのhtmlファイルをGitHub PagesにPUSHしている。
その、日記用Markdownファイルを生成するスクリプトはAutomatorで書いた。これから、そのMarkdownファイル(拡張子は.md)を右クリックして「サービス」メニューからgitコミットするスクリプトのテストを行う。
まずファイルをaddして、それからcommit。gitコマンド的には、いちどaddされているファイルをもう一回addしても問題ないようなので、何度でも実行可能。
cd {日記gitのルートディレクトリ}
currentDate=`date +%FT%T%z | sed -e 's/\(.\{22\}\)/\1:/'`
for f in "$@"
do
ext=`echo ${f##*.} | sed "y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/"`
if [ $ext = "md" -a ! -d $f ]; then
sed -i '' -e 's/^date: "[^"]*"$/date: "'$currentDate'"/g' $f
/usr/bin/git add $f
fi
done
/usr/bin/git commit -m '[add|mod] dayly post'
日記の中の日付(日記の更新日)はcommitした瞬間の日付に上書きしている。日付フォーマットがdate
コマンドのままだとおかしくなる(タイムゾーン「+0900」ではダメで、「+09:00」だとOK)ので強引に変更している、など。強引でよろしくない感じのスクリプトだが、まあとりあえず動く。