見出し画像

Roam Research、タスク完了時の時刻と日付を自動付与

こんにちは、Choimirai School のサンミンです。

0  はじめに

Roam Research(以下、Roam)にJavaScriptを実装する機能({{[[roam/js]]}})が追加されてから様々な拡張機能が登場しています。

今回紹介するのも roam/js で実装するタスク管理に役立つ拡張機能です。

1  インストールする理由

Roamを使ってタスク管理をされている方も多い。今は、{{[[TODO]]}} をつけてTODOリストが作れるのは便利ですが、完了時にタスクが終わったこと以外、他の情報を確認することはできません。もちろん、Daily Note でタスクを管理すれば日付情報は確認できますが、Daily Noteとは別のページでタスクを管理するのがより自然な場面も多いです。

Davidさんの拡張機能を使いますと前もってテキストを用意し、タスクの完了時にその付加情報を追加したり、TODOリストにタグがあれば、そのタグを別のタグに切り替える事も出来ます。

例えば、読みたい記事に対し、#toRead のタグを付けた場合、読んだ後は、#Read に自動変換する事も可能です。

2  インストールする方法

インストールは roam/js での実装だけでなく、属性情報(attribute)の登録も必要です。

■ roam/js の実装

他の roam/js 拡張機能と同様、3つのステップでJavaScriptを実装します。

①任意のページ内に {{[[roam/js]]}} ブロックを作成
②コードを入力。コードの種別をjavascriptに設定
③Yes, I know what I'm doing ボタンでコードを有効にする

画像1

/// コード ///

var old = document.getElementById("todo-trigger");
if (old) {
 old.remove();
}

var s = document.createElement("script");
s.src = "https://roamjs.com/todo-trigger.js";
s.id = "todo-trigger";
s.async = false;
s.type = "text/javascript";
document.getElementsByTagName("head")[0].appendChild(s);

■ 属性情報(attribute)の登録

TODO Trigger の属性情報(attribute)は決まった手順に従う必要があります。

①「roam/js/todo-trigger」ページを作成
②属性情報を追加

画像2

属性情報はRoamのattributeとして登録する必要があります。Roamではテキストの後ろに、「::」を付けますとattributeになります。

Append Text::completed on /Current Time /Today

TODO Triggerで使えるattributeは、3つあります。

・Append Text::
・Replace Tags::
・Strikethrough::

■Append Text

前もって登録したテキストをタスク完了時に追加することができます。

Append Text::completed on /Current Time /Today

上記の属性情報を登録しますと「□ test」を完了すると次のように変わります。

画像3

▲「□ test」完了前

画像4

▲「□ test」完了後

他の attribute についてはDavidさんのページを参考にしてください。

画像5

3  まとめ

roam/js はRoamの機能を無限に拡張してくれます。Davidさんのサイトには他にも面白い拡張機能が沢山ありますので要チェックです。

また、複数のroam/jsをパッケージとしてある「Roam 42」も非常に便利ですのでRoamの使い方に慣れている方にはオススメです。


この記事が気に入ったらサポートをしてみませんか?