IssueOverflow で記事を書く時に使ってる Makefile

このブログもある程度記事を書き慣れてきたので現在使っている Makefile を公開してみます。 なぜ make を使うのか Golang ベースのプロジェクトでは make が利用されることが多い, と みんなの Go 言語 に書かれていました。そのため, このブログでは Golang 製の Hugo を使っているため build や新しい記事を追加する場合には make を利用しています。 このところ Ruby をお仕事で多用しているので rake を使うのも手なのですが, 勉強も兼ねて make を採用しています。これまであまり make を使ってこなかったので細かい部分で時々ハマったりしています。 Makefile の内容 make でコマンドを実行するためには Makefile が必要です。IssueOverflow 執筆時には次のコマンドを用意しています。 setup: 必要なコマンド等をインストール server: ローカルサーバを起動 build: 記事をビルド article: 新しい記事ファイルを追加 アセット用ディレクトリを用意 branch を article/something-title に変更 help: Makefile に用意されたコマンド一覧を表示 Makefile 自体は次の内容になります。 ## setup setup: go get -u -v github.com/kardianos/govendor go get -u -v github.com/spf13/hugo cd $(GOPATH)/src/github.com/spf13/hugo && govendor sync && go install go get github.com/Songmu/make2help/cmd/make2help go get -u -v github.com/mattn/go-colorable pip install Pygments git submodule sync git submodule update --init --recursive ## local server server: hugo server --buildDrafts --watch ## build build: hugo -v ## article ex: make article TITLE="title" article: git checkout master hugo new articles/`echo $(TITLE) | tr '[:upper:]' '[:lower:]' | sed -e 's/ /-/g'`.md mkdir -p content/articles/`date +"%Y"`/`date +"%m"`/`date +"%d"`/`echo $(TITLE) | tr '[:upper:]' '[:lower:]' | sed -e 's/ /-/g'` git checkout -b article/`echo $(TITLE) | tr '[:upper:]' '[:lower:]' | sed -e 's/ /-/g'` ## help help: @make2help $(MAKEFILE_LIST) $ make help を実行した場合, 次の内容が表示されます。 ...

2017/01/08 · Yuya MATSUSHIMA