🎍
Zenn の新居に置きたい Makefile
Zenn いいですね.GitHub リポジトリでコンテンツ管理できるのは素晴しいです.
ということで,おじさんが新居にまず置くのは,Makefile 盆栽です.とあえずこんな感じ.
$ make preview # ブラウザでプレビュー
$ make new # article の雛型を作る
$ make edit # 最近編集した article を EDITOR で開く
$ make publish # GitHub に push
$ make init-ignore # .gitignore を作る
$ make init-zenn # zenn CLI を install
$ make update-zenn # zenn CLI を update
make new
でインタラクティブにタイトルを聞いて,日付をプレフィクスにして slug を作ってくれるようにしてみました.
Makefile を作るメリットは,細々とスクリプトを書くのに比べて 1つのファイルで完結することと,ターゲットをシェルが補完してくれるので make TAB
でワークフローを思い出せることです.
################################################################
## Makefile for zenn articles -- Yoshinari Nomura
# Command Guide:
# https://zenn.dev/zenn/articles/zenn-cli-guide
preview:
npx zenn preview
new:
@DATE=$$(date +'%Y-%m-%d'); \
printf "Title: %s-" $$DATE; \
read TITLE; \
npx zenn new:article \
--slug $$(echo "$$DATE-$$TITLE" | tr 'A-Z ' 'a-z-') \
--title "$$TITLE"
edit:
@FILE=$$(ls -1t articles/* | head -1); \
${EDITOR} $$FILE
publish:
git push origin master
init-ignore:
@echo -n "Initializing .gitignore..."
@IGNORE=https://raw.githubusercontent.com/github/gitignore/master/Node.gitignore; \
( \
echo "#" ; \
echo "# Added from $$IGNORE" ; \
echo "#" ; \
echo "" ; \
curl -s -L $$IGNORE ; \
echo "" ; \
echo "################" ; \
echo "# User Settings" ; \
echo "" ; \
echo ".DS_Store" ; \
echo "*~" ; \
) > .gitignore
@echo "Done."
init-zenn:
npm init --yes
npm install zenn-cli
npx zenn init
update-zenn:
npm install zenn-cli@latest
何か思い付いたら足して行こうと思います.
Discussion