Иногда сложно справиться с большим потоком задач и информации, особенно если это касается работы. Поэтому создание персональной базы знаний для своих текущих дел становится весьма актуальным. Но простая фиксация данных не всегда эффективна: легко потеряться в куче заметок. Различные методики помогают правильно организовать процесс. Вместе с тем информация не существует сама по себе, она, как правило, неразрывно связана со всеми нашими проектами, задачами и другими событиями. Если это учитывать, то проще оперировать данными, находить нужные факты. Через задачу легко выйти на связанную с ней информацию или, наоборот, через данные можно найти проект или задачу, в рамках которых они появились. Однако на практике все это будет эффективно работать, если получится создать единую среду для ведения дел и хранения всех связанных с ними данных.
Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian.md совместно с методологией Getting Things Done (GTD) Дэвида Аллена.
Все по-разному пытаются управлять своими делами. Чаще всего применяется простой подход: задачи ведутся в to-do-приложении или удерживаются в голове, а связанная с ними информация раскидывается весьма хаотично. Документы хранятся на диске или в облаке, обсуждения — в email или мессенджерах, заметки — на бумаге или в специализированных приложениях, ссылки на ресурсы — в браузере.
Возможны различные комбинации, но очевидно, что такой подход не слишком эффективен. Для ведения дел и хранения связанных данных удобно использовать один инструмент, например Obsidian. Это не обычный заметочник, как OneNote или Evernote, — он относится к Roam-подобным приложениям (Roam Research с начала 2020 года задал новый стандарт в классе). Основные отличительные возможности и полезные фишки такого типа приложений:
-
Обратные ссылки (Backlinks).
-
Визуализация связей между заметками (в виде графа).
-
Markdown-разметка.
-
Шаблоны заметок.
-
Ежедневные заметки.
-
Расширяемость через плагины.
Благодаря системе прямых и обратных ссылок, а также их визуализации стала возможна сетевая организация заметок вместо иерархической. Эта организация играет ключевую роль в описанном далее решении.
К Roam-подобным приложениям также относятся Logseq, Notion, RemNote, Foam, TiddlyWiki и другие — смотрите подробнее:
•What are the best knowledge base systems for personal use?
•My 2d Brain Networked Notebook App
Основные достоинства приложения Obsidian:
-
Полностью бесплатное для персонального использования.
-
Возможна работа в офлайне, данные хранятся локально на диске в текстовом формате.
-
Удобный пользовательский интерфейс.
-
Много плагинов.
-
Большое сообщество.
-
Работает на платформах Mac, Windows, Linux, iOS/Android.
В качестве методики управления делами будем использовать проверенную временем и до сих пор популярную систему Getting Things Done (GTD) Дэвида Аллена. Для более детального знакомства с GTD рекомендую статьи на Habr:
Общая концепция
Для начала рассмотрим общий вид будущего решения. Идея остается прежней — в рамках одного приложения реализовать ведение дел и хранение связанной с ними информации. В качестве управляющей системы использовать GTD.
В Obsidian определяем пять основных типов заметок:
-
Inbox — заметка для фиксации идей, мыслей, планов и т. п.
-
Task — задача. Единичное действие.
-
Project — проект. Активность, требующая планирования. Состоит из одного и более действий.
-
Meeting — встреча, собрание, то, что требует напоминания.
-
Reference — справочные материалы.

Согласно GTD, заметки Inbox являются источником для создания всех других типов заметок. Справочные материалы (Reference) рождаются в процессе работы и связываются с конкретными задачами, проектами или другими элементами.
Никакой иерархии не существует, все заметки находятся на одном уровне и связываются между собой через линки.

Заметки в Obsidian будут создаваться не напрямую, а через шаблоны. Для каждого типа заметки свой шаблон. В нем определяется структура заметки, тег типа и при необходимости дополнительные элементы.
Тегами типов заметок будут inbox, project, task и т. д. Для некоторых типов, например для task или reference, добавляются подтипы (через вложенные теги).

Для task вложенные теги определяют вид действия:
— task/now — выполнить сейчас;
— task/next — потом/отложить;
— task/waiting — поручено/контроль;
— task/someday — когда-нибудь/может быть.
Также в Obsidian потребуется установить и настроить три комьюнити-плагина: obsidian-dataview, obsidian-checklist-plugin и obsidian-reminder. Необходимы для визуализации в интерфейсе приложения:
-
панель с активными проектами;
-
панель с активными задачами, сгруппированными по виду действия;
-
панель с событиями, требующими напоминания о времени.
По итогам всех настроек алгоритм работы в Obsidian будет выглядеть следующим образом:
-
Создать новую заметку.
-
Применить к заметке шаблон выбранного типа.
-
Заполнить заметку, установить связи с другими заметками.
-
Просматривать и управлять задачами/проектами на боковых панелях (плагины).
-
Получать напоминания о предстоящих событиях.
Настройка конфигурации Obsidian
Для тех, у кого нет времени или желания настраивать вручную, я подготовил хранилище Vault Obsidian и выложил на GitHab obsidian_gtd_vault. Vault настроен и заполнен первичными данными. Можно подключить хранилище, все примеры в статье приводятся на его основе.
Заходим в настройки Obsidian:
-
Проверяем, что в разделе «Встроенные плагины» (Core plugins) подключены:
-
Панель тегов (Tags).
-
Шаблоны (Templates).
-
Избранное (Bookmarks).
-
-
В Сторонних плагинах (Community plugins) находим и устанавливаем плагины:
-
Dataview (obsidian-dataview).
-
Checklist (obsidian-checklist-plugin).
-
Reminder (obsidian-reminder).
-
-
В настройках плагина «Шаблоны» указываем путь к папке с шаблонами, например Templates.
-
В настройках плагина Checklist:
-
В Tag Name устанавливаем два значения — task и project (каждое значение в отдельной строке).
-
В Group By выбираем Tag.
-
В Group Sort выбираем “A -> Z”.
-
В Include Files указываем
!Templates/**.
-
-
В пункте настроек «Файлы и ссылки» (File & Links):
-
В списке «Место для вложенных файлов по умолчанию» (Default location for new attachments) выбираем значение «В папке, указанной ниже» (In subfolder under current folder).
-
В текстовом поле «Путь к папке для вложенных файлов» (Subfolder name) указываем Attachments.
-
-
Завершаем настройки и возвращаемся в главное окно программы:
-
На панели файлового менеджера (Files) создаем две корневые папки — Templates и Attachments (названия папок должны совпадать с заданными в настройках в п. 3 и 5).
-
Компонуем боковые панели интерфейса по собственному вкусу. Ненужные удаляем.
-
В итоге должно получиться примерно так:

Настройка шаблонов Obsidian
Создадим пять шаблонов для каждого из типа заметок. Напомню, это:
-
Inbox — заметка для фиксации идей, мыслей, планов и т. п.
-
Task — задача, подразумевает единичное действие.
-
Project — проект, состоит из одного и более действий.
-
Meeting — встреча, собрание, то, что требует напоминания.
-
Reference — справочные материалы.
Шаблоны — это обычные заметки, размещаются в директории Templates файлового менеджера.
В шаблонах будет, в частности, использоваться функциональность плагина Dataview. Плагин позволяет формировать представления на основе запросов к заметкам Obsidian. Общий формат запросов такой:
```dataview <QUERY-TYPE> <fields> FROM <source> <DATA-COMMAND> <expression> <DATA-COMMAND> <expression> ... ```
Сделаем так, чтобы в каждой нашей заметке мы сразу видели все ее обратные (backlinks) и исходящие (outgoing) ссылки. Для этого в шапку всех шаблонов добавляем следующий dataview-запрос:
```dataview TABLE without id file.outlinks AS "OUTGOING", file.inlinks AS "BACKLINKS" WHERE file.name = this.file.name ```
Очень удобно видеть всю информацию о ссылках непосредственно в документе. Также это сэкономит место в интерфейсе, так как панели для входящих/исходящих ссылок можно будет убрать.
Если кому-то важно видеть в заметке дату ее создания и последней модификации, то можно добавить еще такой запрос:
```dataview TABLE without id dateformat(this.file.ctime, "dd.MM.yyyy HH:mm") as created, dateformat(this.file.mtime, "dd.MM.yyyy HH:mm") as "last modified" WHERE file.name = this.file.name ```
Далее определим шаблоны для каждого типа заметки, названия шаблонов будут совпадать с типами. Все шаблоны обязательно должны находиться в созданной нами директории Templates.
Шаблон Task
```dataview TABLE without id file.outlinks AS "OUTGOING", file.inlinks AS "BACKLINKS" WHERE file.name = this.file.name ``` #task/now %% now | next | waiting | someday %% - [ ] {{title}} # Links # Description
В тексте шаблона могут присутствовать комментарии (не отображаются в режиме просмотра документа). Комментарий начинается и заканчивается двойным символом процента: %%. В примере присутствует комментарий с перечислением всех возможных подтипов задачи.
Шаблон содержит:
-
Тег, обозначающий вид действия (по умолчанию всегда task/now — выполнить сейчас).
-
Чекбокс
- []для фиксации статуса заявки: активная/завершена. -
Переменная {{title}}. В момент применения шаблона подменяется на заголовок заметки.
-
Два раздела — Links (для размещения ссылок на внешние или внутренние ресурсы) и Descriptions (описание, текст заметки).
Здесь и далее шаблоны имеют упрощенный вид, и их можно и нужно подстраивать под себя. Однако чекбоксы и теги должны оставаться в исходном виде.
Шаблон Project
```dataview TABLE without id file.outlinks AS "OUTGOING", file.inlinks AS "BACKLINKS" WHERE file.name = this.file.name ``` #project - [ ] {{title}} # Todo List > [!todo] Active > ```dataview > TASK > FROM [[]] > WHERE !completed > SORT file.ctime desc > ``` > [!todo] Completed > ```dataview > TASK > FROM [[]] > WHERE completed > SORT file.ctime desc > LIMIT 30 > ``` # Links # Description
Шаблон проекта аналогичен предыдущему, обозначается тегом project. Дополнительно в нем присутствует раздел Todo List, в котором через Dataview отображается список активных (Active) и завершенных (Completed) задач, ссылающихся на проект.
Шаблон Meeting
```dataview TABLE without id file.outlinks AS "OUTGOING", file.inlinks AS "BACKLINKS" WHERE file.name = this.file.name ``` #meeting - [ ] {{title}} (@{{date}} {{time}}) # Links # Attendees # Agenda %% Write down the nain topic to discuss %% # Notes %% Cover any key information disscused in the meeting %%
Шаблон для встреч, собраний обозначается тегом meeting. В конце строки с чекбоксом присутствует набор значений (@{{date}} {{time}}):
-
{{date}} {{time}})— переменные, автоматически подменяются текущей датой и временем в формате YYYY-MM-DD HH:MM. -
(@...)— относится к функциональности плагина Reminder. Более подробно смотрите документацию. Внутри скобок указывается точная дата и время события, которое отображается на панели Reminders, и в назначенный час в интерфейсе Obsidian сработает напоминание.
Шаблон Inbox и Reference
Последние два шаблона самые простые. Содержат только соответствующий тег inbox или reference и какие-то дополнительные разделы. Настраиваются по собственному усмотрению.
#inbox # Description
```dataview TABLE without id file.outlinks AS "OUTGOING", file.inlinks AS "BACKLINKS" WHERE file.name = this.file.name ``` #reference # Links # Description
Как это все работает
А теперь разберемся, как будет выглядеть работа в Obsidian после всех настроек. Логика работы так или иначе должна соответствовать базовым принципам Get Things Done.

Inbox
Создаем заметку и применяем к ней шаблон Inbox, когда нужно зафиксировать какие-то мысли, идеи, дела, планы.
Рекомендую в настройках Obsidian перейти в раздел «Сочетание клавиш» (Hotkeys) и в пункте «Шаблоны: вставить шаблон» (Templates: Insert template) задать клавиши для быстрой вставки шаблона.
Данный шаг можно пропустить (сразу перейти к созданию Task, Project или др.), если есть полное понимание, что делать с данными, и есть время для их обработки прямо сейчас.

Периодически обрабатываем накопленные в Inbox заметки. На их основе создаем новые заметки Task (задача), Project (проект), Reference (справочные материалы), Meeting (встреча). Неактуальные inbox-заметки удаляем.
Для контроля inbox-заметок можно создать пустую заметку Inbox Notes (добавить в «Избранное») и разместить в ней dataview-запрос, который отображает все существующие inbox-заметки:
```dataview LIST FROM #inbox and -"Templates" ```
Task
Для каждой задачи создаем заметку и применяем к ней шаблон Task. В зависимости от того, нужно ли приступить к выполнению сразу, потом или делегировать, меняем тег на task/now, task/next или task/wait соответственно. Если не требуется немедленных действий, но, может быть, когда-нибудь мы еще вернемся к этой работе, исправляем тег на task/someday.

Project
Если предполагаются комплексные работы с необходимостью планирования, создаем заметку из шаблона Project.

В рамках планирования для каждого шага проекта создаем отдельные задачи (шаблон Task). Для связи задач с проектом во всех задачах в разделе Links указываем markdown-ссылку на проект [[имя проекта]].

Если одну из задач отметить выполненной и вернуться на страницу проекта, то в разделах Active и Completed (Dataview) отобразятся все активные и завершенные задачи, связанные с проектом. В Backlinks увидим список заметок, ссылающихся на проект. В интерфейсе на боковой панели плагина Checklist (Todo List) отобразятся активные проекты и задачи, сгруппированные по виду действия.

Meeting
Если планируется встреча или собрание, создаем заметку из шаблона Meeting.
К сожалению, встроенной в Obsidian функциональности напоминаний не существует. Реализуется через комьюнити-плагины, например Reminder. В панели компонента отображается список запланированных событий, а в установленное время в интерфейсе появляется окно с напоминанием.
Дата и время события прописывается в заметке в строке с чекбоксом в формате (
@YYYY-MM-DD HH:mm). Формат меняется в настройках плагина.

Reference
Если данные являются справочной информацией, фиксируем их в заметке (шаблон Reference).

Для большей гибкости и удобства в Reference лучше всего добавить подтипы. Тогда для каждого подтипа потребуется сделать отдельный шаблон. Например, шаблон Ref-Person — для фиксации информации по людям (тег reference/person), Ref-Instruction — для инструкций (reference/instruction), Ref-document — для документов (reference/document) и т. д.
Рассмотрим пример с Ref-Person (reference/person). Через шаблон создаются заметки, каждая из которых соотносится с конкретным человеком. Тогда появляется возможность линковать задачи, проекты, встречи с конкретными исполнителями, участниками. Это удобно: так, в заметке «человека» в обратных ссылках (Backlinks) будет присутствовать вся информация о делах, в которых он был когда-либо задействован.
В качестве префикса в заголовке заметки Person лучше всего подставлять символ @ — это позволит быстро находить людей в списке.

Dзаметке персоны можно фиксировать любую дополнительную информацию о человеке в тексте или во frontmatter (также см. Metadata). Данные из всех frontmatter визуализируются через Dataview, например, так:
```dataview TABLE phone, department, position_ FROM #reference/person and -"Templates" SORT file.name ```

Best practice
Горячие клавиши
Рекомендую изучить и подстроить под себя сочетания клавиш (Hotkeys) для работы в интерфейсе. Это значительно повысит удобство и скорость работы. Базовые сочетания, которые могут пригодиться (Windows):
-
Ctrl + ,— открыть настройки. -
Ctrl + N— создать новую заметку. -
Вставка шаблона в заметку — задать в настройках, придумать сочетание.
-
Ctrl + Alt + <-— вернуться. -
Ctrl + E— переключиться между режимами редактирования и просмотра. -
Ctrl + O— меню быстрого перехода, поиск по заголовкам заметок. -
Ctrl + Shift + F— глобальный текстовый поиск по содержимому заметок.
Избранное
В системе можно создавать заметки, не связанные с задачами, проектами или встречами. Чтобы они не потерялись, их следует заносить в избранное. Своего рода аналог закрепленных сообщений. Отображаются на панели Boolmarks. Например, это могут быть заметки, содержащие:
-
данные о важных ресурсах, веб-ссылки;
-
справочную информацию;
-
дашборды с динамическими отчетами, формируемыми через плагин Dataview.
Как пример дашборда, можно создать заметку с Dataview, полностью воспроизвести функциональность плагина Checklist (панель Todo List).
Todo List dataview
> [!note] Meetings > ```dataview > task > from #meeting and -"Templates" > where !completed > sort file.ctime desc > [!important] Projects > ```dataview > task > from #project and -"Templates" > where !completed > sort file.ctime desc > [!todo] Tasks >> [!todo] Now >> ```dataview >> task >> from #task/now and -"Templates" >> where !completed >> sort file.ctime desc >> ``` > >> [!todo] Next >> ```dataview >> task >> from #task/next and -"Templates" >> where !completed >> sort file.ctime desc >> ``` > >> [!todo] Waiting >> ```dataview >> task >> from #task/waiting and -"Templates" >> where !completed >> sort file.ctime desc >> ``` > >> [!todo] Someday >> ```dataview >> task >> from #task/someday and -"Templates" >> where !completed >> sort file.ctime desc > [!done] Completed > ```dataview > task > from #task > where completed > sort file.ctime desc > limit 10 > ```

Внедряемый контент
Obsidian позволяет через обычную вставку внедрять контент из других файлов или даже веб-источников (через <iframe>). Это помогает сделать контент заметки более живым и понятным. Поддерживаются различные форматы.
Есть возможность рисовать схемы, диаграммы, которые также внедряются в текст заметки. Это можно делать через плагины:
-
Excalidraw (obsidian-excalidraw-plugin)
-
Diagrams (drawio-obsidian)
-
PlantUML (obsidian-plantuml)
-
Mermaid Diagrams (встроенный плагин)

Заметки в виде графа
В интерфейсе можно визуализировать заметки (Graph view) в виде неориентированного графа, где вершины — это заметки, а ребра — это связи (линки) между заметками. Как это использовать, исходя из текущего контекста, каждый решает сам. Однако какой-то смысл в этом есть. При накоплении большого количества данных наверняка получится увидеть интересные взаимосвязи между задачами, проектами, информацией.
У Graph view много настроек отображения — в частности, можно задать цвет заметок (вершин графа) в зависимости от условий, например по тегам.

Заключение
Obsidian — это действительно очень интересный и разносторонний инструмент. Можно сказать, «комбайн» заметок, легко настраиваемый под разные цели. Этому очень способствует большой набор комьюнити-плагинов. Есть мобильное приложение. Правда, трудность освоения Obsidian чуть выше, чем других приложений, но, уверен, оно того стоит.
Предложенное в статье решение является основой для настройки под свои потребности и способы ведения дел. Существуют другие плагины, с которыми можно поэкспериментировать в контексте статьи и при необходимости подстроить под себя:
-
Daily Notes (встроенный плагин), легко встраивается в концепцию управления задачами
Надеюсь, статья была полезна всем, кто интересуется темой, или даже новичкам.
ссылка на оригинал статьи https://habr.com/ru/articles/743628/

Добавить комментарий