Как стать автором
Обновить

Кастомные иерархии в Obsidian

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров2.1K

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


Дисклеймер. Всё, что я покажу далее, вам не стоит копировать напрямую. Даже несмотря на то, что я покажу, как это настраивается в Obsidian. Слишком уж это специфический подход.

Структура статьи (оглавление)

Неспешно подводя

наверх

Я буду вводить по одному новому понятию, объяснять его, приводить пример и наносить его на своеобразную диаграмму Эйлера.

Начнём с category.

category

Category – это понятие, которое задаёт глобальное направление. Например, категориями могут быть "art", "programming", "physics", "business". Это очень широкие понятия, но при этом они довольно хорошо могут очертить наши сферы интересов.

В области кино и музыки category можно легко поменять на genre.

Теперь добавим новое понятие production.

production

Production – это источник в широком смысле, который что-то порождает (обычно в крупных масштабах). Наиболее удачными примерами могут быть киностудии (например, "Paramount Pictures"). Также к production могут относиться научные журналы ("Nature"), конференции ("European Conference on Computer Vision"), подкасты ("Бремя технологий") и ютюб каналы ("SpoonFedStudy").

Если будет удобнее, то можно мыслить понятие сразу в связке "Production and distribution".

Production является подмножеством какой-то категории. Так для наглядности можно взять журнал "Nature Physics", который, как это не было тавтологично, "производит" статьи по категории "Physics".

Теперь добавим новое понятие creator.

creator

Думаю, что с этим понятием всё и так ясно) Но всё же для точности... Creator – это конкретный создатель, который имеет имя и фамилию (или псевдоним). У фильмов это режиссёры (Джордж Лукас), у книг писатели (Джеймс Джойс), даже у ютюб роликов есть свой конкретный автор с именем и фамилией.

Перейдем теперь к следующему понятию meta.

meta

Meta – это понятие, которое объединяет что-то в рамках узкой темы. Ещё meta можно воспринимать как подкатегорию. Так, если есть категория "physics", то подкатегорией будет, например, "quantum mechanics". Если же говорить просто про узкие темы, то, например, в категории "art" может быть мета под названием "Викторианский стиль в архитектуре и интерьере Пруссии 1860-1880-х годов". Тема узкая, но даже в ней можно копаться до бесконечности, хах.

Вообще круг с meta находится немного не на том месте. Логичнее его было бы поставить сразу после категории. Но, если так сделать, то мне будет трудно объяснить следующее понятие problem.

problem

Problem – это супер узкое понятие и оно характеризует, как это не удивительно, определённую проблему.

Проблему, наверное, легче всего понять на таком примере. Допустим есть категория "physics". Далее есть мета "quantum electrodynamics". В этой мете есть проблема "возникновение калибровочной неинвариантности из-за усечения материала в рамках сверхсильных связей". Ладно-ладно... Другой пример.

Положим, что есть категория "маркетинг". В ней мета "стратегии развития". В стратегиях есть проблема "выбор стратегии развития в зависимости от привлекательности рынка и конкурентного положения". Что может быть в этой "проблеме"? Ну, вероятно, какие-то таблицы, графики, аналитика, кейсы, которые позволят выбрать правильную стратегию.

Вы могли заметить на рисунке, что там есть ещё discourse, но о нём как-нибудь в другой раз.

Итак, быстренько резюмируем:

  • category - понятие, которое задаёт глобальное направление или сферу

  • production - источник или платформа, которые занимаются производством и/или продвижением чего-либо

  • creator - конкретный автор

  • meta - узкая тема или подкатегория

  • problem - конкретная проблема

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

Динамика и контексты

наверх

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

category
прям как чашка Петри
прям как чашка Петри

Я специально убрал названия, чтобы вы сильно не вникали в структуру. Главное, что я хотел показать, что в рамках какой-то категории всё развивается хаотично и при этом в порядке вещей какие-то элементы могут наслаиваться друг на друга.

Кстати, возможно, сейчас вы задумались о том, почему я всё указал кругами разного размера. И это здравый вопрос. Вообще говоря, в этих кругах находятся разного рода источники, а в источниках соответственно находятся заметки. Но размер неважен. Главное, что те самые источники находятся в каком-то контексте. Этот самый контекст задают "круги".

В качестве более рафинированной ситуации, давайте представим источник, который находится вот в таком контексте:

category

И вот вам вопрос... Как можно быстро понять в контексте чего конкретного находится этот самый источник? Иначе говоря, как можно узнать, что мы ещё изучили в рамках META 1-2 и чем ещё нас порадовал CREATOR? И главное можем ли мы быстро скользить между всем этим добром?

Самый первый же вариант – открыть три заметки (META 1,2 и CREATOR) и посмотреть в них. Вариант нормальный, но есть лучше.

Кастомные иерархии в Breadcrumbs

наверх

В плагине Breadcrumbs можно создать свои собственные иерархии. Создадим одну из таких:

Breadcrumbs Settings

Думаю из самих настроек можно понять, что category это родительское свойство, suggestion это всё, что в иерархии находится на одном уровне, all всё, что порождено конкретной категорией.

suggestion и all это мнимые свойства, т.е. их не нужно указывать в заметках. Что я имею в виду вы поймёте сейчас на примере.

Итак, представим, что у нас есть категория "🗺️ health". Принадлежность к этой категории задаётся через указание ссылки на неё в свойствах заметки:

---
tags:
  - source/book
category:
  - "[[health]]"
---

Теперь, если мы зайдем на какой-нибудь источник, который принадлежит к данной категории, то плагин нам отобразит контекст.

source

Технически мы могли бы просто зайти в "health" и посмотреть все источники там. Но также круче, правда?

Давайте теперь добавим новую иерархию meta.

Breadcrumbs Settings

Расширим наш пример:

source
Обратите внимание, что иерархии для meta и category выделены с помощью рамок
Обратите внимание, что иерархии для meta и category выделены с помощью рамок

Этот пример уже намного интереснее. У нас есть два контекста: один широкий (category); другой узкий (meta). Оба контекста мы видим сразу. Мы не мудрим с dataview-запросами, никуда не заходим по-лишнему, но при этом видим общую картину структуры нашей базы знаний.

В предыдущей главе я показал вариант с двумя мета-заметками и автором. Давайте расширим наш пример именно до такого случая.

source

Кстати, теперь иерархия для авторов вот так в настройках выглядит:

Breadcrumbs Settings

Порядок иерархий задаёт порядок отображения на панели.

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

meta

Теперь зайдем в категорию:

category

Ещё примеры

наверх

Хотел бы показать ещё несколько, как мне кажется, интересных примеров иерархий.

Давайте представим, что мы являемся жутким киноманом.

movie

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

music

Ну, за одно покажу отображение в определённом треке.

Добавим creator к треку.

Зайдем теперь в другой альбом.

Вот такие иерархии я накрутил в плагине:

Breadcrumbs Settings

Ну, и напоследок давайте ещё один пример. На этот раз он будет абстрактным.

source

Такой в общем иерархический подход.

Логическая подчинённость

наверх

Хотел бы подсветить одну важную мысль. Строго говоря, разные иерархии сами между собой иерархически неупорядоченны. Однако никто нам не мешает учредить определённый порядок самому. В начале статьи я попытался сделать это с помощью вложенных кругов. На столько строго у меня эта вложенность никогда не выполняется. Однако несмотря на это, у меня есть одно правило, которое я соблюдаю всегда: проблема должна лежать в мета-заметке, мета-заметка должна относиться к категории. Почему так?

Думаю, что легко понять это правило можно будет на таком примере. Представим, что мы встретились с каким-то занимательным и пусть даже полезным лингвистическим фактом. Куда нам можно его поместить? Да никуда. У нас даже категории "лингвистика" нет. Мы не вовлечены в эту тему, мы её не исследуем. Нам просто попался факт, который сиюминутно показался привлекательным.

Положим, что теперь у нас есть категория "лингвистика". Куда нам теперь поместить факт? Ну, если у нас есть какие-то объёмные источники, то в них можно было бы поискать куда встроить этот факт. Если подходящих источников нет, то опять же никуда – факту придется умереть там, где мы его нашли.

Теперь положим, что у нас есть мета-заметка в рамках категории. Что это значит? Это значит, мы смогли наши знания в области лингвистики обобщить. Что это значит для нашего факта? Это значит, что он может стать частью (пазлом) определённой обобщённой картины. Иначе говоря, только на этапе мета-заметки в свою систему стоит добавлять "случайные" факты.

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

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

Если мы, не имея категории и мета-заметок, создадим сразу проблему и в неё поместим случайный факт, то значит мы просто проигнорируем нормальный ход интеллектуального развития, который я описал выше.

Что лучше отображать в иерархиях

наверх

Возможно вы заметили, что в отображениях иерархий везде были источники, а не конкретные заметки. У этого есть весьма простое арифметическое обоснование. Если вы, например, прочитаете книгу по истории философии, то в ней у вас может появиться штук 100 атомных заметок. Если всем атомным заметкам дать category, то панель Breadcrumbs станет сразу перегруженной. Если вы прочитаете ещё две какие-нибудь книги по философии, то у вас станет, например, в сумме 200 заметок. Панель Breadcrumbs в таком случае станет почти невозможно анализировать. Прочитаете ещё одну-две книги и никакого преимущества от панели вы уже не получите. Зато проблемы с упорядочиванием обычных заметок будут расти с геометрической прогрессией.

А вот, если дать категорию только книгам, то по итогу у нас будет всего 4-5 записей в виде книг. На каждую из которых мы можем нажать и посмотреть, что мы там выжали из них интересного.

Вообще, как бы тавтологично это не звучало, но у меня есть тип заметки "иерарахия". Эти заметки также имеют категорию и отображаются на панели. Сами же они в том числе поддерживаются плагином Breadcrumbs (но немного другим образом) и существуют они как раз для жесткого упорядочивания атомных заметок. Это я к тому, что сами по себе заметки лучше формировать в каких-то более крупных структурах, которым уже без проблем можно присвоить категорию.

Ну, и да... Как думаете, хорошей ли идеей будет добавлять в систему источники, в которых одна-две мысли (заметки)?

В окончании

наверх

Теперь вы узнали, что можно вести заметки несколько более витиеватым образом. При этом заметьте, в статье рядом со словом "иерархия" я не разу не употребил слово "папка". Есть в этом некоторый диссонанс, да?

На этом у меня всё.


Задать вопрос или как-то расширить эту статью своим комментарием, вы также можете в telegram-канале. Если статья принесла вам пользу и вы в ответ хотите выразить свою благодарность в материальном виде, то можете сделать это вот тут или с помощью кнопки "Задонатить" (смотрите ниже).

Теги:
Хабы:
Всего голосов 6: ↑6 и ↓0+7
Комментарии10

Публикации

Истории

Ближайшие события

Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область