Markwhenよさそう
概要
Markwhenはmarkdownっぽいテキストでスケジュールを書いて、カレンダーやタイムラインの形式で見ることができるツールです。
こういったツールの類に漏れずオンラインエディタがありますし、VSCodeの拡張もあります。
私は基本的にはVSCodeで使っていこうと思っています。
基本的な記法
Markwhenのテキストはヘッダーとイベントのリストで構成されます。
イベントは日付の範囲、コロン、イベントの説明から構成されます。
こんな感じ。
title: 何かの開発
2024-01-01/2024-01-14: 要件の整理 #requirements_definition
2024-01-15/2024-02-04: 設計 #design
2024-02-05/2024-02-25: 実装 #implement
2024-02-26/2024-03-17: テスト #test
2024-03-18/2024-03-31: デプロイ #deployment
2024-04-01: リリース #release
タイムライン形式や
カレンダー形式で表示できます。
日付の範囲
日付の範囲はいくつもの形式がサポートされていますが、私はISO 8601形式とdays
キーワードが好きです。
days
キーワードは期間を表現できます。例えば10 days
と書けば10日間を表します。
今を表すnow
キーワードも使えます。
また、イベントにIDを設定してそのIDを参照することで相対的なスケジュールを設定できます。
イベントIDは!
に名前を続ける形式です。
2024-12-12/5 days: イベント1 #foo !event1
after !event1/2 days: イベント2 #bar
after !event1/7 days: イベント3 #baz
というか、これ書きながら気付いたけれどafter
キーワードだけ書けば直前のイベントに続いてくれますね。
2024-12-12/5 days: イベント1 #foo
after/2 days: イベント2 #bar
after/5 days: イベント3 #baz
繰り返し予定
繰り返し予定も書けるみたいです。
every 1 week: 1週間ごとに繰り返す #foo
2025-06-01/3 days every 1 month x10: 1ヶ月ごとに3日間を10回繰り返す #bar
タスクリスト
イベントの説明を書く箇所に- [ ] タスク
の形式でタスクリストを書けます。
タイムラインで進捗状況が可視化されます。
2024-12-02/3 days: イベント1 #foo
- [x] タスク1
- [x] タスク2
- [ ] タスク3
2024-12-02/3 days: イベント2 #bar
- [x] タスク4
- [x] タスク5
タグ
しれっと書いていますが、イベントにはタグを付けられます。
タグを付けると自動で色が割り当てられます。タグのないイベントは色が付きません。
2 days: イベント1 #foo
2 days: イベント2 #bar
2 days: イベント3 #baz
2 days: イベント4 #qux
2 days: イベント5
2 days: イベント6
2 days: イベント7
2 days: イベント8
あと、オンラインエディタだとタグでフィルタリングできます。
VSCodeでは現時点でフィルタリングできないようです(実装してほしい)。
セクションとグループ
イベントをグループ化できます。グループはネストもできます。
グループ化するためのキーワードにはgroup
とsection
があります。
これらの違いは可視化した際のスタイルです。
section セクション1
group グループ1
2 days: イベント1 #foo
2 days: イベント2 #bar
endGroup
group グループ2
2 days: イベント3 #baz
2 days: イベント4 #qux
endGroup
endSection
section セクション2
group グループ3
2 days: イベント5
2 days: イベント6
group グループ4
2 days: イベント7
2 days: イベント8
endGroup
endGroup
endSection
グループやセクションは折り畳めます。
グループ2とセクション2を畳んだ状態がこちら。
終わりに
とりあえず備忘的に自分が使いそうな機能に絞って書きました。
テキストでタスク管理をしつつ、スケジュールを可視化できるのが嬉しいのでしばらく使ってみようと思います。
Discussion