Иногда сложно справиться с большим потоком задач и информации, особенно если это касается работы. Поэтому создание персональной базы знаний для своих текущих дел становится весьма актуальным. Но простая фиксация данных не всегда эффективна: легко потеряться в куче заметок. Различные методики помогают правильно организовать процесс. Вместе с тем информация не существует сама по себе, она, как правило, неразрывно связана со всеми нашими проектами, задачами и другими событиями. Если это учитывать, то проще оперировать данными, находить нужные факты. Через задачу легко выйти на связанную с ней информацию или, наоборот, через данные можно найти проект или задачу, в рамках которых они появились. Однако на практике все это будет эффективно работать, если получится создать единую среду для ведения дел и хранения всех связанных с ними данных.

Существующие приложения, как правило, не могут предоставить готовое решение для работы в таком контексте. Приходится придумывать или создавать что-то свое. Самое простое — это начать с каких-то стандартных заметочников, например Evernote или OneNote, и приспособить их под себя. Однако с появлением Roam-подобных программ пришло понимание, что можно создать очень гибкую систему, которую легко настроить под ведение любого вида задач, проектов и хранение различного типа связанной с ними информации. В этой статье познакомимся с примером настройки и практического использования маркдаун-заметочника Obsidian.md совместно с методологией Getting Things Done (GTD) Дэвида Аллена.

Все по-разному пытаются управлять своими делами. Чаще всего применяется простой подход: задачи ведутся в to-do-приложении или удерживаются в голове, а связанная с ними информация раскидывается весьма хаотично. Документы хранятся на диске или в облаке, обсуждения — в email или мессенджерах, заметки — на бумаге или в специализированных приложениях, ссылки на ресурсы — в браузере.

Возможны различные комбинации, но очевидно, что такой подход не слишком эффективен. Для ведения дел и хранения связанных данных удобно использовать один инструмент, например Obsidian. Это не обычный заметочник, как OneNote или Evernote, — он относится к Roam-подобным приложениям (Roam Research с начала 2020 года задал новый стандарт в классе). Основные отличительные возможности и полезные фишки такого типа приложений:

Благодаря системе прямых и обратных ссылок, а также их визуализации стала возможна сетевая организация заметок вместо иерархической. Эта организация играет ключевую роль в описанном далее решении.

К 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:

  1. Проверяем, что в разделе «Встроенные плагины» (Core plugins) подключены:

  2. В Сторонних плагинах (Community plugins) находим и устанавливаем плагины:

  3. В настройках плагина «Шаблоны» указываем путь к папке с шаблонами, например Templates.

  4. В настройках плагина Checklist:

    • В Tag Name устанавливаем два значения — task и project (каждое значение в отдельной строке).

    • В Group By выбираем Tag.

    • В Group Sort выбираем “A -> Z”.

    • В Include Files указываем !Templates/**.

  5. В пункте настроек «Файлы и ссылки» (File & Links):

    • В списке «Место для вложенных файлов по умолчанию» (Default location for new attachments) выбираем значение «В папке, указанной ниже» (In subfolder under current folder).

    • В текстовом поле «Путь к папке для вложенных файлов» (Subfolder name) указываем Attachments.

  6. Завершаем настройки и возвращаемся в главное окно программы:

    • На панели файлового менеджера (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 лучше всего подставлять символ @ — это позволит быстро находить людей в списке.

В заметке персоны можно фиксировать любую дополнительную информацию о человеке в тексте или во 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>). Это помогает сделать контент заметки более живым и понятным. Поддерживаются различные форматы.

Есть возможность рисовать схемы, диаграммы, которые также внедряются в текст заметки. Это можно делать через плагины:

Заметки в виде графа

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

У Graph view много настроек отображения — в частности, можно задать цвет заметок (вершин графа) в зависимости от условий, например по тегам.

Заключение

Obsidian — это действительно очень интересный и разносторонний инструмент. Можно сказать, «комбайн» заметок, легко настраиваемый под разные цели. Этому очень способствует большой набор комьюнити-плагинов. Есть мобильное приложение. Правда, трудность освоения Obsidian чуть выше, чем других приложений, но, уверен, оно того стоит.

Предложенное в статье решение является основой для настройки под свои потребности и способы ведения дел. Существуют другие плагины, с которыми можно поэкспериментировать в контексте статьи и при необходимости подстроить под себя:

Надеюсь, статья была полезна всем, кто интересуется темой, или даже новичкам.

Комментарии (20)


  1. remainedmind
    27.06.2023 07:42
    +2

    Загуглил какие-нибудь материалы по оформлению обсидиана, а тут - статья, которая родилась 15 минут назад)
    Сейчас будем изучать.


    1. remainedmind
      27.06.2023 07:42

      UPD после прочтения:
      Хочу благодарность благодарность автору за статью. Я один и из тех, кто восхищается возможностями Obsidian, но всё никак не может настроить там свой workflow)
      Уже год как пытаюсь что-то писать, но идеальную систему ещё не построил, а ведь хочется!
      Данную статью положу в копилку готовых примеров, на основе которых когда-нибудь сделаю свой вариант.
      Из интересного: топик о Коллегах натолкнул на идею фиксировать в заметках информацию даже не только о коллегах (с которыми постоянно делаешь проекты и проводишь встречи), да и в целом о знакомых. Пока что это просто мысль, но даже сейчас у меня в контактах на телефоне есть несколько записей, где, помимо имени, ещё есть возраст и страна. Теперь знаю, куда эту информацию перенести)

      Вопрос к автору:
      Я так понял, для своих проектов вы не используете плагин Projects. Он вроде популярный; я скачал и потихоньку осваиваю. Можете рассказать, пробовали ли его и, если да, почему отказались от него?


      1. trusted Автор
        27.06.2023 07:42

        Спасибо. Я больше за минимализм. Со временем приходит понимание, что излишняя зависимость от чужих разработок ни к чему хорошему не приводит, будь то Obsidian или что то еще. По существу для реализации представленной концепции достаточно всего одного плагина DataView. Последнее время даже для напоминаний больше использую TickTick (есть интеграция с Obsidian под MacOS). Поэтому по поводу Project, да, как вариант можно поиграться как и с другими подобными плагинами, которые я упоминал в конце статьи. Но на вскидку не увидел ничего особенного, что нельзя было бы настроить через то же DataView. Возможно ошибаюсь, попробую поизучать.


  1. Biga
    27.06.2023 07:42
    +1

    Правда, трудность освоения Obsidian чуть выше, чем других приложений, но, уверен, оно того стоит.

    Ага, у меня сейчас трудность освоения Obsidian находится на этапе настройки self-hosted синхронизации с освоением докера и установкой CouchDB и Caddy. Очень познавательный этот Obsidian, прямо чувствую, как борода вырастает.


    1. trusted Автор
      27.06.2023 07:42
      +1

      Синхронизация это конечно особая боль, тут или платить или заниматься техническим саморазвитием)


      1. yuriy_severinov
        27.06.2023 07:42
        +1

        У меня неплохо работает синхронизирующаяся папка в One drive. Думаю другие облака тоже справятся. Можно также синхронизировать с телефоном, с помощью remotely save, но подойдет только если заметками в телефоне пользоваться не очень активно, стабильность работы хромает.


        1. trusted Автор
          27.06.2023 07:42

          Не возникало проблем с синхронизацией, когда пытались править один и тот же файл на разных устройствах?


          1. yuriy_severinov
            27.06.2023 07:42

            Не возникало такой необходимости. Но иногда файлы дублируются, я в основном грешу на remotely save


    1. valery1707
      27.06.2023 07:42
      +1

      А не пробовали плагин интеграции с Git?


      1. Biga
        27.06.2023 07:42

        Не пробовал.

        Мне всё равно надо осваивать синхронизацию телефона с локалхостом в том числе и для своих проектов, а в наше время везде требуют https, и тут всё удачно совпало, что мне как раз посоветовали Caddy для этих целей, а тут он и используется.


        1. K0styan
          27.06.2023 07:42
          +2

          А всякие Syncthing с Resilio чем-то не устраивают?


          1. Biga
            27.06.2023 07:42

            Хочется всё-таки прямой синхронизации внутри локальной сети, без сторонних сервисов. Но за совет спасибо, гугл подсказал ещё https://github.com/remotely-save/remotely-save.


            1. K0styan
              27.06.2023 07:42

              Куда уж прямее: p2p обмен вообще без сервера)


  1. pmcode
    27.06.2023 07:42
    +2

    Имхо, главное качество персональной системы управления задачами - простота. Сложность демотивирует. Когда ты не в ресурсе, разбираться в системе со сложными связями нет ни желания ни возможности. Описанная система неоправданно сложная, при том что решает по сути самые примитивные задачи.


    1. trusted Автор
      27.06.2023 07:42

      В чем именно сложность? После настойки пользователь просто создает заметки и прописывает в них связи с другими. Или сложность в GTD?


  1. Lexa83
    27.06.2023 07:42

    Подскажите, есть ли возможность как то делать повторющиеся (recurring) таски?


    1. trusted Автор
      27.06.2023 07:42

      В текущей реализации нет, но как писал в заключении есть дополнительные плагины, например obsidian-tasks, он легко встраивается в данную концепцию и там такая функциональность имеется https://publish.obsidian.md/tasks/Getting+Started/Recurring+Tasks


  1. Sing303
    27.06.2023 07:42

    Долго думал как можно сделать такое же простое и удобное управление задачами в обсидиане как и в TickTick, так и не придумал, слишком сложно получается. Надо ваш вариант опробовать, выглядит не плохо. Но все равно кажется, что сложнее TickTick`а будет


  1. flowing_abyss
    27.06.2023 07:42
    +1

    Как-то уже и заскучал от того, что в русскоязычном пространстве давно ничего не появлялось интересного про Obsidian. И тут ваша статья.

    Сразу замечу пару вещей из приятного. Статья у вас визуально хорошо размечена, да и в целом написана крайне понятно. Ну, и не могу не отметить, что иллюстрации у вас весьма симпатичные, хех.

    Теперь о самой системе. Тут уже чисто моё мнение. Не претендую на объективность. Просто решил подкинуть немного критики и парочку идей.

    Шаблоны для всех типов задач стоит сделать абсолютно одинаковыми по структуре. Для inbox в том числе.

    Обоснование в том, что у вас основное слабое место находится в обработке inbox и как следствие проблемен процесс изменения типа задачи. Из-за разных шаблонов нужно слишком много делать ручных манипуляций. Ну, или изначально заниматься угадыванием типа задачи, что уже звучит не шибко надёжно.

    Само же изменение типа задачи стоит делать с помощью изменения метаданных, например, плагином Metadata menu. Так процесс работы с задачами станет ближе к таск-менеджерам, что, в данном случае, будет, как мне кажется, хорошей оптимизацией.

    Также дефолтной заметкой стоит сделать inbox-задачу. Причём назначить её создание на какой-нибудь хоткей (вполне себе можно даже назначить на ctrl+n). Ну, и сделать, чтобы по этому хоткею выдавалось окно в которое нужно вписать текст задачи. Так получится организовать быстрый рабочий процесс наполнения inbox:

    нажал хоткей -> написал текст задачи -> жмакнул enter

    Далее стоит вместо какой-то панели сделать отображение задач из inbox. Отсюда рождается следующий рабочий процесс – разбор inbox:

    ... -> нажал на задачу из inbox на панели -> поменял параметры задачи с помощью metadata menu (можно вызывать меню хоткеем или кнопкой, которая рядом с заметкой будет) -> нажал на следующую задачу из inbox на панели -> ...

    Два этих процесса получится сделать только, если шаблоны для всего будут структурно одинаковыми, а отличие же будет обеспечиваться только метаданными. В целом такое единообразие довольно нетрудно достичь. Например, можно сделать вот так:

    Шаблон
    ---
    class: тут тип задачи
    due: дата
    attendees: тут будут ссылки на людей
    ---
    ```dataview
    ...
    ```
    # Description
    
    # Task(s)
    - [ ] <% tp.file.title %>
    
    # Notes/Agenda...

    Все значения метаданных можно заранее определить и впоследствии расширять с помощью metadata menu (т.е. плагин будет чётко всё определять, а значит ничего в голове не нужно держать и при этом через этот же плагин можно будет модифицировать систему). А attendees можно вообще заавтоматизировать в виде выпадающего списка с мульти-выбором, т.е. сделать так, чтобы автоматически отображались все люди, которые есть в системе и при необходимости которых можно было быстро добавлять или убирать. Короче плагин metadata menu прям мощный в этом смысле.

    С такой логикой, правда, придется подумать, что делать с плагином checklist. Вероятно даже, что он будет лишним.

    Ещё несколько идей.

    Для визуального различения задач можно использовать Supercharged Links. Хотя, наверное, было бы прикольнее, если вы придумали как можно использовать (автоматизировать) Banners – типа нажал на задачу, а там какая-нибудь красивая картинка вверху, которая мгновенно позволит определить тип задачи.

    Возможно, чтобы метаданные не зашумляли визуал, можно вообще полностью скрыть блок yaml с помощью сниппета. В сниппете что-то типа такого должно быть:

    css-snippet
    .frontmatter-container {
      display: none;
    }
    
    .is-live-preview .cm-line:has(.cm-hmd-frontmatter) {
      display: none;
    }

    Теоретически от пункта Links можно избавиться. Потому что у вас есть и так отображение входящих и исходящих ссылок. Сами же ссылки на другие задачи можно делать сразу в самих задачах. Например, положим, что у нас открыт проект и в нем будет такая задача:

    - [ ] [[Сделать маленький шаг к великой цели]]

    Т.е. задача уже и так как ссылка. Когда мы перейдем в эту задачу, то в перечне сразу же увидим, что она пришла из проекта. В общем Links – это лишняя сущность. Кстати, если проекты обозначить с помощью Supercharged Links, то можно будет в перечне ссылок сразу понять, что задача пришла именно из проекта, а не, например, из другой задачи.

    В остальном же я думаю, что вы сделали отличную базовую систему, от которой можно легко оттолкнуться всякому, кто захочет начать управлять делами в Obsidian.


  1. hoack
    27.06.2023 07:42

    Для меня лично дороговизна синхронизации этот инструмент делает непригодным.