Решил попробовать Tana, т.к. давно была мысль узнать, что такое супертеги и как это можно использовать в Obsidian.
Протыкал весь интерфейс. Посмотрел то, как продвинутые юзеры им пользуются. Поймал себя на мысли, что этот софт никогда не станет популярным, т.к. у него высокий порог входа, а конечный профит не лучше, чем у Notion. Но это лирика.
Далее я попробовал реализовать логику супертегов в Obsidian.
У Tana основной единицей является блок:
- блок
- ещё блок
Супертег определяет свойства блока:
- блок #Task
Task status: Backlog
Due date: 2026-01-01
В Obsidian основной единицей является md-заметка. Пример выше конвертируется в такой вид:
Когда мы присвоим нужный “супертег” к заметке, то можно будет через плагин Metadata Menu добавить соответствующие свойства командой Add missing fields at selection....
В Tana, конечно, количество кликов оптимизировано. Но в любом случае суть та же.
А теперь то, что Tana не сможет сделать – динамически изменяющееся отображение в заметке. Тут я просто покажу идею.
Делаем вот такой дефолтный шаблон:
~~~dataviewjsconst type = dv.current().tags[0]await dv.view(`views/${type}`)~~~
И внутри под каждый тип делаем своё отображение. Например, для Task можно вывести, сколько дней осталось до окончания в зависимости от указанного Due date в метаданных:
Code
const due = dv.current()["Due date"];if (due) { const now = dv.date("now"); const diff = due.diff(now, ["days"]); const days = Math.ceil(diff.days); dv.span(days >= 0 ? `Days left: ${days} days` : `Overdue by: ${Math.abs(days)} days` );} else { dv.span("No due date found.");}
Пример вывода: Days left: 9 days
Соответственно, для разных типов заметок будут свои запросы. При этом, когда тип (супертег) у заметки будет меняться, то запрос будет также изменяться.
Такой, в общем, прототип. Я так и не определил целесообразность использования такого подхода, но, может, у вас появятся идеи.