Bases Structure | GitHub

На этот раз будет история, хах. Когда-то давно я придумал хак для автоматической генерации Mermaid-диаграмм с помощью DataviewJS в Obsidian. Естественно, сразу появилась идея динамически отображать в хранилище структуру системных заметок.

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

Позже у меня системных заметок стало довольно много, и всё чаще приходилось перестраивать их структуру. В целом ничего сложного. Посмотрел на диаграмму, разобрался с типами заметок и связями, затем изменил нужные метаданные.

Но всё-таки захотелось интерактива.

Возможно, по моему другому плагину Metadata Validator вы уже заметили, что я часто решаю проблемы через выделение примитивов и определение допустимых операций. Заметили же?)

Поэтому появилась идея декларативно описать типы заметок и связи между ними, а кодом уже обеспечить соблюдение этих правил и отобразить всё визуально. Так и появился Bases Structure.

Работает так. В конфигурации Bases можно описать такую структуру:

- type: structure
  name: Structure
  inherit:
    - project
  types:
    Area:
      tag: area
      children:
        Project: area
    Project:
      tag: project
      children:
        Task: project
    Task:
      tag: task
      children:
        Task: parent
        Note: file.backlinks
    Note:
      tag: note

Получится такая иерархия:

- Area
  - Project
    - Task
      - Task
      - Note

Логично выглядит, правда?)

Дальше плагин отображает эту структуру и позволяет переставлять заметки прямо на графе. Можно сохранять тип заметки или менять его при переносе. Например, когда Note должна превратиться в Project и оказаться внутри нужной Area.

Свойства и связи в самих заметках плагин меняет автоматически.

То есть базой теперь можно управлять визуально. Думаю, Zsolt был бы в восторге, так как тут и структурированный граф, и визуал.

Плагин доступен в Community store по названию Bases Structure.

P.S. Простите, не могу не пошутить. У папочных адептов, вероятно, челюсть должна отвиснуть от того, что они могут менять структуру заметок прямо на лету, при этом сохраняя весьма жесткую иерархию.