В этой статье будет показано как можно начать организовывать свою базу знаний в Obsidian, отталкиваясь от источников. В статье будет разобрано то, какие стоит использовать папки и теги; как создать свою первую точку входа в систему. Также будет уделено внимание способу ведения журнала (дневника). Статья будет предполагать, что вы не против автоматизации процессов в своей базе знаний, поэтому все источники будут шаблонизированы и впоследствии собраны в свои отдельные библиотеки с помощью dataview. Завершится статья подробным примером (алгоритмом) рабочего процесса.
предыдущая статья | следующая статья
Структура статьи (оглавление)
Можете открыть структуру в отдельной вкладке, чтобы понимать, где вы находитесь в тексте.
Введение
Когда вы прочитаете статью, то вероятно у вас может появиться ряд вопросов в стиле: "И это всё? Так просто? И это будет работать? Серьёзно?".
Да. Система будет работать и более того она будет как можно меньше стараться вам мешать делать основную свою деятельность, т.е. читать, думать, создавать идеи, понимать и осознавать, учиться и т.д. Отсюда стоит также понимать, что, если вы не будете читать, думать и прочее, то система вам никак не поможет.
Эта часть статьи будет состоять по сути из множества конкретных советов о том, как стоит делать. Вы вправе повторить один в один в своей системе или можете просто понять суть того почему я предлагаю то или иное решение и сделать что-то своё. Однако в любом случае вам нужно держать в голове, что мы с вами находимся на разном уровне развития, на разных жизненных циклах, у нас с вами разные интересы, разные взгляды, разные в конце концов личности и характеры. Всё это отразится на вашей базе знаний.
Со временем у вас появится опыт того как стоит строить свою систему, свою базу знаний. Вы по ходу дела поймете что стоит дооптимизировать в системе, что стоит совсем убрать, вы поймете как, условно говоря, поворачивать систему определенной стороной, чтобы она помогала вам решать ваши актуальные нужды. Моя роль тут в том, чтобы просто дать пару подсказок как можно побыстрее получить что-то вменяемое, что будет давать заметную отдачу.
Отмечу ещё то, что вероятно есть риск, что вы не совсем сразу поймете (или точнее прочувствуете) почему какое-то решение в действительности является долгоиграющим (например, почему нужно отказаться в каком-то смысле от папок и тегов). Это нормально, ибо вы читаете статью последовательно, переходя от одной частности, к другой и отчего у вас не появляется общей картины сразу (к тому же у вас ещё нет опыта ведения базы). В самом конце я соберу все советы в кучу и покажу пример рабочего процесса (на мой взгляд, это самая полезная часть статьи).
Если вы уже знаете, что вам нужно от системы, если у вас уже есть что-то работающее или даже хорошо отлаженное, то не теряйте время и НЕ читайте эту статью.
О паранойе
Мой опыт показывает, что в процессе работы в Obsidian, вы так или иначе всунете в него какой-то плагин, какое-то такое решение, которое в итоге таки приведёт к тому, что у вас не выстроится тот же самый эффективный рабочий процесс в какой-нибудь другой программе. Даже вопреки тому, что все говорят, мол Obsidian использует MD-файлы и это якобы даёт некоторую универсальность, всё это отчасти лукавство.
Если ко всему этому добавить то, что Obsidian проприетарный софт с основателями китайцами, то можно как-то совсем приуныть.
Однако в попытке хоть как-то развеять паранойю, стоит также сказать следующее. У Obsidian довольно мощное сообщество по всему миру. В каком-то смысле именно оно выдало большой кредит доверия данному софту. Пока что прецедентов в том, чтобы разочароваться в Obsidian не было. Будем считать, что это хороший признак, которого достаточно для того, чтобы начать (или продолжать) пользоваться Obsidian.
Предварительные советы
Слепая печать
Я даже не говорю про 10-пальцевый ввод. Стоит научиться печатать хотя бы не глядя на клавиатуру. Если вы смотрите постоянно на клавиши и на свои пальцы, то на самом деле вы просто ужасно много тратите своего внимания фактически в пустую. К тому же вы постоянно тратите по лишнему волю (или если кому-то удобнее, то мыслетопливо), а это значит, что вы постоянно будете существенно понижать свои шансы на то, чтобы войти в состояние потока.
Смена языка одной клавишей
Возможно вы заметили, что у вас на клавиатуре есть клавиша, которую вы редко используете. Нет, я сейчас не про scroll lock. Всё куда ближе. Я говорю про caps lock. Поменяйте смену раскладки клавиатуры на эту клавишу, чтобы просто немного ускорить процесс ввода.
Автодополнения
Вы наверняка часто пишете свой email и ФИО. Не кажется ли вам, что этот процесс можно оптимизировать?
В заметках также часто будут появляться моменты, когда вам нужно писать однотипные вещи. Например, это могут быть
заголовок yaml
возможно в нескольких вариациях с определенными метаданными
разной длины тире
callouts
блоки кода
и т.д.
Сюда же можно отнести какие-то частые опечатки.
Если вы пользователь Windows или MacOS, то поставьте Punto Switcher. В нем вы сможете в том числе настроить клавишу смены раскладки, добавить свои автодополнения и вдобавок получите плюшку в виде автоматической смены раскладки в процессе печатания. Я же являюсь пользователем Linux, потому использую программу autokey.
Не для управления делами
В Obsidian можно обустроить себе систему по управлению делами, но не рекомендую вам этого делать. По крайней мере поначалу.
Вместо этого лучше отдельно изучите, например, метод GTD и попробуйте его реализовать в каком-нибудь Todoist. Пользы вы от этого получите немерено. При этом у вас появится хорошее разграничение в голове: всё-таки для дел и планирования нужна (и уместна) одна система (пространство), а для знаний другая.
Язык программы
Чтобы по первой не тупить, можете попробовать на русском. Позже рекомендую перейти на английский. Причины следующие:
Плагины обычно не переводят, поэтому вам придется думать об одной логике два раза
Я имею в виду то, что есть много типовых выражений в описании функций тех или иных плагинов, которые позволят вам быстрее вникнуть в суть
Если у вас появится какие-то затруднения или вы захотите что-то изменить в Obsidian, то запрос в гугле c английскими терминами программы даст вам больше полезных результатов
Иметь языковое единообразие в той же палитре команд приятнее, чем его не иметь
В этом гайде интерфейс будет на английском.
Облачное хранилище и резервные копии
Хранить труды десятков, сотен, тысяч часов своей работы в одном месте, да ещё и просто на своем компьютере – максимально идиотская идея. Так что подумайте о том, чтобы продублировать свою базу в каком-нибудь облачном хранилище или на GitHub (процесс синхронизации реализуется в этом плагине, проще всего организовать так).
Можно также использовать Syncthing, чтобы, например, продублировать базу на телефон или свой сервер.
Вдобавок стоит делать регулярные резервные копии. Плотно поработали на неделе? Заархивируйте базу на всякий случай и архив также продублируйте в разных местах. Скорее всего это излишняя мера предосторожности, но лучше с ней, чем иметь риск нарваться на какую-то неосторожную случайность, которая лишит вас всей базы.
Wiki-ссылки
Есть большой спор о том, что лучше использовать: классические MD-ссылки или wiki-ссылки. Мой ответ – wiki-ссылки, ибо их проще и быстрее делать и изменять, а также они опрятнее выглядят. В будущем, если вас разъест паранойя, то вы можете написать скрипт (например, на Python), который переделает всё в классические ссылки. Ну или вы можете просто заюзать плагин.
Названия заметок
Термины короткие, идеи длинные
Заметки с терминами мы называем так как они звучат, т.е. как есть, например, "нормальное распределение". Это позволит нам быстрее такие заметки связывать с другими, где эти термины используются. У Obsidian есть встроенная функция по поиску таких заметок. Если мы добавим также aliases, то увеличим количество совпадений.
С идеями наоборот. Идеально, когда суть идеи мы можем передать в названии заметки. Т.е. для идеи мы пишем длинное название, чтобы её было легче потом искать. Да и вдобавок неплохим таким упражнением является упаковывание каких-то сложных концепций в 10 слов.
Название заметки строчными буквами
Все названия заметок мы пишем с маленькой буквы, чтобы позже их можно было легко вставлять в текст с минимум корректировок (точнее совсем без них).
Думаю из моей логики понятно, что имена собственные мы наоборот пишем с большой.
Не дублируйте информацию
Это относится вообще ко всем уровням ведения базы:
Если у вас есть название вверху заметки, то зачем вам оно ещё нужно в заголовке? правильно, незачем.
более того, когда вы будете вставлять заметку в другую заметку вот так
![[]]
, то у вас будет висеть этот злосчастный заголовок
Не надо оформлять список исходящих и входящих ссылок
у вас есть и так базовые плагины, которые это отображают
Не надо создавать множество одинаковых заметок, просто потому что вам встретилась одна и та же мысль в разных местах
дополните, модифицируйте или измените то, что у вас уже есть
создайте ссылку на имеющуюся заметку
Желательно (особенно по первóй) делать односторонние ссылки
т.е. чтобы у вас в перечне исходящих и входящих ссылок не было повторов
а также для того, чтобы понимать направление связи (это тоже полезная информация)
Единственно возможным образом
Старайтесь организовывать базу так, чтобы все операции в ней выполнялись каким-то единственно возможным образом. Это немного странное требование, но оно нужно для того, чтобы у вас выработались нужные привычки, которые освободят ваш разум от лишних мыслей по типу: "как бы мне добавить новую заметку?", "мне использовать эту функцию с помощью кнопки на панели или как команду, или хоткеем?".
Отсюда же стоит сразу сделать вывод, что уберите всё, чем не пользуетесь, чтобы оно вас не путало и не сбивало ритм.
Источники
Теперь самый главный и самый важный совет. Если вы начинаете делать свою базу с нуля, то настоятельно рекомендую её формировать, отталкиваясь от источников (в этой статье я буду строить всю логику именно на основе этого совета). Что я имею в виду, я покажу на следующем алгоритме (дальше будет наглядная иллюстрация).
Создаем заметку по названию источника. Пусть это будет, например, книга "От атомов к древу"
Далее внутри неё мы делаем ссылку, например, на заметку с названием "конспекты по книге От атомов к древу"
Внутри конспектов как-то ещё там разбиваем на заметки в соответствии с названием глав книги и пишем в них конспекты
В заметку "От атомов к древу" мы выносим из конспектов какие-то самые важные атомизированные мысли
Формируем из заметок какие-то структуры (например, методом outliner)
Пишем какие-то свои суммирующие заметки
Выносим заметки в отдельную категорию, которые нам особенно интересны и которые мы хотим развить
Так стоит делать по той причине, что скорее всего вы ещё не знаете какие сферы интересов вас действительно волнуют и которые бы вам хотелось как-то изучить и как-то в них покопаться. Отсюда же мысль о том, что вы вероятно не сможете как-то достаточно отчетливо и безошибочно обозначить наиболее общие категории, к которым потом отнесете все свои источники и которые потом для вас станут наиболее короткими точками входа.
Работу же, которую вы сделаете внутри заметки-источника, вы легко потом переместите в нужные места.
Выглядеть это будет примерно так:
Базовый рабочий процесс
Папки
Структура папок вот такая:
Меньше можно. Больше нельзя.
Почему так?
Дело в том, что папки являются довольно негибкой иерархической структурой. Вы можете наплодить много папок, но потом при первом же каком-то неоднозначном случае вам придется в муках страдать от вопроса "куда бы мне положить эту заметку?". Да, никуда! Не надо думать куда складываются заметки. Пусть они складываются куда-нибудь, а куда именно неважно.
Более того, когда вы создадите множество папок, то вы будете регулярно его перебирать. Вы будете тратить время, чтобы разобраться в том, что у вас построено не ассоциативно, а в собственных нагромождениях перекрученной логики.
Гибкость нашей системы достигается за счёт управления связями. Ибо связи меняются быстро и легко. Это значит, что в такой системе, к нужной мысли или категории мы быстро подведем нужную мысль или другую категорию. При этом мы не будем тратить время на то, чтобы что-то искать в жесткой иерархии. Мы скорее будем регулярно спрашивать свою систему "в тебе есть какие-то похожие мысли, обороты, слова, идеи?" и в таком случае система нам будет сама подкидывать что-то годное.
Хочу также отметить, что чем раньше вы отлипните от папок, тем лучше. Возможно на каком-то моменте, вам стоит вообще отключить их отображение.
Теперь по самим папкам.
📁 files
сюда складываются файлы (png, jpg, pdf..), чтобы они не мешались с основными заметками
стоит также установить в настройках, чтобы файлы складывались автоматически именно в эту папку
настройки > Files & Links > Default location for new attachments > In the folder specified below > ввести files
стоит убрать эту папку из поисковой выдачи
настройки > Files & Links > в самом низу Excluded files > кнопка Manage > ввести files
📁 home
в ней лежит файл homepage – ваша первая точка входа (о ней будет чуть дальше по тексту)
так как этот файл очень важен, то пусть он лежит в отдельной папке
сюда же вы можете положить всякие свои трекеры и т.п. (если в этом есть нужда)
тут же вы можете разместить, например, MOC-заметки
хотя лучше пока что забейте на этот метод ведения, ибо так или иначе он у вас реализуется сам по ходу дела (скорее всего, минуя логику папок)
📁 periodic
в ней лежат две основные папки
📁 daily
это дневной журнал, соответственно в нем хранятся ваши дневные заметки
📁 weekly
недельный журнал с недельными заметками
обе папки нужно убрать из поисковой выдачи
чуть позже я покажу как можно (стоит) использовать журнал
также в ней лежит папка 📁 templates, которая отделяет основные шаблоны от шаблонов недельной и дневной заметок
создавать заметки мы будем не через шаблоны, а через кнопочки на календаре
эту папку можно убрать из поисковой выдачи
вы можете добавить папки для месячных и годовых заметок, если у вас есть в этом нужда
периодические заметки имеют обычно типовые имена, которые не несут полезной информации, поэтому их лучше отделить от основной базы
📁 projects
в ней мы плодим столько папок, сколько у нас есть направлений
📁 статьи
📁 ютюб
📁 работа
📁 прототипы
и т.д.
хранить проекты с основными заметками не стоит по нескольким причинам
проект живет конечное время, а значит и заметки по нему также имеют срок годности
нужно уметь отделять знания от результатов применения этих знаний
если всё мешать в одну кучу, то вы просто запутаетесь со временем
порой полезно архивировать (скрывать) определенные проекты
📁 templates
тут мы храним все основные используемые шаблоны
рекомендую не сходить с ума и не делать по 10000 шаблонов на все случаи жизни
это вас только сильнее запутает
эту папку можно убрать из поисковой выдачи
корень
здесь мы храним нашу базу знаний
есть большой плюс в том, чтобы хранить именно в корне – при поиске заметок вы не будете видеть путь к заметке, а значит вас не будет сбивать с толку лишняя информация
Как я сказал, меньше папок вы можете сделать, но больше нельзя. Начнёте делать больше, снова погрязнете в бессмысленных муках раздумий о том, как бы получше структурировать свою базу знаний.
Общий вид получится примерно таким:
Стоит заметить, что эти папки созданы также, чтобы немного улучшить или упростить логику работы некоторых функций Obsidian и некоторых плагинов. Вообще говоря, если вы любите сразу окунаться во что-то непривычное, то можете забить на папки совсем и все возникающие проблемы фиксить по мере их поступления.
Теги
Теги – это (неоправданное) усложнение. Поэтому не надо тегами пытаться размечать какие-либо иерархии, разные уровни взаимоотношений и прочее.
Тегами можно только пометить какие-то заметки.
Например, можно использовать в качестве тегов эмодзи (если вы варитесь в среде обсидианщиков, то наверняка поняли у кого я украл эту идею) и использовать их следующим образом:
📥 – входящие, мимолетные заметки
Маленький совет. Если вы не рассчитываете на то, что будете обрабатывать какую-то мысль или идею в будущем, то не пишите её
звучит до тупого логично, но, на самом деле, по первой вы часто будете заносить в базу всякую бесполезную муть
инбокс станет небольшим барьером, который отфильтрует совсем уж бесполезное
чтобы повысить порог, почаще спрашивайте себя "зачем я это записал?"
🗺️ – этот тег обозначает заметки, которые у вас образуют фактически карту контента
в нашем случае этим тегом будут помечаться категориальные заметки
заметки с этим тегом стоит начать организовывать только тогда, когда у вас наберётся много источников по одной теме
иначе говоря, пока что вам нужно просто уловить идеи о том, что этот тег будет в системе и что его функцию вы реализуете весьма нескоро (в данной статье, увы, но не будет обсуждаться вопрос об организации подобных заметок, однако вы можете найти много полезного по этому поводу в комментариях)
если показать заметки, которые относятся к этому тегу на графе, то вы сможете прям очень наглядным образом увидеть все сферы, которые вас интересуют и как они связаны между собой
Дальше идут теги, которые не шибко обязательны, но порой полезны:
⚛ – заметки, которые ждут пока вы их разобьете на более мелкие независимые заметки
обычно этот тег ставится на конспектах
🌲 – тег, которым вы можете помечать
вечнозеленые заметки (заметки, которые для вас особенно ценны)
или заметки (ростки), которые вы хотите развить во что-то большее, т.е. которые вам особенно интересны
Эти теги можно заюзать в случае, если вы будете использовать плагин Spaced repetition (в следующей статье я расскажу как этот плагин работает):
🃏 – флешкарта
в этом теге стоит делать вложенные категории, чтобы можно было повторять (учить) какие-то заметки из определенной сферы
например, так 🃏/statistics
⏳ – тег, помечающий заметку, которую вам нужно периодически показывать для review
этим тегом я помечаю многие заметки
это один из методов постоянного актуализирования заметок
Вдобавок ещё скажу, что не надо пытаться компенсировать тегами отсутствующую иерархию в папках. Мы избавлялись от папок не для того, чтобы заново их родить на панели тегов.
Первая точка входа
Основные свойства первой точки входа:
C неё вы всегда начинаете свою работу
Из неё вы должны мочь дойти до любой заметки в системе
это значит, что в системе не должно быть несвязанных заметок
также это значит, что количество кликов до каждой заметки должно быть поменьше
т.е. нужно стараться постоянно уплотнять систему (делать какие-то обобщения)
Рекомендую на неё вынести следующее (позже будет иллюстрация):
Заметки, которые у вас аккумулируют разные типы источников (книги, фильмы и т.д.)
Также на неё можно вынести заметку по справке
Заметку, которая у вас формирует карту контента
Возможно также стоит вынести заметку по алгоритму обработки информации
т.е. заметку, в которой вы отразили описание ключевых каких-то операций, которые собираетесь делать постоянно над разными источниками
Можете вынести также на неё трекер привычек и прочие отслеживалки, если вам ужас как нравится следить за собой
Вы можете использовать разные способы отображения:
просто заметка
kanban
excalidraw
с помощью своего какого-то кастомного css
Однако, наверное, самый прикольный и при этом простой способ – это с помощью dashboard.
Dashboard
Вам нужно забрать отсюда два файла:
dashboard.css
он создаст новый cssclass под названием dashboard
dashboard-ReadLineLength.css
сделает отображение dashboard пошире
Их вам нужно поместить в папку snippets, по следующему пути .../ваша_папка_с_базой_знаний/.obsidian/snippets/
Если папки snippets нет, то создайте её.
Далее включите эти сниппеты в настройках.
Теперь, в метаданных нужно указать следующее
---
cssclass: dashboard
---
Ву-а-ля. Теперь вы можете сделать неплохую стартовую панель.
Например, такую:
В режиме редактирования:
Посмотрите ещё раз, но немного внимательнее на какие заметки я сделал ссылки. Ко всем, кроме projects и index, я так или иначе обращусь по ходу текста.
Вдобавок вы можете поставить плагины:
добавит хоткей, команду и кнопку по которой вы сможете с бóльшим удобством возвращаться на homepage
также добавит некоторое дополнительное поведение при вызове homepage
даст вам возможность добавить наверх страницы какую-нибудь картинку
Ещё пара идей:
Кстати, стоит помнить, что такой вид отображения вы можете использовать где-нибудь ещё, т.е. не только для homepage. (полезные комментарии о homepage и dashboard)
minimal theme
Minimal theme может начать привередничать и не растягивать dashboard на всю ширину. Далее будет предложено несколько способов исправить это.
Способ 1-ый – сделать все заметки на всю ширину.
Делается это в настройках (Editor). Отключаем
Если вам нравится, когда все заметки по всей доступной ширине, то можете остановиться на этом решении.
Способ 2-ой – добавить в cssclass значение max, которое предоставляет сама minimal тема.
---
cssclass: dashboard, max
---
Способ 2.1 – добавить код max в сниппет dashboard.
Это можно сделать из тех соображений, если dashboard хочется всегда видеть растянутым. В таком случае проще добавить немного кода в одно место, чем везде писать по два значения в cssclass. В общем в dashboard.css нужно будет добавить вот такой код:
.dashboard {
--line-width: var(--max-width);
--container-table-width: var(--max-width);
--container-img-width: var(--max-width);
--container-iframe-width: var(--max-width);
--container-map-width: var(--max-width);
--container-chart-width: var(--max-width);
}
альтернативная реализация dashboard
Нужно утянуть в свою систему два сниппета:
Тогда dashboard можно будет сделать, например, вот так:
---
cssclass: three-column-grid-list, wide-page
---
Решение более универсальное (вроде не должно зависеть от темы) и подразумевает гибкость. О том как подробнее использовать cssclass из этих сниппетов можете глянуть на странице Modular CSS Layout.
Ваша справка
Писать справку по каким-то функциям полезно самому, ибо это позволит побыстрее внедрить в свой процесс какую-то новую фишечку. К тому же вы будете частенько забывать как у вас делаются те или иные вещи – справка в этом смысле уменьшит количество тупняков.
Давайте возьмем для примера следующую фишку. Если создать алиас с символом в начале какого-то типового файла (книги, статьи и прочего), то можно сразу искать конкретно по типу файла.
Круто, да? Правда велик риск того, что вы забудете какой символ к какому контенту относится. Поэтому стоит отразить эту классификацию в своей справке.
Вот вам вариант:
Понятное дело, что эта фишка может быть излишеством, на которую вы со временем забьете. Однако, если у вас все источники создаются с помощью шаблонов, то почему бы не добавить этот вариант классификации – если не сработает, то бог с ним, а если вам так станет удобнее, то наоборот ништяк. (Альтернативный способ)
В справку вы можете вынести следующее:
Алгоритм обработки контента
Основные хоткеи
Справку по используемым функциям определенных плагинов
Справку по синтаксису MD
Можете создать даже собственный гайд по рабочему процессу
его вы можете по ходу дела улучшать и вместе с этим будет улучшаться и ваш рабочий процесс
Панели
По первой я предлагаю использовать только такую раскладку панелей.
Правая сторона
Начнем с локального графа. Это довольно полезная вещь, так как она позволяет видеть как визуально (пространственно) связанны заметки. По сути, именно по этому представлению вы можете быстро понять откуда мысль пришла и куда ведет. Если у вас большой монитор, то можете увеличить глубину отображения графа, чтобы видеть больше информации.
И ещё немного про графы. Рекомендую раскрасить в нем ноды сообразно их типу (например, красным книги, желтым авторов, подкасты зеленым и т.д.). Это дополнительная визуальная информация, которая быстрее вас сориентирует. Как раскрашивать вы узнаете, когда пройдете блок статьи про dataview (а именно вот тут). Упомянул про раскраски, чтобы у вас осталась мысль, что на графе будут не только серые точки.
Далее заголовки. Тут думаю совсем понятно. Если вы работаете с длинной заметкой, у которой имеется сложная структура, то неплохо бы мочь постоянно видеть эту структуру.
Левая сторона
Если недостаточно визуального представления или слишком много взаимосвязей, то вы можете посмотреть на линейное отображение входящих и исходящих ссылок. С помощью этих же панелей вы можете легко навигироваться в пространстве вашей базы знаний.
Не выпендривайтесь
Научитесь пока что пользоваться программой конкретно с такими панелями, ибо с ними вы хорошо поймете, что значит строить систему с помощью жестких ссылок и что значит искать информацию по связям.
Создание заметки
Inbox (templater)
Если вы строите базу от источников, то вероятно инбоксом вы будете по первой пользоваться довольно редко. Однако его лучше добавить сразу в систему, чтобы у вас не возникало вопросов о том "куда мне складывать свои мимолетные заметки".
Лирическое отступление. Я хоть и сказал в прошлой статье, что Обсидианом можно пользоваться эффективно без плагинов, однако я не сказал, что нужно так обязательно делать. Всё-таки плагины довольно неплохо оптимизируют какие-то рутинные действия. Не пользоваться ими значит поступать как-то не до конца рационально, а особенно в рамках того, что вы решили использовать именно Obsidian.
Шаблонные заметки стоит создавать через плагин templater. Заметку под называнием "_inbox template" мы помещаем в папку templates. Такое название нужно, чтобы этот шаблон нам показывался первым.
Шаблон этой заметки до безумия элементарен:
#📥
По умолчанию в Obsidian новые заметки создаются сочетанием ctrl+n(ew). Думаю, что не стоит изменять логику, которую этот hotkey выполняет: я рекомендую поменять команду на этом хоткее. Команда, как вы могли догадаться, будет из templater-a:
Список заметок из инбокса вы можете смотреть с помощью нажатия на тег (на панели тегов). Позже я покажу как сделать чуть более удобное отображение с помощью dataview.
Не забудьте в настройках templater-a, установить папку для шаблонов.
Создание в контексте заметки и рефактор
Для начала установите плагины "Note refactor" и "Better Link Inserter".
Теперь основные хоткеи (не забудьте их все установить в настройках):
ctrl+k – создать призрак заметки из выделенного текста (выделить скобочками)
ctrl+shift+k – сделать то же самое, но выделенный текст поместить через разделитель "|" как отображаемый
alt+f – создать заметку из выделенного текста, где первая строчка – название заметки
ctrl+] – создать заметку из заголовка (базовый плагин Note Composer)
ctrl+[ – создать (совместить) заметку из выделенного текста с определенным названием (с другой заметкой)
ctrl+enter – перейти (создать) на заметку под курсором
Ещё немного упростим создание заголовков. Соответственно жмем alt+уровень заголовка, получаем нужный заголовок.
Поэкспериментируйте. Так вы лучше поймете, что эти хоткеи делают. Можете что-нибудь ещё прикрутить к хоткеям, но думаю, что вам и этого хватит за глаза.
Алиасы
У нас с вами все-таки русский язык является основным, поэтому добавляйте к заметкам aliases (это намек на разные падежи). Это нужно как для поиска, так и для более легкой интеграции в другие заметки. Упомяну также, что в блоке про создание homepage вы должны были заметить, что я туда добавил несколько коротких aliases. Это нужно, чтобы можно было через поиск по названию заметки быстро переходить на эту страницу. Можете добавить ко всем часто используемым заметкам короткие aliases.
Очень важный совет. Когда вы будете искать заметки по каким-то ключевым словам, то у вас могут срабатывать несколько смещенные ассоциации, т.е. например, вместо слова "параметр", вы будете писать слова "сфера", "категория", "поле", "значение" и все в таком духе. Разумеется, что поиск по названию вам не поможет. Поэтому когда же вы все-таки сможете найти то, что вам было нужно иными способами (например, полнотекстовым поиском), то добавьте в заметку aliases со всеми вариациями, которые вы использовали.
Так уж получается, что если мы вспоминаем какую-то определенную вещь, определенным образом, то так будет продолжаться очень долго и в будущем. Поэтому тут стоит себе регулярно подыгрывать.
Ссылки на другие заметки
Идеальная ссылка это та, которая интегрирована в текст
благодаря этому мы видим сразу контекст в котором употребляется мысль
более того, мы видим обоснование связи
На абстрактном примере это выглядит вот так:
Тут стоит вспомнить, что мы вообще-то планируем использовать наши заметки в каких-то других заметках (для этого мы и стараемся их атомизировать). Если мы все-таки хотим добавить ссылки в заметки, но пока что не знаем как интегрировать их в текст, то можно их просто скрыть с помощью такой конструкции:
Так при интеграции этой заметки в какую-то другую, мы будем видеть только текст.
Естественно, что это два примера в вакууме. Обычно у вас будут формироваться довольно плохо выглядящие заметки, в которых будет такая себе структура. Так что сильно не заморачивайтесь о том куда впихнуть ссылки – главное, чтобы вы их впихнули.
Чтобы скрыть название заметки при её встраивании, нужно создать сниппет с таким содержанием:
naked-embeds.css
.markdown-embed-title { display:none; }
.markdown-preview-view .markdown-embed { border:none; padding:0; margin:0; }
.markdown-preview-view .markdown-embed-content { max-height: unset;}
.markdown-preview-view .markdown-embed-content>:first-child { margin-top: 0; }
.markdown-preview-view .markdown-embed-content>:last-child { margin-bottom: 0; }
Лично меня раздражают названия заметок при их встраивании, поэтому я решил их убрать для большей чистоты. Есть также другие варианты сниппетов с подобным функционалом.
Не помечать категорию заметки
Представьте, что у вас сейчас в базе есть 10000 заметок. И я вам вдруг говорю "рассортируйте мне их по категориям". Что вы подумаете? Скорее всего ничего, так как у вас сразу же начнется ломка по котикам на ютюбе. Масштабы работы просто колоссальные. Это значит, что прокрастинации не миновать. А теперь представьте, что после того как вы потратите уйму времени на мое задание, я вам скажу что-то в стиле "знаете, заметки с категориями R и статистика нужно объединить в одну категорию анализ данных". Хорошо, если вы знаете как писать скрипты или как делать массовые замены в какой-нибудь сторонней программе. Но, а если я придумаю какой-то более изощренный запрос? Тогда вам придется, либо ломать голову над тем как сделать автоматизированное решение, либо мучиться от бесконечной скуки, порожденной монотонной работой. Я уж совсем молчу о том, что вам изначально придется думать на каждой заметке к какой-то категории она относится по смыслу.
Короче говоря, этим выдуманным примером, я хотел вам сказать, чтобы вы забили на категоризацию всех идей. У вас есть панель слева, в которой вы можете просто по обратным ссылкам пощёлкать и понять откуда взялась эта заметка. Этого достаточно, ибо рано или поздно там появится конкретный источник мысли (книга, подкаст и т.д.) или сама категория (которая у вас будет в виде отдельной заметки, но которую вы сделаете попозже, т.е. тогда, когда у вас накопится достаточно формальных источников, чтобы ее организовать).
Журнал
По сути журнал (дневник) нам нужен для двух вещей:
Во-первых, в него вы можете скидывать мириады своих балластных мыслей
всяческие свои переживания
радости
тревогу
разочарования
надежды
описания того, что с вами приключилось
эмоции от случившихся недавно событий
случаи из путешествий
какие-то наблюдения за собой и другими людьми
какие-то просто обозначающие мысли
т.е. те которые вам нужны не сколько для того, чтобы что-то понять, сколько для того, чтобы высказаться и обозначить для себя, что вы думаете именно так
вы также можете отмечать в нём то, что сделали за день
если вы капец как любите следить за собой, то в них вы можете трекать свои привычки
Во-вторых, журнал стоит использовать для того, чтобы в нем агрегировать какие-то задачи или идеи по вашей базе знаний
раньше я эти задачи делал в рамках актуальных источников или каких-то тем в конкретных заметках, но позже вынес данный процесс в журнал
чтобы сделать также придется заюзать dataview
Для организации журнала, стоит поставить следующие плагины:
им мы будем формировать шаблоны
красивый и минималистичный календарь в нашем Obsidian
по сути нам он нужен, чтобы сделать календарь кликабельным
Dataview (если вы собираетесь агрегировать задачи из периодических заметок)
Я хотел сам написать гайд по базовому функционалу dataview, но меня опередили в этом. Так что, если планируете использовать dataview (а вы планируете его использовать. заклинаю вас), то стоит немного в нем подразобраться, чтобы понимать, что я буду делать дальше.
Итак, делаем для Templater следующие настройки (не забудьте сначала создать соответствующие файлы шаблонов):
Настройка "Automatic jump cursor" позволит нам перемещать курсор в место где мы напишем вот эту строчку <% tp.file.cursor(0) %>. Этот тригггер сработает, либо при создании заметки, либо если вы используете следующую команду:
Это просто маленькая приятная фишка. В целом можете на неё забить.
Настройка "Trigger Templater on new file creation" будет применять заданный шаблон, для заданной папки при создании в ней новой заметки. В целом эта опция и открывает для нас меню в которое мы добавляем шаблоны для периодических заметок. Тут же в будущем вы можете добавить шаблоны, например, для проектных заметок (хотя это настраивается в плагине Projects о котором я кратко скажу позже).
Настройки Calendar. Просто включаем отображение недель.
Настройки periodic notes. Тут мы подрубаем дневные и недельные заметки, а также указываем папки в которых они будут храниться.
Теперь о том как может выглядеть шаблон дневной заметки (покажу с излишествами, которые вы можете убрать):
daily
## Что я сделал? Что произошло?
<% tp.file.cursor(0) %>
## ✔ Что можно изменить/улучшить?
- [ ]
## Какие идеи/мысли меня посетили?
idea::
## Заметки сделанные в этот день
```dataview
LIST
WHERE file.cday = date(<% tp.file.title %>)
```
Теперь о том как происходит агрегирование для дневниковых заметок (если вы помните, то на homepage была заметка "свод по дням" – вот это к этому относится):
свод по дням
---
aliases:
- "d"
- "д"
- "в"
---
# ✔Задачи
```dataview
TASK
FROM "periodic/daily"
WHERE !completed
GROUP BY file.link
```
# Идеи
```dataview
TABLE WITHOUT ID
file.link AS "День",
idea AS "Идея"
FROM "periodic/daily"
WHERE idea
```
# Архив задач
```dataview
TASK
FROM "periodic/daily"
WHERE completed
GROUP BY file.link
```
Итог будет примерно такой:
Для недельных заметок всё примерно тоже самое. Вы можете сделать такой шаблон:
weekly
## Что я понял/узнал за неделю?
> [!summary]
> summary:: <% tp.file.cursor(0) %>
# Что стоит сделать на этой неделе?
- [ ]
Суммироваться по недельным заметкам будет вот так (свод по неделям):
свод по неделям
---
aliases:
- "w"
- "н"
---
# Задачи
```dataview
TASK
FROM "periodic/weekly"
WHERE !completed
GROUP BY file.link
```
## Summary по неделям
```dataview
TABLE WITHOUT ID
file.link AS "Неделя",
summary AS "Итог"
FROM "periodic/weekly"
WHERE summary
SORT file.name DESC
```
# Архив задач
```dataview
TASK
FROM "periodic/weekly"
WHERE completed
GROUP BY file.link
```
Поэкспериментируйте, чтобы понять как это будет выглядеть.
Теперь зачем мы все это сделали?
Все только ради одного – ради кнопочек. Вы шлепаете по дате и получаете по ней заметку.
На надо много думать, много париться. Просто жмете на дату и получаете заметку с готовым шаблоном на день или на неделю. Далее вам лишь остается только выплеснуть все свои мысли в неудержимой порывистости. После же вы сможете собрать плоды своей эмоциональной работы в одном конкретном (суммирующем) месте.
Тема кнопочек будет раскрыта ещё не раз.
Списки источников
Возможно в начале стоит самому курировать все эти списки вручную. Т.е. делать что-то в таком стиле:
В силу того, что в Obsidian такие вещи автоматизируются, я бы рекомендовал побыстрее отказаться от ручного курирования такого списка. Ибо при большом количестве источников, вы просто с ума от них сойдете, если будете своими руками их связывать и структурировать.
Кстати, заметьте, что я проклассифицировал источники именно в графе "ПРОЧИТАЛ". Это небольшое напоминание о том, что вы только со временем поймете, что же вас действительно интересует и к какой категории это относится.
Дальнейший текст будет про автоматизацию. Если вы чувствуете, что и так тяжело идет, то не торопитесь и сделайте перерыв. Хотя я же рекомендую всё-таки сделать рывок, преодолеть себя и разобраться побыстрее во всей статье, ибо знания дальше вам будут нужны для более продвинутых техник.
Dataview
Уже есть статья, где разобран функционал этого плагина. Стоит её предварительно прочитать, ибо материал дальше будет строиться с учётом того, что вы можете понимать синтаксис запросов.
Более того, тут я вам просто дам шаблоны и условно скажу: "Пользуйтесь ими". Все они довольно простые и понятные, а ещё они все собраны по одинаковой логике. Если вам кажется что-то лишним, то выкидывайте это.
Библиотеки источников
Стоит заметить, что некоторые шаблоны автоматизируются ещё сильнее за счёт плагинов, кои за вас заполняют многие поля. Их я тоже кратко объясню как настроить.
В конце я дам схему в которой будет отражена логика работы со всеми заметками по всем источникам. В ней также будут отражены названия команд для создания всех типов заметок. Это будет схема-mermaid.
Если вы сейчас такие подумали: "Чё, для каждой заметки ещё и команду нужно помнить?". Я отвечу: "Нет, конечно. Забейте. Мы все сделаем через кнопочки".
Создайте предварительно все файлы шаблонов.
Шаблон
В начале каждого шаблона будет небольшой странноватый блок. Он немного вас смутит, но рекомендую его не удалять. Он выполняет несколько функций:
когда вы создаете вручную заметку из шаблона, то он спрашивает вас о названии – выдаст диалоговое окно (мне лично нравится именно такое поведение)
этот блок стоит вначале, чтобы "сломать" метаданные. это нужно, чтобы dataview перестал выдавать вам шаблон по вашим запросам (проще "сломать" все шаблоны, чем постоянно исключать их из запросов dataview)
блок не будет мешать вам при создании заметок из кнопочек – он просто исчезнет
Теперь немного об основном содержании шаблонов.
Всё это нужно для автоматизации. Можете добавить что-то ещё, если вы считаете, что вам этого не хватает. Ну, или наоборот исключить, если вам кажется что-то лишним (хотя я вроде бы и так добавил почти минимальный набор свойств).
parent (prev), children, author, category в том числе существуют для того, чтобы в будущем вы могли эффективно использовать Breadcrumbs, Excalibrain и некоторые другие плагины. Если вам, конечно, это будет нужно.
Перед тем как мы перейдем конкретно к разным типам заметок-источников, давайте посмотрим на примере конкретной книги как могут заполниться поля и как эта книга будет отображаться в нашей библиотеке.
В библиотеке же у неё будет вот такой вид:
Для других источников будет схожий вид.
Книги
book template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: book
aliases:
- "& <%* tR += title %>"
cover: {{coverUrl}}
start:
end:
status: todo
recommendedby:
---
___
tags::
prev:: [[books|назад в библиотеку]]
category::
author:: [[{{author}}]]
children::
___
PDF
![cover|150]({{coverUrl}})
___
<% tp.file.cursor(0) %>
books
---
type: book
aliases: "&"
---
%%cssClass: cards%%
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author AS "Автор(ы)",
start AS "Начал",
category AS "Категория"
FROM !"templates"
WHERE type = "book" AND status = "wip"
```
## Ожидают прочтения
**status:** ==todo==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author as "Автор(ы)",
recommendedby AS "Рекомендовано",
category AS "Категория"
FROM !"templates"
WHERE type = "book" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author AS "Автор(ы)",
start AS "Начал",
end AS "Закончил",
category AS "Категория"
FROM !"templates"
WHERE type = "book" AND status = "done"
```
Чтобы этот шаблон завёлся, его нужно использовать вместе с плагином "Book search". В настройках нужно только место шаблона указать.
Формально поиск книг запускается с помощью команды (она же и создает заметку):
Можете эту команду использовать, однако стоит держать в голове, что все команды создания заметок-источников я покажу как заавтоматизировать в единую простую и наглядную логику – в кнопочки.
Подкасты
podcast template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: podcast
podcast: {{podcast}}
aliases:
- "` <%* tR += title %>"
cover: {{artwork}}
status: todo
recommendedby:
---
___
tags::
prev:: [[podcasts|назад в библиотеку]]
category::
url::
children::
___
{{podcast}}
![cover|150]({{artwork}})
___
<% tp.file.cursor(0) %>
podcasts
---
type: podcast
aliases:
- "`"
---
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
podcast AS "Подкаст",
category AS "Категория"
FROM !"templates"
WHERE type = "podcast" AND status = "wip"
```
## Ожидают прослушивания
**status:** ==todo==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
podcast AS "Подкаст",
category AS "Категория"
FROM !"templates"
WHERE type = "podcast" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
podcast AS "Подкаст",
category AS "Категория"
FROM !"templates"
WHERE type = "podcast" AND status = "done"
```
Этот шаблон существует номинально, т.е. если вы будете создавать заметку для подкаста вручную. Чтобы он завёлся, нужно поставить плагин "PodNotes".
Плагин позволяет слушать подкасты прямо из Obsidian, а также по хоткею добавлять кликабельные таймкоды. Добавьте в настройках какой-нибудь подкаст.
Запускается подкаст из панели.
Теперь перейдем конкретно к настройкам плагина.
Настройки такие:
Команда для создания заметки по подкасту такая (предварительно нужно включить подкаст):
Хоткей для создания таймкода:
Фильмы
movie template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: movie
aliases:
- "% <%* tR += title %>"
cover: {{VALUE:Poster}}
status: todo
recommendedby:
---
___
tags::
prev:: [[movies|назад в библиотеку]]
category::
author:: {{VALUE:directorLink}}
children::
___
![cover|150]({{VALUE:Poster}})
___
<% tp.file.cursor(0) %>
movies
---
type: movie
aliases: "%"
---
%%cssClass: cards%%
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author AS "Режиссёр",
category AS "Категория"
FROM !"templates"
WHERE type = "movie" AND status = "wip"
```
## Ожидают просмотра
**status:** ==todo==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author AS "Режиссёр",
category AS "Категория"
FROM !"templates"
WHERE type = "movie" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
("![|80](" + cover + ")") as "Обложка",
file.link AS "Название",
author AS "Режиссёр",
category AS "Категория"
FROM !"templates"
WHERE type = "movie" AND status = "done"
```
В Obsidian нет плагина, который бы искал фильмы. (Что удивительно странно) Однако есть реализация поиска, которую, придумала Minimal theme и формально объяснила как её прикрутить вот тут. Данные о фильмах будут подгружаться из IMDb (это значит, что названия будут на английском. учитывайте это)
Чтобы шаблон завёлся придется сделать довольно много операций. Вы можете посмотреть видео или сделать так, как я опишу далее. Разницы нет никакой, потому что я сделаю ровно те же шаги, что и в видео.
Для начала зайдите на этот сайт и попросите у него api ключ.
Далее установите плагин "QuickAdd".
И вот тут начинается основная муть, хех.
Создайте в корне вашей базы знаний папку Scripts (по-другому, вроде бы никак).
В неё вам нужно поместить вот этот файл . Cделайте это через ваш файловый менеджер, а не через Obsidian.
Теперь зайдите в настройки плагина "QuickAdd".
Нажимаем "Manage Macros"
Создаем макрос, например, с называнием "create film".
Жмем "Configure".
Добавляем скрипт.
Жмём на шестерёнку и пишем свой api ключ, который вам пришёл на почту.
Далее закрываем окно с api ключом и жмем "Template".
Выбираем наш шаблон с фильмом и устанавливаем шаблон для названия имени файла (у нас это просто название фильма).
Возвращайтесь в основное меню настроек плагина "QuickAdd". Выберите макрос.
Введите название макроса и нажмите "Add Choice".
Теперь нажмите на шестерёнку и проверьте, что там всё стоит как указано на скрине.
Жмакните молнию, чтобы добавить команду "add movie" в палитру команд.
Всё...
Команда для создания заметки по фильму:
Ещё раз... Фильмы будут на английском.
Видео, статьи, курсы
Для всех этих источников нет каких-то плагинов поиска, поэтому будут просто шаблоны.
video template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: video
aliases:
- "$ <%* tR += title %>"
status: todo
recommendedby:
---
___
tags::
prev:: [[videos|назад в библиотеку]]
category::
url::
children::
___
iframe
___
<% tp.file.cursor(0) %>
videos
---
type: video
aliases: "$"
---
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "video" AND status = "wip"
```
## Ожидают прочтения
**status:** ==todo==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "video" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "video" AND status = "done"
```
article template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: article
aliases:
- "; <%* tR += title %>"
status: todo
recommendedby:
---
___
tags::
prev:: [[articles|назад в библиотеку]]
category::
url::
children::
___
PDF
<% tp.file.cursor(0) %>
articles
---
type: article
aliases: ";"
---
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "article" AND status = "wip"
```
## Ожидают прочтения
**status:** ==todo==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "article" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "article" AND status = "done"
```
course template
<%*
let title = tp.file.title
if (title.startsWith("Untitled")) {
title = await tp.system.prompt("Title");
}
await tp.file.rename(title)
-%>---
type: course
aliases:
- "{ <%* tR += title %>"
status: todo
recommendedby:
---
___
tags::
prev:: [[courses|назад в библиотеку]]
category::
url::
children::
___
<% tp.file.cursor(0) %>
courses
---
type: course
aliases: "{"
---
## В процессе
**status:** ==wip== *(work in progress)*
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "course" AND status = "wip"
```
## Ожидают прохождения
**status:** ==todo==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "course" AND status = "todo"
```
## Завершённые
**status:** ==done==
```dataview
TABLE WITHOUT ID
file.link AS "Название",
url,
category AS "Категория"
FROM !"templates"
WHERE type = "course" AND status = "done"
```
В целом для видео можете поставить плагин "Media Extended". Он позволит смотреть видео и слушать аудио прямо из Obsidian. Вдобавок вы сможете ставить метки времени нажатием хоткея. Ставить или нет, опционально. Мне он нравится.
Возможно вам пригодится небольшая настройка плагина (украл ровно у того же обсидианщика, у которого украл теги).
{{TIMESTAMP}}
<%tp.file.cursor(0)%>
Чтобы эта связка сработала придется жать сразу два хоткея.
Сначала для создания временной метки:
Потом, активация шаблона, чтобы переместился курсор.
Костыль чистой воды.
Уточнение для вас будущих. Любое количество команд можно склеить в одну команду, если воспользоваться QuickAdd. Вы уже подобное делали в части про фильмы, просто ещё не осознали этого, хех.
Кстати, сам плагин вызывается командой
Вызываете команду, вставляете ссылку на видео и радуетесь жизни.
Как раскрасить ноды на графе для источников
Я вам рекомендовал раскрасить ноды на графе. Теперь вы можете это сделать. Для этого нужно создать группы на графе и это можно сделать, например, вот так:
line:("type: article")
line:("type: book")
line:("type: course")
line:("type: movie")
line:("type: podcast")
line:("type: video")
Inbox
Заметку с inbox вы также можете увидеть на вашем dashboard. Внутри она выглядит вот так:
inbox and pending and orphan notes
---
aliases:
- "inbox"
- "atom"
- "orphan"
tags: 📥
---
# 📥 inbox
```dataview
LIST
FROM #📥
WHERE file.link != [[inbox and pending and orphan notes]]
```
# ⚛ pending atomization
```dataview
LIST
FROM #⚛
```
# 💔 orphan
Здесь приводится **LIST** из *заметок*, которые ни с чем НЕ связаны:
```dataview
LIST
FROM
!"home"
AND
!"templates"
AND
!"periodic"
AND
!"projects"
WHERE
length(file.inlinks) = 0
AND
length(file.outlinks) = 0
AND
length(file.tags) = 0
AND
file.link != [[excalibrain]]
```
Алгоритм обработки контента
Я для вас составил схему mermaid. Добавьте её в свою заметку и изучите.
mermaid
[mermaid help](https://mermaid-js.github.io/mermaid/#/flowchart)
```mermaid
flowchart TD
subgraph CONTENTS
book["📚book"]
film["🎬film"]
podcast["📻podcast"]
article["🧾article"]
video["📺video"]
course["🧑🏫course"]
end
book --> book1["command: Create new book note"]
book1 --> book2["добавить PDF"]
book2 --> book3["поверхностное чтение"]
book3 --> book4["чтение и выделение"]
book4 --> book5["написание конспектов"]
subgraph book6[" "]
direction LR
book61["outliner"]
book62["mindmap: alt+m"]
end
book5 --> book6 --> atom["атомизирование"]
film --> film1["command: add movie"]
film1 --> film2["мимолётные заметки"]
film2 --> film3["timestamps"]
film3 --> atom["атомизирование"]
podcast --> podcast1["command: create podcast note"]
podcast1 --> podcast2["мимолётные заметки"]
podcast2 --> podcast3["timestamps: alt+shift+t"]
podcast3 --> atom
article --> article1["templater: article template"]
article1 --> article2["создать или добавить PDF"]
article2 --> article3["поверхностное чтение"]
article3 --> article4["чтение и выделение"]
article4 --> article5["написание конспекта"]
article5 --> atom
video --> video1["templater: video template"]
video1 --> video2["мимолётные заметки"]
video2 --> video3["timestamps: alt+t"]
video3 --> atom
course --> course1["templater: course template"]
course1 --> course2["написание конспектов"]
subgraph course3[" "]
direction LR
course31["outliner"]
course32["mindmap: alt+m"]
course33["excalidraw: embed in actve document"]
course34["canvas"]
end
course2 --> course3
course3 --> atom
atom --> source["Вынесение атомных заметок в заметки-источники"]
source --> meta-notes --> meditation
source --> hierarchy --> meditation
source --> projects --> meditation
```
Projects
Для того, чтобы вообще отлипнуть от папок, я предлагаю поставить плагин "Projects". Суть его в том, что он позволяет отслеживать ваши проекты.
Для всех направлений, которые вы наплодили в папках, нужно сделать одну и ту же операцию.
Вызываются проекты командой (но мы сделаем кнопочку).
Выглядеть это примерно будет так:
Если вы установите плагин "Kanban", то сможете выбрать отображение ваших проектов в виде канбан-доски. Также, если вы установите плагин "DB folder", то также добавится новое отображение и в нем вы сможете работать со своими проектами так, как если бы работали в Notion.
Конкретно же о том, как управлять своими персональными проектами, вы можете узнать подробнее в этой статье.
Есть также ещё один хороший пример (VPN) того, как можно вести проекты в Obsidian.
Дополнительные оптимизации
В этой части я рекомендую обязательно сделать кнопочки. Остальное на ваше усмотрение.
Buttons
В целом вы можете вынести все команды создания источников на левую панель (ribbon menu) с помощью плагина "Commander". Вы также могли бы добавить ещё одну панель с помощью плагинов "cMenu" или "Editing Toolbar". Однако мне показалось более прикольным сделать кнопки в отдельной заметке с помощью плагина "Buttons".
У него есть команда вызова "Создателя кнопок".
Я не буду углубляться в то, как создавать кнопки, а просто предложу вам скопипастить готовый вариант.
buttons
```button
name 👓 my projects
type command
action Projects: Show projects
color purple
```
___
```button
name 📥 inbox
type note(Untitled) template
action _inbox template
templater true
```
___
```button
name 🎬 movie
type command
action QuickAdd: add movie
templater true
```
```button
name 🧾 article
type note(Untitled) template
action article template
templater true
```
```button
name 📺 video
type note(Untitled) template
action video template
templater true
```
```button
name 📘 book
type command
action Book Search: Create new book note
templater true
```
```button
name 📻 podcast
type command
action PodNotes: Create Podcast Note
templater true
```
```button
name 🧑🏫 course
type note(Untitled) template
action course template
templater true
```
********
```button
name 🃏flashcards
type command
action Spaced Repetition: Review flashcards from all notes
```
```button
name ⏳review
type command
action Spaced Repetition: Open a note for review
```
Основная их суть в том, что они выполняют, либо заданные команды из палитры команд, либо создают заметки из шаблонов.
Кнопки вы можете вынести на свой dashboard или можете вынести их в отдельную заметку.
Кнопки можно сделать в одну строку – пример из комментария. Если вам нужно, чтобы такие кнопки корректно отображались в live-preview, то поместите их в callout-блок.
Выглядеть кнопки будут вот так:
Правда просто? Нет никаких команд и помнить ничего не надо. К тому же всё в одном месте. Стоит также заметить, что эти кнопки станут частью рабочего процесса.
Цвета заметок и эмодзи
Раньше я думал, что эмодзи были созданы для слаборазвитых детей, чтобы им было веселее чатиться с такими же детьми в интернете. Однако оказывается, что у них есть и куда более крутое применение. Вы уже видели, что я использовал эмодзи на тегах и на заметках на dashboard. Не будь их, всё выглядело бы пресным. Однако они добавлены вообще не для этого. Они сделаны для того, чтобы вам было легче искать информацию.
Небольшая иллюстрация на поисковой выдачи.
Как вы видите все заметки-источники подсвечены цветом и у них есть маленькая иконка, которая говорит к какому типу источника заметка относится. Согласитесь же, что цвета и иконки здесь позволяют лучше сориентироваться.
Чтобы сделать такую подсветку нужно поставить плагины:
Основной плагин, который позволит добавлять цвет для заметок, которые имеют определенные метаданные, содержат определенные теги или находятся в определённых папках
Позволит менять цвет
Даст возможность добавлять префикс в виде иконки (эмодзи)
Начнем с Supercharged Links.
Добавьте в настройках метаданные по которым вы будете раскрашивать. В нашем случае это
type (к которому относятся book, podcast и т.д.),
cssclass (к нему относится сейчас только dashboard, но позже может вы что-то ещё добавите)
можете ещё kanban-plugin добавить (к нему относится значение basic), если у вас стоит этот плагин
Итак, начнем раскрашивать. Сделаем это для book.
Нажимаем New.
Теперь сделайте вот такие конфигурации.
В силу того, что вы уже прошли блок статьи про dataview, вы должны улавливать суть того, что сейчас делаете.
Теперь с помощью плагина Style Settings изменим префикс. Перейдите в настройки этого плагина. Добавьте префикс. Можете ещё цвет поменять.
Дальше предлагаю воплотить вам примерно вот такую идею для раскрасок и иконок.
Некоторые другие плагины
Тут я перечислю ещё другие полезные плагины, которые вы можете тоже добавить в систему. Тут будут плагины, которые не изменяют рабочий процесс. Просто небольшие дополнения.
Подгружает название сайта, когда вы вставляете адрес в заметку
Вдобавок к плагину выше добавляет иконку сайта к ссылке
Что-то типа такого получается
Добавляет в контекстное меню возможность выделять разными цветами текст
Дублирует функционал выше в палитру команд
Добавляет рядом с заголовком его уровень
Автоматически переименовывает вставляемые в заметку изображения
Переименовывает по задаваемому шаблону (по умолчанию "название_заметки дата")
В первом приближении можно сказать, что он позволяет автоматически исправлять все визуальные корявости заметки (пустые строки или лишние символы)
это нужно настроить, ибо по умолчанию плагин ничего не делает
В чуть более глубоком рассмотрении этот плагин позволяет задавать разные правила форматирования заметок
Задавать правила для
YAML-заголовка
Обычных заголовков
Сносок
Основного текста заметки и прочее
В общем мудрёный, но интересный плагин
Добавляет автокомплит текста
весьма полезный плагин, т.к. в том числе дает подсказки в редактировании метаданных
однако он может стать очень навязчивым по ходу набора текста, поэтому рекомендую увеличить задержку
С помощью него вы можете настроить также собственные автодополнения
например, для callouts (других видео как в этом разобраться я, увы, не находил)
Позволяет двигать пункты в списках с помощью хоткеев
Позволяет зумиться (убирать лишнее) в пунктах списка и даже в заголовках
Очень полезно, когда вам нужно сосредоточиться
Ищет и показывает в базе знаний
несвязанные заметки и файлы
пустые заметки
большие файлы
Typewriter Scroll или Scroll Offset
Первый плагин более функциональный и позволяет держать курсор в центре, а также имеет функцию затенять соседние от курсора строки (zen-mode)
Второй позволяет просто настроить расстояние от курсора до границ заметки
Фичастый, но интуитивный полнотекстовый поиск
Можете этим плагином заменить свой обычный полнотекстовый поиск
его вы можете установить на ctrl+shift+f
Более функциональная замена встроенному плагину, который отображает заголовки в заметке
Пример рабочего процесса
Немного обобщающей информации
Перед тем как я распишу пример рабочего процесса, стоит немного в общих чертах вспомнить о самых ключевых вещах, которые я вам насоветовал.
Для начала у вас должна появиться первая точка входа
я предложил использовать dashboard
с неё мы всегда начинаем свою работу
в этой точке входа у вас находятся ссылки на библиотеки разных источников
Я навязал вам мысль сделать журнал
в нем мы пишем о своей жизни
также в него мы выносим задачи, которые актуальны в рамках базы знаний
Я предложил вам автоматизировать библиотеки источников
источники мы создаем кнопками (buttons)
к каждому источнику присваивается статус
wip – самый важный статус, т.к. именно он будет определять, чем вы займетесь дальше
todo – мы что-то нашли, нам что-то порекомендовали, мы это добавили в список ожидания (выкидывать тоже из него не забывайте)
done – то, с чем мы намучились и что достаточно подробно изучили
именно по библиотекам мы ориентируемся на какую заметку жамкнем и начнем свою умственную работу
я вам НЕ рекомендовал в статье создавать карту контента, категории и прочее (просто напоминаю вам, что этим вы займётесь намного позже)
Я вам предложил разные оптимизации и визуальные докручивания, которые вы вольны использовать или не использовать
Рабочий процесс
Далее я напишу длиннющий иерархический список последовательности действий (т.е. методом outliner), который, как я думаю, неплохо поможет понять как устроен рабочий процесс в рамках того, что вы только что-то накрутили в своей системе.
Процесс написан для супермена, который имеет в сутках больше 24 часов. Так что поймите сразу, что вы будете его повторять не целиком, а будете в каждом подходе вклиниваться в какие-то его конкретные части.
Естественно думать, что он у вас может сложиться как-то по-другому. Вероятнее всего, вы его видоизмените, оптимизируете, докрутите под свои нужды по ходу дела. Я лишь просто реализовал своё видение того как можно устроить рабочий процесс, когда вы только начинаете вести свою базу знаний.
Можете попробовать переработать этот алгоритм в какое-нибудь своё визуальное представление.
Если у вас появятся серьёзные претензии к тому как я вам предлагаю организовать рабочий процесс, то чёрт бы вас побрал... Я же сказал ещё в самом начале, что если у вас уже есть что-то работающее, то не читайте эту статью, она не для вас. Охх...
Начнем.
думаем чем-бы таким заняться...
открываем Obsidian
жмем сразу на календарь – сегодняшнюю дату
в заметке пишем что-то неформальное
как у нас стартанул/сложился день
что с нами случилось
какое у нас настроение
что мы заметили за собой
что-то психическое
здоровье
как там у других дела обстоят
может они чего интересного начали делать
или что-то сказали такое, что нам хотелось бы как-то обволочь своими мыслями
в ней же вы можете прорабатывать какие-то свои проблемы, которые, например, связаны
с привычками
с агрессией
с чрезмерной эмоциональностью
с недостатком осознанности в поведении
с планированием
с видением будущего
с пониманием прошлого
вы вольны также написать список дел на этот день, если вам это нужно
отмечаем трекеры, если они есть
приводим систему в начальное состояние
можем сделать это по хоткею, который назначили на домашнюю страницу
можем нажать на кнопку домика
(рекомендуемый способ) с помощью встроенного плагина "Workspaces"
в нём вы можете сохранить какие-то другие часто используемые раскладки
Кстати выглядеть ваш старт должен так:
далее вы жмете на заметку с inbox
смотрите и анализируете
inbox 📥
если есть заметки, которые можно отнести к каким-то источникам/заметкам, то создаем ссылку (и не забываем снять тег)
если вы не можете отнести входящие заметки к каким-то источникам/заметкам и у вас ещё не выстроились категории, то просто оставьте эти заметки ещё на какое-то время
пусть копятся
если вы уже не первую неделю видите одни и те же заметки и вы ничего не можете с ними сделать, то удалите их. причины следующие
возможно они слишком банальны
зачем вам какие-то очевидные и скучные вещи в вашей базе знаний?
возможно они слишком сложны
вы не можете проследить явно связи, а притягивать за уши что-то не шибко полезно для базы знаний
хотя вы можете попробовать связать какую-то сложную заметку с подписью типа "возможно это как-то связано с..."
возможно они просто бесполезны, ибо не несут какой-то идеи, цепляющей мысли (самый частый вариант)
возможно они относятся к каким-то таким направлениям, которые вы ещё не начали изучать, потому вам не приходит в голову мысль с чем их можно связать
вообще говоря, эта ситуация является жирным намеком на то, что вам прям рекомендуется (я бы даже сказал обязательно нужно) исследовать какие-то вещи последовательно, переходя от одного источника к другому, кои не оторваны по теме и направлению
неатомизированные заметки или ожидающие обработки (тег ⚛)
просто смотрите на те заметки, которые вам интересны, переходите на них и пытайтесь в них разбить идеи, мысли и т.д. на независимые заметки
описание этого процесса будет немного дальше по тексту
несвязанные заметки (orphan notes)
в системе не должно быть несвязанных заметок
переходите, смотрите почему они не связаны
досвязывайте
или удаляйте
если вы обогнали этот цикл статей у вас есть какая-то система повторений (например, вы реализовали плагин spaced repetition), то пройдитесь по всем отмеченным заметкам, повторите их, дошлифуйте формулировки и связи, если необходимо
выберете по какому источнику хотите работать
попереходите в свои каталоги источников
смотрите, что там у вас wip и залетайте в то, что сейчас вам интереснее всего
hotkey: ctrl+o – поиск по названию
если вы знаете куда вам надо, то логичнее и быстрее всего заходить туда из поиска
напомню, что у вас есть aliases с символами. если вы сделали так как я предложил, то символы следующие
$
– видео%
– фильмы&
– книги;
– статьи{
– курсы' – подкасты
подробно алгоритм работы с источниками в контексте рабочего процесса будет разобран далее
если вы забыли формальный алгоритм обработки источников, то посмотрите свою справку (или заметку, которую предложил вам я со схемой mermaid)
(подробно я разберу рабочий процесс только для одного типа заметок – книг, так как он самый объемный и в нем по сути содержатся все подпроцессы для других типов источников)
создание и обработка книги
положим, что вы решили создать новый источник с нуля. нажмите кнопочку, чтобы создать book
если вы не можете найти книгу с помощью плагина, то создайте заметку из шаблона
hotkey: ctrl+n – создать заметку из шаблона
если у вас сломались кнопочки, то создайте с помощью команды
все команды отображены в схеме mermaid
hotkey: ctrl+p – палитра команд
эту заметку я буду называть "заметка-источник"
подкорректируйте эту заметку
исправьте ссылки
добавьте картинку
самое главное найдите pdf и вставьте его в заметку
откройте pdf из подменю Obsidian
(на всякий случай напомню) наведите мышку на ссылку pdf и нажмите правую кнопку мыши
open in default app
(если вы ещё не понимаете зачем так много всяких разных метаданных, зачем картинка и pdf отображены в источнике, то я вам отвечу зачем – потому что так вы компенсируете то, что не используете Zotero)
(а ещё для того, чтобы у вас заработала автоматизация)
алгоритм работы с книгой
1-ый раз – просмотровое чтение
быстро читаете главу (или просто небольшой кусок текста), ни на что не отвлекаетесь, никуда не переходите
отвечаете в самых общих чертах на вопрос "что я только что прочитал?"
2-ой раз – расстановка меток
выделяем текст разными цветами
зеленый – то, что надо переработать (фактически основные мысли текста)
оранжевый – полезная справочная информация, которую стоит записать
желтый – нужно перейти по указанным ссылкам или просто указать эти ссылки в заметке
розовый (фиолетовый) – красивые обороты, то что стоит перенести в свою базу без изменений
3-ий раз – конспект (наконец-то Obsidian)
в заметке-источнике создайте заметку "конспекты по книге Название_книги"
на основе оглавления книги, создайте заметки призраки, в которых у вас будут лежать конспекты
так вы поймете какой у вас будет следующий шаг, да и лучше поймете о чем в целом будет книга
если книга небольшая, то можете создать для всех глав призраки, чтобы прям четко видеть свой прогресс
названия для конспектов глав должны быть
некороткими
если название у главы "симметрия", то переделайте его, например, в "симметрия стереоизомеров и влияние её на биологические процессы"
без фиговен типа
"глава 1..."
"часть 1.1.1..."
эту структуру вы можете использовать в самой заметке "конспекты по книге Название_книги", чтобы как-то формализовать структуру
обозначить это можно, например заголовками
(для других источников обычно нет необходимости создавать отдельную заметку для конспектов)
заходите в заметку по соответствующей прочитанной главе и начинайте писать конспект
я вам этого ещё нигде не говорил... думаю, что пора... вы можете читать книгу в той последовательности, в какой считаете нужным. более того, вы можете читать только те главы, которые вам наиболее интересны или которые вам нужны для работы, проектов и прочего
конспект вы формируете на основе меток, которые оставили
поглядываете на метки
формируете на их основе свои видение и его отражаете в конспекте
когда конспект сделан, то вам стоит его перечитать и возможно придать некоторую дополнительную структурированность
например, разбить заголовками на несколько частей
всё... оставьте конспект на какое-то время (день, два, месяц – без разницы)
сделайте пометку, что он готов к атомизации (тег ⚛)
атомизация (рефакторинг)
вы оставили конспект на какое-то время, чтобы у вас не появилось на последующем этапе атомизации чувства, ощущения или мысли, что ваш конспект испещрён какими-то очевидностями, а потому в нем нет никакой пользы. это ощущение очевидности, вообще говоря, рождается из того, что вы только-только прочитали и обобщили (частично даже скопировали – не точь-в-точь, но основную суть) какие-то мысли и у вас ещё не было возможности охладеть к собственному видению, чтобы посмотреть на него более отстранено, более объективно
на этом этапе вы вчитываетесь в собственные мысли и пытаетесь их привести в какой-то вменяемый вид
смысл же конспекта также в том, что вы можете к нему обратиться позже, чтобы восстановить какое-то понимание, видение, чтобы спровоцировать себя на какие-то нужные ассоциации
если в нем будет недостаточно смыслового клея, то вы не сможете до конца понять написанное (причем, кстати, не сможете понять самого себя, что забавно)
так что доведите формулировки в конспекте до вменяемого состояния
теперь самое сложное – атомизация
в конспектах вам нужно найти
самые главные – ключевые идеи
самые плодовитые идеи
самые неординарные мысли
полезные мысли и идеи, которые, как вы думаете, сможете использовать в каких-то иных местах
все найденные вышенаписанные мысли вам нужно превратить в отдельные независимые заметки
hotkey: ctrl+k – создать призрак заметки из выделенного текста (выделить скобочками)
hotkey: ctrl+shift+k – сделать то же самое, но выделенный текст поместить через разделитель "|" как отображаемый
hotkey: alt+f – создать заметку из выделенного текста, где первая строчка – название заметки (наверное, чаще всего вы будете делать именно так)
hotkey: ctrl+] – создать заметку из заголовка
hotkey: ctrl+[ – создать (совместить) заметку из выделенного текста с заданным названием (с другой заметкой)
hotkey: ctrl+enter – перейти (создать) на заметку под курсором
конспект при этом пострадать не должен, так что восстановите в нем смысл
например, интегрируйте ваши атомные заметки с помощью вставки
нет ничего плохого, если у вас, например, целый абзац стал отдельной заметкой и вы её целиком обратно вставили в конспект
связывание
по первой тут все просто
связываете заметки из конспектов между собой какими-то логическими и обоснованными связями
щелкаете по вашим другим каким-то источникам и находите в них связанные мысли
ищете и связываете
с помощью поиска по названию
hotkey: ctrl+o – поиск по названию
с помощью полнотекстового поиска
hotkey: ctrl+shift+f – полнотекстовый поиск
вероятно вы сможете найти много связей по памяти
по ходу работы с конспектами настоятельно рекомендую выносить ваши атомные заметки в заметки-источники
это поможет вам быстро понять о чем источник без чтения конспектов и самого источника в будущем
все структуры, которые вы сделаете в заметке-источнике помогут вам
в построении своей карты контента
на их основе легче делать мета-заметки, писать черновики, использовать для проектов
если у вас появились какие-то идеи или вы вспомнили о каких-то других заметках, которые можно добавить в конспект, то обязательно добавляйте их. сейчас для вас именно конспекты являются основными поставщиками связей (позже станет всё немного по-другому)
"медитируйте"
по ходу интеллектуальной работы
обращайтесь почаще к журналу
пишите ваши наблюдения в свободной форме
записывайте задачи по базе знаний
не бойтесь сделать что-то неправильно
время вас поправит
вы в любом случае должны сделать эти ошибки, чтобы так или иначе на них научиться
оптимизируйте процесс, чтобы в нем вам приходилось делать меньше скучных, однотипных шагов и больше в которых нужно что-то созидать и обдумывать
не торопитесь
если вы будете действиями (например, плагинами и формированием сложной логики) обгонять свое понимание уж совсем чересчур, то со временем вы потеряетесь в большом количестве бессмысленных блужданий
вы делаете заметки, чтобы как-то их использовать
создавайте вечнозеленые заметки (тег 🌲)
они вам нужны, чтобы ориентироваться ни сколько в собственных заметках, а сколько в собственной жизни
выносите в них какие-то полезные принципы, практики, вдохновляющие идеи
формируйте из них какие-то вечно актуальные заметки
например
различные способы принятия взвешенных решений
планирование и организация различных процессов
практики по захвату и управлению миром
сюда же вы можете отнести какие-то тематические заметки, которые вам часто помогают в работе и проектах
пилите проекты
создавайте на основе ваши заметок какие-то прототипы
экспериментируйте с мыслями
кратко говоря, растите и развивайтесь с помощью ведения своей базы знаний
Итог
Ну и терпение же у вас...
Думаю, что вы смогли уловить основную суть того как можно начать вести свою базу знаний. Если же вам наоборот кажется, что все это ужасно сложно и непонятно, то ничего страшного. Потыкаете, покрутите, попереключаете всякие кнопочки, создадите первый десяток заметок, так и разберетесь.
Стоит ещё заметить, что я эту статью написал в том в виде, в каком сам бы хотел её прочитать. Поэтому, если мы с вами не сошлись эфирными волнами в резонансе, то, упс.
Кстати, вышенаписанная логика относится и к случаю, если у вас есть какое-то другое видение того как стоит развивать свою базу знаний. В целом вы, конечно, можете попробовать начать критиковать и навязывать свой вариант. Однако лучше, наверное, было бы, если вы смогли сказать как можно оптимизировать эту систему и самое главное как сделать её более гибкой. Такое предложение вызвано тем, что я так и не смог придумать какого-то вменяемого, хорошо связанного ответа на вопрос "что делать, если в базе уже есть много каких-то слабосвязанных заметок?".
Следующая статья будет являться коротким обзором о том, как ещё можно вести свою базу знаний:
как можно сделать её визуальной
как добавить в неё гибкую иерархичность
как реализовать интервальное повторение
и некоторые другие полезные вещи
На этом пока что всё.
Задать вопрос или как-то расширить эту статью своим комментарием вы также можете в telegram-канале.
Если статья принесла вам пользу и вы в ответ хотите выразить свою благодарность в материальном виде, то можете сделать это вот тут или с помощью кнопки "Задонатить" (смотрите ниже).