11 KiB
Card Columns для Obsidian Bases
- Источник:
src/pages/cases/card-columns-obsidian.html - eyebrow: Obsidian Bases · Plugin
- meta description: Как я создал Card Columns для Obsidian Bases: группировка заметок по свойствам, фильтрация тегов AND/OR и перенос карточек между колонками.
Канбан-доска для Obsidian Bases с фильтрацией и перетаскиванием
Card Columns: группировка по свойствам, быстрый отбор тегов AND/OR.
На скриншоте моя база Links: Obsidian показывает 196 результатов.
Я разработал Card Columns, дополнительный вид карточек для Obsidian Bases. Штатный Cards показывал заметки сеткой, а мне был нужен вид с колонками. В готовых плагинах я не нашёл подходящего сценария, поэтому сделал свой. Плагин опубликован в каталоге Obsidian Community. Код открыт по лицензии MIT.
Ещё один вид карточек для Bases
В Obsidian Bases я настраиваю запрос через интерфейс и выбираю, как показать результат: таблицей, списком или карточками. Card Columns добавляет ещё один карточный вид: раскладывает заметки по колонкам на основе выбранного свойства.
Сортировку, фильтры, поиск и набор свойств задаю в штатном тулбаре Bases. Columns использует эту выборку и меняет способ её отображения. При просмотре заметки остаются без изменений. Перетаскивание карточки обновляет свойство, по которому построены колонки.
Сначала сгруппировать, потом отобрать
В тулбаре Bases выбираю Group by: тег, статус, категорию или другое свойство. Если группу не задать, Columns группирует по тегам. Меняю Group by, и колонки перестраиваются.
Мне нужна была одна карточка сразу в нескольких столбцах. Например, ссылка с тегами «Инструменты» и «AI» появляется в обеих колонках. В базе фильмов одна и та же карточка может попасть в «Комедии» и «Семейные». Готовые плагины, которые я пробовал, такого сценария не решали. Поэтому я сделал Columns. Так заметку не нужно дублировать: она видна в каждой подходящей группе.
Пилюли тегов стоят под тулбаром, рядом с доской. Обычный клик оставляет один тег, а следующий добавляет ещё один по OR. Ctrl+клик или правый клик включает и выключает отдельный тег, не сбрасывая остальные. В режиме OR достаточно совпадения с одним выбранным тегом. AND оставляет заметки, где есть все выбранные теги. All сбрасывает отбор.
Фильтр по тегам уточняет уже полученную выборку. Штатный Filter задаёт основные условия через тулбар, а пилюли позволяют быстро выбрать нужную комбинацию, не уходя с доски.
Карточка показывает нужные поля
Какие поля попадут на карточку, выбираю в штатном списке Properties. Первое свойство становится заголовком, остальные показываются чипами: текст, теги, ссылки, булевы значения и даты. Grid собирает свойства с короткими значениями в компактную сетку, Stack располагает их друг под другом. Для длинных значений можно включить перенос, а даты показывать в нужном формате. Так карточка показывает выбранные для конкретной базы поля, не меняя сами заметки.
Если для базы нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного свойства frontmatter. В настройках задаю пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), способ вписывания и место на карточке. Карточку можно открыть в активной панели, модальном окне, новой вкладке или сплите. В сплите обычный клик открывает заметку в панели рядом с доской, а Ctrl+клик добавляет вкладку в эту панель. Доска остаётся на месте, и контекст выборки не теряется.
Интерфейс в стиле Obsidian
Интерфейс Columns я проектировал и собирал прямо в коде, без Figma и других редакторов. Ориентировался на дизайн-систему Obsidian, чтобы вид воспринимался частью приложения.
Перетаскивание меняет свойство заметки
В версии 0.9.0 карточки можно перемещать между колонками. При переносе Columns через API Obsidian processFrontMatter() меняет frontmatter-свойство, по которому построена группировка. На статусной доске перенос меняет статус заметки. Если свойство хранит список, плагин заменяет перенесённое значение и сохраняет остальные значения.
Перетаскивание включено по умолчанию, но в General его можно отключить. Тогда Columns останется видом для обзора, без правок свойств перетаскиванием.
Настройки сгруппированы по типу
Разделы General, Title, Properties и Cover собраны по типу параметров, чтобы нужное было проще найти. В General задаю ширину карточек, число колонок в группе (от 1 до 6) и их порядок. Можно оставить автоматический порядок или задать его вручную; пустые колонки при этом остаются на месте. Например, колонка Done не исчезнет, даже если в ней пока нет карточек.
Сетка раскладывает карточки рядом, masonry заполняет пустоты по вертикали, а зебра помогает следить за колонками на широком экране. Для заголовков, чипов, дат и обложек есть отдельные параметры.
От разработки к публикации
Разработку веду с помощью Hermes Agent. Исходный код хранится на VPS агента, а собранная версия синхронизируется на мой ноутбук. Там я проверяю плагин в своём vault.
Если всё работает, агент через настроенные скрипты отправляет изменения в Gitea и GitHub. Публикацию новой версии в каталоге Obsidian Community я запускаю сам.
Результат: доска внутри Obsidian Bases
Card Columns оставляет заметки в Bases, но меняет способ их обзора: я задаю группировку, отбираю теги и открываю карточки рядом с доской. Когда нужно сменить статус, перетаскивание обновляет свойство, по которому построены колонки.
К концу сентября 2026 года плагин набрал 846 органических загрузок в каталоге Obsidian Community. Там указана версия 0.9.0. На GitHub у Card Columns 4 звезды и два обращения: сообщение об ошибке закрыто, а запрос на выбор свойства обложки пока открыт. Некоторые предложенные доработки уже вошли в релизы. Плагин работает с Obsidian 1.8.0 и новее на компьютерах и мобильных устройствах, лицензия MIT.
Для меня главный результат в том, что карточки стало удобнее представлять и просматривать. Я выбираю нужные поля и группировку, а одна заметка может появиться в нескольких подходящих колонках. Перетаскивание отдельно меняет свойство, и его можно отключить.
Медиа
Скриншоты и скринкасты взяты из репозитория Card Columns и лежат в public/assets/card-columns-obsidian/:
overview.webp- обзор базы Links, обрезан по краям на 4 px;filter-use.webp- постер фильтрации тегами, обрезан по краям на 4 px;filter-use.webm- демонстрация OR/AND;view-configure.webp- постер настроек вида;view-configure.webm- демонстрация настроек.
Источники фактуры
- Репозиторий Card Columns, версия
0.9.0:README.md,manifest.json,main.ts. - Карточка плагина в Obsidian Community: версия, совместимость и число загрузок.
- GitHub: звёзды и история issues.
- Скриншот обзора показывает 196 результатов в базе Links.