hugo

Mon, Jan 23, 2017

簡単にHugoのブログポストのテンプレを生成するシェルスクリプトを作った

表題の通り。 いつもコマンドを忘れるので。 ちなみにデプロイもシェルスクリプトで書いてる。 hugoの記事作成 hugo new "path/to/article.md" コレだけなのだが、記事ソースが配置されるcontent配下にpostと階層が有る場合、 hugo new "content/post/article.md"とやってしまう。 しかしcontent/content/path/to/article.mdに作られてしまう。 正しくはhugo new "post/article.md"だ。contentを除いておく必要が有る。 「久々にブログ書くか」という時(いつも)こうなる。しんどい。 shellscriptで生成を自動化 ということで自動化しよう。 shellscriptを書く。new_post.shと言う名前にした。 #!/bin/bash echo -e "\033[0;32mCreating new post...\033[0m" if [ $# -eq 1 ]; then title="_$1" else title="" fi formatted_date=$(date "+%Y-%m-%d") full_path="posts/${formatted_date}${title}.md" hugo new "$full_path" vi "content/$full_path" タイトルに日付を付けてエディタを起動するまで自動化した。 ./new_post.sh title で./content/posts/2017-01-23_title.mdが生成されてviで開く。 これでブログ書き出しの障壁が小さくなった。もっと頻度を上げたい。 ちなみにbashのlintとしてshellcheckを入れてる。 さらにVimのWatchdogsに組み込んで使うと、非同期でチェックを行い、警告を出してくれて大変便利。 変な書き方すると怒ってくれて、自分のような半端者にはたいへん助かる。 使ってない人はぜひインストールしよう。