結城タスク
結城タスク / YukiTask - A Simple Task Manager for Command Line Lovers.
基本的な作業の流れ
YukiTaskでの基本的な作業の流れは、e→mkの繰り返しで成果物を作り、upで成果物を公開/アップロードし、bkでバックアップするというもの。
作業自体の管理として、mでmakefileの編集をし、fでアップロードの設定ファイルを編集します。
補助的な作業として、showやmake viewで成果物や参考資料を表示したり、helpでターゲット一覧をみたりします。
移動するとTODOが自動的に表示される機能が秀逸。
ページにcode:todo.txt みたいなブロックがあったら、それをアラート表示?
まあ、ページ内にいろんな要素を混ぜ込めるから、わざわざアラートしなくてもtodoであることが分かればいいかもしれない。
make help
helpは、そのプロジェクトでのYukiTaskのターゲット一覧を表示するターゲットです。
久しぶりにそのプロジェクトを訪れたとき、ここでできることを忘れていたりします。そんなときにmake helpを実行すると何ができるかのターゲット一覧を表示してくれます。
make fig
figは、そのプロジェクトで作成している画像一覧を表示するターゲットです。
本を書いているときの図版一覧などを表示します。
fig-thumbnail
fig-thumbnail 指定したディレクトリ中の画像ファイルをサムネ付きで一覧表示するコマンド。
make g
g は、本を書くプロジェクトで使っているOmniGraffleを起動するターゲットです。
make show
showは、標準的に使っているターゲットで「最新成果物を表示する」ものです。
make ev
evは、現在の進捗状況を評価・表示するためのターゲットです。
make link
link は結城が使っているURL Shortenerの更新をうながすターゲットです。
たとえばWeb連載を書いているときにmake linkを実行すると、URL Shortenerの設定ファイルをエディタでオープンし、編集すべき当該箇所を検索してくれます。さらに、保存して終了すると設定ファイルをgit commit && git pushすることでURL Shortenerの内容を実際に更新します。
mainとcurrent
currentは現在書いている章のファイル(たとえばchapter2.tex)
mainは各章をincludeしているメインのファイル(たとえばmybook.tex)
make tweet
tweetは「そのプロジェクトに関するツイートをする」ためのターゲットです。
典型的な処理は「ツイートのテンプレートをエディタで起動する」や、もっと積極的に「ツイートのテンプレートをpbcopyコマンドでクリップボードに入れる」などです。
たとえば、ニュースレターを発行した後、その告知ツイートを行うときに使います。
make delete-sharing
delete-sharingは「共有の期限切れになったファイルを削除する」というターゲットです。
ターゲットのネーミングに関する知見
通常はYukiTaskのターゲットは「よく使うもの」を設定します。よく使うので短いターゲット名にすることが多いでしょう。
でもターゲットの中には「頻度は低いけれど、重要で、繰り返し実行される」というものもあります。そのときには意識的に長めの名前、複合的な名前を付けるのがよいでしょう。誤って実行されることを防いだり、それを実行したら何が起こるかわかりやすくなるからです。
soコマンドと_aliasファイル
soコマンドでsource _aliasを実行します。
Rコマンド
RコマンドはREADME.mdを編集するコマンドです。
make new
newは新しい何かを作るためのターゲットです。
たとえばブログ記事で新しい投稿を作るときなどに利用します。
make lint
lintは成果物をチェックするためのターゲットです。
たとえば文法事項のチェック、いわゆるlintツールの起動、あるいは音声合成による読み上げなどに利用します。
make url
urlは関連URLを表示するためのターゲットです。
たとえば成果物が公開されるWebサイトのURLなどです。
id = 現在の編集対象物を示すID
idは「現在の編集対象物を示すID」を表す変数です。
code:.sh
id = 368# 2022-09-09
id = 369# 2022-09-16
# latest_id
# id = 370# 2022-09-23
current = ../doc/$(id).tex
つまり、連載の回をidで指定しておき、コメントにそれを公開するはずの日付を書いておき、最前線を表すためにmakefile中にlatest_idというコメントを書いておくということです。
さらに、編集ファイル名currentは変数idを用いて構成しています。
ref.