backport

技術ネタと野球とときどき雑談

hugoの新規記事作成をちょっと便利にするbatファイル

2016-03-21
development hugo

hugoには新規記事作成のためのnewコマンドが用意されてます。

$ hugo new post/article01.md

が、自分はYYYY/MMでディレクトリを分けているんですよね。

content
 └─post
     └─2016
         ├─01
         │  ├─01_article01.md
         │  └─02_article02.md
         ├─02
         │  ├─01_article01.md
         │  └─02_article02.md

執筆環境はWindowsなのでエクスプローラーか何かで直接ファイルを作ってもいいんですが、LiveReloadのためにコマンドプロンプト使うのでどうせならCUIに寄せたいところ。 そうすると今度は日付を気にしたりディレクトリを毎回タイプしたりするのが面倒です。ということで簡単なbatファイルを作ってみました。

@echo off

rem 引数チェック
if "%1" == "" goto ERROR

rem 実行日を取得
set yyyy=%date:~0,4%
set mm=%date:~5,2%
set dd=%date:~8,2%

rem batファイルをサブディレクトリに配置しているので
rem hugoコマンドを実行すべきディレクトリに移動
cd ..

set hugo_path="\post\%yyyy%\%mm%\%dd%_%1.md"
set file_path="content%hugo_path%"

rem 記事が既に存在する場合は作成をスキップ
if exist %file_path% goto :OPEN

rem 記事の雛形を作成
hugo new %hugo_path%

rem 記事の雛形を開く(関連付けされているエディタが自動的に起動する)
:OPEN
start "" "%file_path%"

goto :EOF

:ERROR
echo ファイル名を指定してください。

goto :EOF

contentディレクトリと横並びの場所にcommandディレクトリを作り、その中にpost.batという名前で保存しておきます。

これで

D:\backport\command> post article01

とすると実行日を元に post/2016/03/21_article01.md みたいなファイルが作られてエディタで開いてくれる、という寸法。

これでストレスなく記事を書ける、かな?



コメント欄を表示する