diff --git a/public/cases/card-columns-obsidian/index.html b/public/cases/card-columns-obsidian/index.html index d9ef4f9..38a27ab 100644 --- a/public/cases/card-columns-obsidian/index.html +++ b/public/cases/card-columns-obsidian/index.html @@ -262,6 +262,10 @@ padding-top: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--text) 14%, transparent); } + .case-block#kartochki, + .case-block#rezultat { + border-top: 0; + } .case-block:first-of-type { margin-top: 0; padding-top: 0; @@ -427,7 +431,7 @@
Obsidian Bases · Plugin
Card Columns: группировка по свойствам,
@@ -440,52 +444,44 @@
- Card Columns - мой плагин-вид для Obsidian Bases. Я спроектировал и разработал его сам: - хотел видеть заметки колонками, а не искать нужные в длинной ленте штатного Cards. Плагин - опубликован в каталоге Obsidian Community, - исходный код открыт по лицензии MIT. + Я разработал Card Columns, вид для Obsidian Bases. Штатный вид Cards выводил заметки длинной лентой, + а мне хотелось разложить их по группам. Плагин опубликован + в каталоге Obsidian Community. + Код открыт по лицензии MIT.
- Файл .base описывает запрос к заметкам в vault: какие записи показать и какие
- свойства вывести. Штатный вид Cards в моей базе складывал результаты в длинную ленту.
- Я хотел видеть ту же выборку по группам, например по статусу или тегу.
+ Файл .base хранит запрос к заметкам в vault: что показать и какие свойства вывести.
+ В моей базе штатный вид Cards превращал результат в длинную ленту. Я хотел видеть те же заметки
+ по группам, например по статусу или тегу.
- Columns подключается как ещё один BasesView и получает результат запроса. Сортировка,
- фильтры, набор свойств и поиск остаются за штатным тулбаром. Я не стал заводить отдельную
- доску: заметки и настройки запроса остаются в Bases, плагин меняет только их представление.
+ Columns подключается к Bases как ещё один вид и получает результат запроса. Сортировку,
+ фильтры, свойства и поиск по-прежнему задаю в штатном тулбаре. Заметки остаются в vault,
+ а запрос хранится в файле .base. Columns меняет только способ показа результата.
- Группировку настраиваю через Group by в тулбаре Bases: по тегу, статусу, категории или - любому frontmatter-свойству. Если свойство не задано, Columns группирует по тегам. Колонки - строятся из значений выбранного свойства, а исходный запрос остаётся тем же. Одна база - подходит для разных разрезов: меняю только группировку. + В тулбаре Bases задаю Group by: тег, статус, категорию или другое frontmatter-свойство. + Если ничего не указать, Columns группирует по тегам. Меняю Group by, и колонки перестраиваются. + Условия запроса при этом не трогаю. Если у свойства несколько значений, заметка попадает + в каждую соответствующую колонку, а не теряет остальные группы.
- Теги для быстрого отбора вынесены отдельными пилюлями под тулбаром. Щёлкнул один раз, - оставил этот тег. Выбрал следующий, добавил его по OR. Для точного переключения использую - Ctrl+клик или правую кнопку мыши, а кнопкой OR/AND меняю логику отбора: + Пилюли тегов стоят под тулбаром, рядом с доской. Обычный клик оставляет один тег, а следующий + добавляет ещё один по OR. Ctrl+клик или правый клик включает и выключает отдельный тег, не + сбрасывая остальные. В режиме OR достаточно совпадения с одним выбранным тегом. AND оставляет + заметки, где есть все выбранные теги. All сбрасывает отбор.
- Эти пилюли не заменяют Filter в тулбаре. Bases формирует исходную выборку, а теговый фильтр - сужает её уже внутри Columns. Так я не меняю запрос, когда нужно быстро посмотреть подмножество. -
-
- Фильтр остаётся перед глазами вместе с доской. Модальное окно здесь только мешало бы:
- пришлось бы закрывать его, чтобы проверить результат.
+ Пилюли сужают текущую выборку, но не записывают условия в файл .base. Для
+ сохранённых условий остаётся штатный Filter. Теговый фильтр нужен для быстрого просмотра
+ вариантов, поэтому он всегда рядом с доской.
- Состав карточки задаётся штатным списком Properties. Первое выбранное свойство становится - заголовком, остальные отображаются чипами: текст, теги, ссылки, булевы значения и даты. - Для чипов можно выбрать вертикальный стек или компактную сетку, настроить перенос и формат даты. + Какие поля попадут на карточку, выбираю в штатном списке Properties. Первое свойство становится + заголовком, остальные показываются чипами: текст, теги, ссылки, булевы значения и даты. + Grid собирает свойства с короткими значениями в компактную сетку, Stack располагает их друг + под другим. Для длинных значений можно включить перенос, а даты показывать в нужном формате. + Так карточка показывает выбранные для конкретной базы поля, не меняя сами заметки.
- Если базе нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного - frontmatter-свойства. Можно настроить пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), вписывание - и место обложки. Карточка открывается в активной панели, модальном окне, новой вкладке или - сплите. В сплите обычный клик переиспользует панель, Ctrl+клик открывает новую вкладку. - Так можно читать заметку рядом с доской и не терять контекст выборки. + Если для базы нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного + свойства frontmatter. В настройках задаю пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), способ вписывания + и место на карточке. + Карточку можно открыть в активной панели, модальном окне, новой вкладке или сплите. + В сплите обычный клик открывает заметку в панели рядом с доской, а Ctrl+клик добавляет вкладку + в эту панель. Доска остаётся на месте, и контекст выборки не теряется.
- В релизе 0.9.0 карточку можно перетащить в другую колонку, и Columns обновит
- frontmatter-свойство, по которому построена группировка, через API
- Obsidian processFrontMatter(). Если колонки собраны по статусу, после переноса
- меняется именно статус заметки. Если в свойстве несколько значений, старое убирается,
- новое добавляется, остальные сохраняются.
+ В версии 0.9.0 карточки можно перемещать между колонками. При переносе Columns через API
+ Obsidian processFrontMatter() меняет frontmatter-свойство, по которому построена
+ группировка. На статусной доске перенос меняет статус заметки. Если свойство хранит список,
+ плагин заменяет перенесённое значение и сохраняет остальные значения.
- Я оставил этот сценарий настраиваемым. Drag-and-drop включён по умолчанию, но его можно - отключить в General. Так пользователь сам выбирает: только смотреть на группы или менять - значение свойства прямо с доски. + Перетаскивание включено по умолчанию, но в General его можно отключить. Тогда Columns останется + видом для обзора, без правок свойств перетаскиванием.
- У вида четыре группы настроек: General, Title, Properties и Cover. В них задаются ширина - карточек, число колонок внутри группы (от 1 до 6), порядок колонок, зебра и masonry. - Порядок можно оставить автоматическим или задать вручную; пустые колонки в этом списке - сохраняются. Сетка показывает несколько карточек рядом, masonry заполняет вертикальные - пустоты, а зебра помогает не сбиться при чтении широкой доски. Отдельно настраиваются заголовки, чипы, даты - и обложки. Один вид подстраивается под разные базы, а не наоборот. + Настройки собраны в четырёх группах: General, Title, Properties и Cover. В General задаю + ширину карточек, число колонок в группе (от 1 до 6) и их порядок. Можно оставить автоматический + порядок или задать его вручную; пустые колонки при этом остаются на месте. Например, колонка + Done не исчезнет, даже если в ней пока нет карточек. +
++ Сетка раскладывает карточки рядом, masonry заполняет пустоты по вертикали, а зебра помогает + следить за колонками на широком экране. Для заголовков, чипов, дат и обложек есть отдельные + параметры. Так один и тот же вид подходит разным базам.
Card Columns оставляет заметки в Bases, но меняет способ их обзора: я задаю группировку, - отбираю теги и открываю карточки рядом с доской. Когда нужна смена статуса, перетаскивание - правит то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться - Columns в своей базе: заметки остаются в vault, отдельную доску синхронизировать не нужно. + отбираю теги и открываю карточки рядом с доской. Когда нужно сменить статус, перетаскивание + обновляет то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться + Columns в своей базе: отдельную доску синхронизировать не нужно.
- На скриншоте моя база Links: Obsidian показывает 196 результатов. Плагин уже опубликован - в каталоге Obsidian Community. На момент обновления кейса там указаны версия 0.9.0 и - 846 загрузок; поддерживаются Obsidian 1.8.0+, Desktop и Mobile, лицензия MIT. + Время поиска до и после я не замерял, поэтому цифры экономии не привожу. +
++ На момент подготовки кейса карточка Obsidian Community показывала версию 0.9.0 и 846 загрузок. + Плагин работает с Obsidian 1.8.0 и новее на компьютерах и мобильных устройствах. Лицензия MIT.
diff --git a/public/en/cases/card-columns-obsidian/index.html b/public/en/cases/card-columns-obsidian/index.html index 08549cb..08ee715 100644 --- a/public/en/cases/card-columns-obsidian/index.html +++ b/public/en/cases/card-columns-obsidian/index.html @@ -262,6 +262,10 @@ padding-top: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--text) 14%, transparent); } + .case-block#cards, + .case-block#rezultat { + border-top: 0; + } .case-block:first-of-type { margin-top: 0; padding-top: 0; @@ -441,52 +445,43 @@- Card Columns is my view plugin for Obsidian Bases. I designed and built it myself because I wanted - to scan notes in columns instead of searching through the standard Cards feed. The plugin is - available in the Obsidian Community directory + I designed and built Card Columns as a view for Obsidian Bases. The built-in Cards view showed + my notes as a long feed. I wanted a board where I could scan them by status or tag. The plugin is listed in + Obsidian Community directory and is open source under the MIT license.
- A .base file describes a query over notes in the vault: which entries to show and
- which properties to display. In my database, Obsidian’s built-in Cards view produced a long
- feed. I wanted to see the same results grouped by a property such as status or tag.
+ A .base file stores a query over the vault: which notes to show and which properties
+ to display. In my database, the built-in Cards view returned a long feed. I wanted to see those
+ notes grouped by status or tag.
- Columns registers as another BasesView and receives the query results. Sorting, filters, visible
- properties, and search stay in the native toolbar. I chose not to create a separate board: the
- notes and query settings remain in Bases; the plugin changes only how they are displayed.
+ The plugin registers as another Bases view and receives the query results. Bases still handles sorting,
+ filters, visible properties, and search in its native toolbar. Notes stay in the vault, while the
+ query stays in the .base file. Columns only changes how the results are displayed.
- I set grouping through Group by in the Bases toolbar: tags, status, category, or any frontmatter - property. If none is selected, Columns groups by tags. The columns use that property’s values; - the underlying query stays the same. To view the database from another angle, I only change - its grouping. + In the Bases toolbar, I choose Group by and select a tag, status, category, or another frontmatter + property. With no property selected, Columns groups by tags. Changing Group by reshapes the columns, + but leaves the Bases query alone. If a property has several values, a note appears in each + matching column instead of losing its other groups.
- I put tag filters right below the toolbar. Click one tag to keep only notes with it. Click another - to add it in OR mode. Ctrl-click or right-click toggles one tag without clearing the rest, and - the OR/AND control changes how multiple selections combine: + Tag pills sit under the toolbar, beside the board. A regular click filters to that tag; clicking + another adds it in OR mode. Ctrl-click or right-click toggles one tag without clearing the rest. + OR/AND switches between matching any selected tag and matching all of them. All clears the filter.
- These pills do not replace Filter in the toolbar. Bases creates the initial result set; the tag - filter narrows it inside Columns. I can inspect a subset without changing the underlying query. -
-
- The filter stays visible beside the board. A modal would interrupt the flow: I would have to close
- it just to check what changed.
+ Tag pills narrow the current Bases results without writing conditions to the .base file.
+ The native Filter remains the place for saved query conditions. I kept the pills beside the board
+ so each click updates the view in place.
- The card contents follow the native Properties selection. The first selected property becomes - the title; the rest appear as chips: text, tags, links, booleans, and dates. Chips can use a vertical - stack or compact grid, with configurable wrapping and date formats. + I choose visible fields from the native Properties list. The first selected property becomes the + title; the rest appear as chips: text, tags, links, booleans, and dates. Properties chips can be + stacked vertically or arranged in a compact grid. I can also set wrapping for multi-line values and + date formats. The cards show the fields selected for each database without changing the notes themselves.
- When a database needs covers, Columns can use the first image in a note or a chosen frontmatter - property. I can set the aspect ratio (Auto, 1:1, 3:2, 4:3, or 16:9), fit, and position. Cards can - open in the active pane, a floating modal, a new tab, or a split pane. In a split, a click reuses - the pane; Ctrl-click opens a new tab. That keeps the note beside the board without losing the - current query context. + For a cover, I can use the first image in a note or a frontmatter property value. The settings control + its aspect ratio (Auto, 1:1, 3:2, 4:3, or 16:9), fit, and position. I can open a card in the + active pane, a modal, a new tab, or a split. In a split, a click reuses the pane; Ctrl-click opens + another tab in that pane. The board stays in view, so I can follow the current query.
- In version 0.9.0, a card can be dragged into another column. That movement changes data: Columns
- updates the frontmatter property used for grouping through Obsidian’s
- processFrontMatter() API. If the board is grouped by status, dropping a card into a
- different column changes that note’s status. For a multi-value property, the old value is removed,
- the new one is added, and the other values stay in place.
+ Version 0.9.0 supports moving cards between columns. When a card moves, Columns updates the
+ grouping property through Obsidian’s processFrontMatter() API. On a status board, that
+ changes the note’s status. If the property is a list, Columns replaces the moved value and leaves
+ the others intact.
- Drag-and-drop is enabled by default, but it can be turned off in General settings. The choice is - explicit: use the board to inspect groups, or edit the grouping property by moving a card. + Drag-and-drop is enabled by default. A switch in General settings turns it off, so the board will + not update frontmatter when cards move.
- The view has four settings groups: General, Title, Properties, and Cover. They cover card width, - one to six cards per group, column order, zebra striping, and masonry. Column order can be automatic - or set manually, with empty columns kept in place. The grid places cards side by side, - masonry fills vertical gaps, and zebra striping helps scan a wide board. Title style, - property chips, dates, and covers have their own controls. The view adapts to the database. + Settings are grouped into General, Title, Properties, and Cover. In General, I set card width, + one to six columns per group, and column order. I can leave the order automatic or set it manually; + the manual layout keeps empty columns in place. A lane such as Done stays visible even when it has + no cards yet. +
++ Grid layout places several cards side by side. Masonry fills vertical gaps, while zebra striping + makes a wide board easier to scan. Title style, property chips, dates, and covers have their own controls, + so the same view can fit different databases.
- Card Columns keeps notes in Bases but changes how I scan them: I choose a grouping, filter tags, - and open cards beside the board. When I need to change a status, dragging a card updates the same - frontmatter property that forms the columns. I still use Columns with my own database; notes stay - in the vault, so there is no separate board to keep in sync. + Card Columns keeps notes in Bases while changing how I browse them. I group the results, filter by tags, + and open cards beside the board. When I need to change a status, moving a card updates the same + frontmatter property used for grouping. I still use Columns in my own vault, so there is no separate + board to sync.
- The screenshot shows my Links database; Obsidian displays 196 results. The plugin is listed in - Obsidian Community. When I updated this case, the listing showed version 0.9.0 and 846 downloads; - it supports Obsidian 1.8.0+, desktop and mobile, under the MIT license. + I did not compare search times before and after, so I am not claiming a time saving. +
++ When I prepared this case, the Obsidian Community listing showed version 0.9.0 and 846 downloads. + The plugin supports Obsidian 1.8.0+ on desktop and mobile under the MIT license.
diff --git a/public/sitemap.xml b/public/sitemap.xml index e8ff2d7..e50a369 100644 --- a/public/sitemap.xml +++ b/public/sitemap.xml @@ -31,7 +31,7 @@- Card Columns is my view plugin for Obsidian Bases. I designed and built it myself because I wanted - to scan notes in columns instead of searching through the standard Cards feed. The plugin is - available in the Obsidian Community directory + I designed and built Card Columns as a view for Obsidian Bases. The built-in Cards view showed + my notes as a long feed. I wanted a board where I could scan them by status or tag. The plugin is listed in + Obsidian Community directory and is open source under the MIT license.
- A .base file describes a query over notes in the vault: which entries to show and
- which properties to display. In my database, Obsidian’s built-in Cards view produced a long
- feed. I wanted to see the same results grouped by a property such as status or tag.
+ A .base file stores a query over the vault: which notes to show and which properties
+ to display. In my database, the built-in Cards view returned a long feed. I wanted to see those
+ notes grouped by status or tag.
- Columns registers as another BasesView and receives the query results. Sorting, filters, visible
- properties, and search stay in the native toolbar. I chose not to create a separate board: the
- notes and query settings remain in Bases; the plugin changes only how they are displayed.
+ The plugin registers as another Bases view and receives the query results. Bases still handles sorting,
+ filters, visible properties, and search in its native toolbar. Notes stay in the vault, while the
+ query stays in the .base file. Columns only changes how the results are displayed.
- I set grouping through Group by in the Bases toolbar: tags, status, category, or any frontmatter - property. If none is selected, Columns groups by tags. The columns use that property’s values; - the underlying query stays the same. To view the database from another angle, I only change - its grouping. + In the Bases toolbar, I choose Group by and select a tag, status, category, or another frontmatter + property. With no property selected, Columns groups by tags. Changing Group by reshapes the columns, + but leaves the Bases query alone. If a property has several values, a note appears in each + matching column instead of losing its other groups.
- I put tag filters right below the toolbar. Click one tag to keep only notes with it. Click another - to add it in OR mode. Ctrl-click or right-click toggles one tag without clearing the rest, and - the OR/AND control changes how multiple selections combine: + Tag pills sit under the toolbar, beside the board. A regular click filters to that tag; clicking + another adds it in OR mode. Ctrl-click or right-click toggles one tag without clearing the rest. + OR/AND switches between matching any selected tag and matching all of them. All clears the filter.
- These pills do not replace Filter in the toolbar. Bases creates the initial result set; the tag - filter narrows it inside Columns. I can inspect a subset without changing the underlying query. -
-
- The filter stays visible beside the board. A modal would interrupt the flow: I would have to close
- it just to check what changed.
+ Tag pills narrow the current Bases results without writing conditions to the .base file.
+ The native Filter remains the place for saved query conditions. I kept the pills beside the board
+ so each click updates the view in place.
- The card contents follow the native Properties selection. The first selected property becomes - the title; the rest appear as chips: text, tags, links, booleans, and dates. Chips can use a vertical - stack or compact grid, with configurable wrapping and date formats. + I choose visible fields from the native Properties list. The first selected property becomes the + title; the rest appear as chips: text, tags, links, booleans, and dates. Properties chips can be + stacked vertically or arranged in a compact grid. I can also set wrapping for multi-line values and + date formats. The cards show the fields selected for each database without changing the notes themselves.
- When a database needs covers, Columns can use the first image in a note or a chosen frontmatter - property. I can set the aspect ratio (Auto, 1:1, 3:2, 4:3, or 16:9), fit, and position. Cards can - open in the active pane, a floating modal, a new tab, or a split pane. In a split, a click reuses - the pane; Ctrl-click opens a new tab. That keeps the note beside the board without losing the - current query context. + For a cover, I can use the first image in a note or a frontmatter property value. The settings control + its aspect ratio (Auto, 1:1, 3:2, 4:3, or 16:9), fit, and position. I can open a card in the + active pane, a modal, a new tab, or a split. In a split, a click reuses the pane; Ctrl-click opens + another tab in that pane. The board stays in view, so I can follow the current query.
- In version 0.9.0, a card can be dragged into another column. That movement changes data: Columns
- updates the frontmatter property used for grouping through Obsidian’s
- processFrontMatter() API. If the board is grouped by status, dropping a card into a
- different column changes that note’s status. For a multi-value property, the old value is removed,
- the new one is added, and the other values stay in place.
+ Version 0.9.0 supports moving cards between columns. When a card moves, Columns updates the
+ grouping property through Obsidian’s processFrontMatter() API. On a status board, that
+ changes the note’s status. If the property is a list, Columns replaces the moved value and leaves
+ the others intact.
- Drag-and-drop is enabled by default, but it can be turned off in General settings. The choice is - explicit: use the board to inspect groups, or edit the grouping property by moving a card. + Drag-and-drop is enabled by default. A switch in General settings turns it off, so the board will + not update frontmatter when cards move.
- The view has four settings groups: General, Title, Properties, and Cover. They cover card width, - one to six cards per group, column order, zebra striping, and masonry. Column order can be automatic - or set manually, with empty columns kept in place. The grid places cards side by side, - masonry fills vertical gaps, and zebra striping helps scan a wide board. Title style, - property chips, dates, and covers have their own controls. The view adapts to the database. + Settings are grouped into General, Title, Properties, and Cover. In General, I set card width, + one to six columns per group, and column order. I can leave the order automatic or set it manually; + the manual layout keeps empty columns in place. A lane such as Done stays visible even when it has + no cards yet. +
++ Grid layout places several cards side by side. Masonry fills vertical gaps, while zebra striping + makes a wide board easier to scan. Title style, property chips, dates, and covers have their own controls, + so the same view can fit different databases.
- Card Columns keeps notes in Bases but changes how I scan them: I choose a grouping, filter tags, - and open cards beside the board. When I need to change a status, dragging a card updates the same - frontmatter property that forms the columns. I still use Columns with my own database; notes stay - in the vault, so there is no separate board to keep in sync. + Card Columns keeps notes in Bases while changing how I browse them. I group the results, filter by tags, + and open cards beside the board. When I need to change a status, moving a card updates the same + frontmatter property used for grouping. I still use Columns in my own vault, so there is no separate + board to sync.
- The screenshot shows my Links database; Obsidian displays 196 results. The plugin is listed in - Obsidian Community. When I updated this case, the listing showed version 0.9.0 and 846 downloads; - it supports Obsidian 1.8.0+, desktop and mobile, under the MIT license. + I did not compare search times before and after, so I am not claiming a time saving. +
++ When I prepared this case, the Obsidian Community listing showed version 0.9.0 and 846 downloads. + The plugin supports Obsidian 1.8.0+ on desktop and mobile under the MIT license.
diff --git a/src/pages/cases/card-columns-obsidian.html b/src/pages/cases/card-columns-obsidian.html index 0c8050a..f34553e 100644 --- a/src/pages/cases/card-columns-obsidian.html +++ b/src/pages/cases/card-columns-obsidian.html @@ -54,6 +54,10 @@ padding-top: 2.5rem; border-top: 1px solid color-mix(in srgb, var(--text) 14%, transparent); } + .case-block#kartochki, + .case-block#rezultat { + border-top: 0; + } .case-block:first-of-type { margin-top: 0; padding-top: 0; @@ -114,7 +118,7 @@Obsidian Bases · Plugin
Card Columns: группировка по свойствам,
@@ -127,52 +131,44 @@
- Card Columns - мой плагин-вид для Obsidian Bases. Я спроектировал и разработал его сам: - хотел видеть заметки колонками, а не искать нужные в длинной ленте штатного Cards. Плагин - опубликован в каталоге Obsidian Community, - исходный код открыт по лицензии MIT. + Я разработал Card Columns, вид для Obsidian Bases. Штатный вид Cards выводил заметки длинной лентой, + а мне хотелось разложить их по группам. Плагин опубликован + в каталоге Obsidian Community. + Код открыт по лицензии MIT.
- Файл .base описывает запрос к заметкам в vault: какие записи показать и какие
- свойства вывести. Штатный вид Cards в моей базе складывал результаты в длинную ленту.
- Я хотел видеть ту же выборку по группам, например по статусу или тегу.
+ Файл .base хранит запрос к заметкам в vault: что показать и какие свойства вывести.
+ В моей базе штатный вид Cards превращал результат в длинную ленту. Я хотел видеть те же заметки
+ по группам, например по статусу или тегу.
- Columns подключается как ещё один BasesView и получает результат запроса. Сортировка,
- фильтры, набор свойств и поиск остаются за штатным тулбаром. Я не стал заводить отдельную
- доску: заметки и настройки запроса остаются в Bases, плагин меняет только их представление.
+ Columns подключается к Bases как ещё один вид и получает результат запроса. Сортировку,
+ фильтры, свойства и поиск по-прежнему задаю в штатном тулбаре. Заметки остаются в vault,
+ а запрос хранится в файле .base. Columns меняет только способ показа результата.
- Группировку настраиваю через Group by в тулбаре Bases: по тегу, статусу, категории или - любому frontmatter-свойству. Если свойство не задано, Columns группирует по тегам. Колонки - строятся из значений выбранного свойства, а исходный запрос остаётся тем же. Одна база - подходит для разных разрезов: меняю только группировку. + В тулбаре Bases задаю Group by: тег, статус, категорию или другое frontmatter-свойство. + Если ничего не указать, Columns группирует по тегам. Меняю Group by, и колонки перестраиваются. + Условия запроса при этом не трогаю. Если у свойства несколько значений, заметка попадает + в каждую соответствующую колонку, а не теряет остальные группы.
- Теги для быстрого отбора вынесены отдельными пилюлями под тулбаром. Щёлкнул один раз, - оставил этот тег. Выбрал следующий, добавил его по OR. Для точного переключения использую - Ctrl+клик или правую кнопку мыши, а кнопкой OR/AND меняю логику отбора: + Пилюли тегов стоят под тулбаром, рядом с доской. Обычный клик оставляет один тег, а следующий + добавляет ещё один по OR. Ctrl+клик или правый клик включает и выключает отдельный тег, не + сбрасывая остальные. В режиме OR достаточно совпадения с одним выбранным тегом. AND оставляет + заметки, где есть все выбранные теги. All сбрасывает отбор.
- Эти пилюли не заменяют Filter в тулбаре. Bases формирует исходную выборку, а теговый фильтр - сужает её уже внутри Columns. Так я не меняю запрос, когда нужно быстро посмотреть подмножество. -
-
- Фильтр остаётся перед глазами вместе с доской. Модальное окно здесь только мешало бы:
- пришлось бы закрывать его, чтобы проверить результат.
+ Пилюли сужают текущую выборку, но не записывают условия в файл .base. Для
+ сохранённых условий остаётся штатный Filter. Теговый фильтр нужен для быстрого просмотра
+ вариантов, поэтому он всегда рядом с доской.
- Состав карточки задаётся штатным списком Properties. Первое выбранное свойство становится - заголовком, остальные отображаются чипами: текст, теги, ссылки, булевы значения и даты. - Для чипов можно выбрать вертикальный стек или компактную сетку, настроить перенос и формат даты. + Какие поля попадут на карточку, выбираю в штатном списке Properties. Первое свойство становится + заголовком, остальные показываются чипами: текст, теги, ссылки, булевы значения и даты. + Grid собирает свойства с короткими значениями в компактную сетку, Stack располагает их друг + под другим. Для длинных значений можно включить перенос, а даты показывать в нужном формате. + Так карточка показывает выбранные для конкретной базы поля, не меняя сами заметки.
- Если базе нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного - frontmatter-свойства. Можно настроить пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), вписывание - и место обложки. Карточка открывается в активной панели, модальном окне, новой вкладке или - сплите. В сплите обычный клик переиспользует панель, Ctrl+клик открывает новую вкладку. - Так можно читать заметку рядом с доской и не терять контекст выборки. + Если для базы нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного + свойства frontmatter. В настройках задаю пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), способ вписывания + и место на карточке. + Карточку можно открыть в активной панели, модальном окне, новой вкладке или сплите. + В сплите обычный клик открывает заметку в панели рядом с доской, а Ctrl+клик добавляет вкладку + в эту панель. Доска остаётся на месте, и контекст выборки не теряется.
- В релизе 0.9.0 карточку можно перетащить в другую колонку, и Columns обновит
- frontmatter-свойство, по которому построена группировка, через API
- Obsidian processFrontMatter(). Если колонки собраны по статусу, после переноса
- меняется именно статус заметки. Если в свойстве несколько значений, старое убирается,
- новое добавляется, остальные сохраняются.
+ В версии 0.9.0 карточки можно перемещать между колонками. При переносе Columns через API
+ Obsidian processFrontMatter() меняет frontmatter-свойство, по которому построена
+ группировка. На статусной доске перенос меняет статус заметки. Если свойство хранит список,
+ плагин заменяет перенесённое значение и сохраняет остальные значения.
- Я оставил этот сценарий настраиваемым. Drag-and-drop включён по умолчанию, но его можно - отключить в General. Так пользователь сам выбирает: только смотреть на группы или менять - значение свойства прямо с доски. + Перетаскивание включено по умолчанию, но в General его можно отключить. Тогда Columns останется + видом для обзора, без правок свойств перетаскиванием.
- У вида четыре группы настроек: General, Title, Properties и Cover. В них задаются ширина - карточек, число колонок внутри группы (от 1 до 6), порядок колонок, зебра и masonry. - Порядок можно оставить автоматическим или задать вручную; пустые колонки в этом списке - сохраняются. Сетка показывает несколько карточек рядом, masonry заполняет вертикальные - пустоты, а зебра помогает не сбиться при чтении широкой доски. Отдельно настраиваются заголовки, чипы, даты - и обложки. Один вид подстраивается под разные базы, а не наоборот. + Настройки собраны в четырёх группах: General, Title, Properties и Cover. В General задаю + ширину карточек, число колонок в группе (от 1 до 6) и их порядок. Можно оставить автоматический + порядок или задать его вручную; пустые колонки при этом остаются на месте. Например, колонка + Done не исчезнет, даже если в ней пока нет карточек. +
++ Сетка раскладывает карточки рядом, masonry заполняет пустоты по вертикали, а зебра помогает + следить за колонками на широком экране. Для заголовков, чипов, дат и обложек есть отдельные + параметры. Так один и тот же вид подходит разным базам.
Card Columns оставляет заметки в Bases, но меняет способ их обзора: я задаю группировку, - отбираю теги и открываю карточки рядом с доской. Когда нужна смена статуса, перетаскивание - правит то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться - Columns в своей базе: заметки остаются в vault, отдельную доску синхронизировать не нужно. + отбираю теги и открываю карточки рядом с доской. Когда нужно сменить статус, перетаскивание + обновляет то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться + Columns в своей базе: отдельную доску синхронизировать не нужно.
- На скриншоте моя база Links: Obsidian показывает 196 результатов. Плагин уже опубликован - в каталоге Obsidian Community. На момент обновления кейса там указаны версия 0.9.0 и - 846 загрузок; поддерживаются Obsidian 1.8.0+, Desktop и Mobile, лицензия MIT. + Время поиска до и после я не замерял, поэтому цифры экономии не привожу. +
++ На момент подготовки кейса карточка Obsidian Community показывала версию 0.9.0 и 846 загрузок. + Плагин работает с Obsidian 1.8.0 и новее на компьютерах и мобильных устройствах. Лицензия MIT.
diff --git a/texts/cases/card-columns-obsidian.md b/texts/cases/card-columns-obsidian.md index f746b88..f1c0074 100644 --- a/texts/cases/card-columns-obsidian.md +++ b/texts/cases/card-columns-obsidian.md @@ -10,52 +10,49 @@ Card Columns: группировка по свойствам, быстрый о На скриншоте моя база Links: Obsidian показывает 196 результатов. -Card Columns - мой плагин-вид для Obsidian Bases. Я спроектировал и разработал его сам: хотел видеть заметки колонками, а не искать нужные в длинной ленте штатного Cards. Плагин опубликован в [каталоге Obsidian Community](https://community.obsidian.md/plugins/card-columns), исходный код открыт по лицензии MIT. +Я разработал Card Columns, вид для Obsidian Bases. Штатный вид Cards выводил заметки длинной лентой, а мне хотелось разложить их по группам. Плагин опубликован в [каталоге Obsidian Community](https://community.obsidian.md/plugins/card-columns). Код открыт по лицензии MIT. ## От запроса Bases к колонкам -Файл `.base` описывает запрос к заметкам в vault: какие записи показать и какие свойства вывести. Штатный вид Cards в моей базе складывал результаты в длинную ленту. Я хотел видеть ту же выборку по группам, например по статусу или тегу. +Файл `.base` хранит запрос к заметкам в vault: что показать и какие свойства вывести. В моей базе штатный вид Cards превращал результат в длинную ленту. Я хотел видеть те же заметки по группам, например по статусу или тегу. -Columns подключается как ещё один BasesView и получает результат запроса. Сортировка, фильтры, набор свойств и поиск остаются за штатным тулбаром. Я не стал заводить отдельную доску: заметки и настройки запроса остаются в Bases, плагин меняет только их представление. +Columns подключается к Bases как ещё один вид и получает результат запроса. Сортировку, фильтры, свойства и поиск по-прежнему задаю в штатном тулбаре. Заметки остаются в vault, а запрос хранится в файле `.base`. Columns меняет только способ показа результата. ## Сначала сгруппировать, потом отобрать -Группировку настраиваю через Group by в тулбаре Bases: по тегу, статусу, категории или любому frontmatter-свойству. Если свойство не задано, Columns группирует по тегам. Колонки строятся из значений выбранного свойства, а исходный запрос остаётся тем же. Одна база подходит для разных разрезов: меняю только группировку. +В тулбаре Bases задаю Group by: тег, статус, категорию или другое frontmatter-свойство. Если ничего не указать, Columns группирует по тегам. Меняю Group by, и колонки перестраиваются. Условия запроса при этом не трогаю. Если у свойства несколько значений, заметка попадает в каждую соответствующую колонку, а не теряет остальные группы. -Теги для быстрого отбора вынесены отдельными пилюлями под тулбаром. Щёлкнул один раз, оставил этот тег. Выбрал следующий, добавил его по OR. Для точного переключения использую Ctrl+клик или правую кнопку мыши, а кнопкой OR/AND меняю логику отбора: +Пилюли тегов стоят под тулбаром, рядом с доской. Обычный клик оставляет один тег, а следующий добавляет ещё один по OR. Ctrl+клик или правый клик включает и выключает отдельный тег, не сбрасывая остальные. В режиме OR достаточно совпадения с одним выбранным тегом. AND оставляет заметки, где есть все выбранные теги. All сбрасывает отбор. -Эти пилюли не заменяют Filter в тулбаре. Bases формирует исходную выборку, а теговый фильтр сужает её уже внутри Columns. Так я не меняю запрос, когда нужно быстро посмотреть подмножество. - -- первый тег оставляет только заметки с ним; -- следующий добавляет заметки с любым из выбранных тегов; -- Ctrl+клик или правый клик добавляет и снимает один тег, не сбрасывая остальные; -- OR/AND переключает условие между «любой из» и «все выбранные», All очищает выбор. - -Фильтр остаётся перед глазами вместе с доской. Модальное окно здесь только мешало бы: пришлось бы закрывать его, чтобы проверить результат. +Пилюли сужают текущую выборку, но не записывают условия в файл `.base`. Для сохранённых условий остаётся штатный Filter. Теговый фильтр нужен для быстрого просмотра вариантов, поэтому он всегда рядом с доской. ## Карточка показывает нужные поля -Состав карточки задаётся штатным списком Properties. Первое выбранное свойство становится заголовком, остальные отображаются чипами: текст, теги, ссылки, булевы значения и даты. Для чипов можно выбрать вертикальный стек или компактную сетку, настроить перенос и формат даты. +Какие поля попадут на карточку, выбираю в штатном списке Properties. Первое свойство становится заголовком, остальные показываются чипами: текст, теги, ссылки, булевы значения и даты. Grid собирает свойства с короткими значениями в компактную сетку, Stack располагает их друг под другом. Для длинных значений можно включить перенос, а даты показывать в нужном формате. Так карточка показывает выбранные для конкретной базы поля, не меняя сами заметки. -Если базе нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного frontmatter-свойства. Можно настроить пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), вписывание и место обложки. Карточка открывается в активной панели, модальном окне, новой вкладке или сплите. В сплите обычный клик переиспользует панель, Ctrl+клик открывает новую вкладку. Так можно читать заметку рядом с доской и не терять контекст выборки. +Если для базы нужны обложки, Columns возьмёт первую картинку из заметки или значение указанного свойства frontmatter. В настройках задаю пропорции (Auto, 1:1, 3:2, 4:3 или 16:9), способ вписывания и место на карточке. Карточку можно открыть в активной панели, модальном окне, новой вкладке или сплите. В сплите обычный клик открывает заметку в панели рядом с доской, а Ctrl+клик добавляет вкладку в эту панель. Доска остаётся на месте, и контекст выборки не теряется. ## Перетаскивание меняет свойство заметки -В релизе 0.9.0 карточку можно перетащить в другую колонку, и Columns обновит frontmatter-свойство, по которому построена группировка, через API Obsidian `processFrontMatter()`. Если колонки собраны по статусу, после переноса меняется именно статус заметки. Если в свойстве несколько значений, старое убирается, новое добавляется, остальные сохраняются. +В версии 0.9.0 карточки можно перемещать между колонками. При переносе Columns через API Obsidian `processFrontMatter()` меняет frontmatter-свойство, по которому построена группировка. На статусной доске перенос меняет статус заметки. Если свойство хранит список, плагин заменяет перенесённое значение и сохраняет остальные значения. -Я оставил этот сценарий настраиваемым. Drag-and-drop включён по умолчанию, но его можно отключить в General. Так пользователь сам выбирает: только смотреть на группы или менять значение свойства прямо с доски. +Перетаскивание включено по умолчанию, но в General его можно отключить. Тогда Columns останется видом для обзора, без правок свойств перетаскиванием. ### Настройки под разные базы -У вида четыре группы настроек: General, Title, Properties и Cover. В них задаются ширина карточек, число колонок внутри группы (от 1 до 6), порядок колонок, зебра и masonry. Порядок можно оставить автоматическим или задать вручную; пустые колонки в этом списке сохраняются. Сетка показывает несколько карточек рядом, masonry заполняет вертикальные пустоты, а зебра помогает не сбиться при чтении широкой доски. Отдельно настраиваются заголовки, чипы, даты и обложки. Один вид подстраивается под разные базы, а не наоборот. +Настройки собраны в четырёх группах: General, Title, Properties и Cover. В General задаю ширину карточек, число колонок в группе (от 1 до 6) и их порядок. Можно оставить автоматический порядок или задать его вручную; пустые колонки при этом остаются на месте. Например, колонка Done не исчезнет, даже если в ней пока нет карточек. + +Сетка раскладывает карточки рядом, masonry заполняет пустоты по вертикали, а зебра помогает следить за колонками на широком экране. Для заголовков, чипов, дат и обложек есть отдельные параметры. Так один и тот же вид подходит разным базам. ## Результат: доска внутри Obsidian Bases -Card Columns оставляет заметки в Bases, но меняет способ их обзора: я задаю группировку, отбираю теги и открываю карточки рядом с доской. Когда нужна смена статуса, перетаскивание правит то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться Columns в своей базе: заметки остаются в vault, отдельную доску синхронизировать не нужно. +Card Columns оставляет заметки в Bases, но меняет способ их обзора: я задаю группировку, отбираю теги и открываю карточки рядом с доской. Когда нужно сменить статус, перетаскивание обновляет то же frontmatter-свойство, по которому строятся колонки. Я продолжаю пользоваться Columns в своей базе: отдельную доску синхронизировать не нужно. -Плагин опубликован в каталоге Obsidian Community. На момент обновления кейса там указаны версия 0.9.0 и 846 загрузок; поддерживаются Obsidian 1.8.0+, Desktop и Mobile, лицензия MIT. +Время поиска до и после я не замерял, поэтому цифры экономии не привожу. -Для меня важна граница между обзором и изменением данных. Группировка и фильтр помогают читать базу; перенос карточки меняет её свойство. В Columns это действие видно и его можно отключить. +На момент подготовки кейса карточка Obsidian Community показывала версию 0.9.0 и 846 загрузок. Плагин работает с Obsidian 1.8.0 и новее на компьютерах и мобильных устройствах. Лицензия MIT. + +Для меня важна граница между обзором и изменением данных. Группировка и фильтр помогают читать базу. Перенос карточки меняет её свойство. Это действие видно, его можно отключить. ## Медиа