Gilbert Hyatt1k downloadsA Bases table view whose groups collapse like a tree, with nested groups, inline editing, and tag/link autocomplete.
Bases Table & Card views that support collapsable grouping.


Two Bases Table and Card view for Obsidian that turns grouped results into a collapsible tree — fold and unfold groups like branches, optional support for nested hierarchical groups from a single /-delimited property, and edit your notes inline.
It adds new Bases and Card types that can be use in places of the Obsidian Bases Table and Card views with one that supports collapsable row groups based off GroupBy column set in the Bases configuration, or additional columns set in Bases config dialog. NEW: Card view now support property badges. You can now, for example, mark books as “read”, “owned”, or “loaned-out”. By setting a badge property and it having a non-false value.

They also supports optional nested categories, for example: ”research/medical” or multiple columns and a number of new useful behaviors (example: accordion) . It tries to be a drop-in replacement for both the Obsidian Bases Table and Card views… tries to be (since Obsidian did not provide an extendible BaseTable object, several things had to be code from scratch, so somethings may vary). If you turn on nested groupBy keys, then it support up to multiple levels of nesting (example “art/painting/water_color” )

(ver >= 1.10.2) — the Bases core plugin must be available.Search for Collapsing Group Table in Settings → Community plugins → Browse.
ghyatt/bases-collapsing-group-table and click Add Plugin.If no Group by is set, the view renders as a plain table / card grid. Which rows appear, the column order, and the sort all come from the Base's own settings.
[nested] tag).There are two ways to nest, and they're mutually exclusive.
Split groupBy value on "/" to nest — turn on the toggle and any group value containing / is split into a nested tree, to arbitrary depth. For example, grouping by a category whose values are ai/llm_wiki, ai/tools, obsidian/plugin produces:
▾ ai
▾ ai → llm_wiki
▾ ai → tools
▾ obsidian
▾ obsidian → plugin
Sub-group by columns — instead of the / split, pick Sub-group by (2nd level) / (3rd level) properties to nest by those columns (values used whole, never split).
When opening a group controls what the sub-groups do on open (and on initial load): open the first sub-group, all of them, or none.
When nesting is on, Strip prefix from values removes a leading prefix from each group value before the / split, so a folder-based Map of Content shows clean relative paths. Enter either a literal path (e.g. hobby/media), or the formula this.file.folder, which resolves to the base's own containing folder — so an embedded base strips its own folder with no path to type, and keeps working if you move it. Files that sit directly in the stripped folder render at the top, ungrouped; sub-folders become the top-level groups.
In the table view, click a cell backed by a note property to edit it; changes are written to the note's frontmatter.
columnSize).YYYY-MM-DD).Your fold state and column widths are saved into the .base file, so they survive reloads.
The Collapsing group cards view renders entries as cards (cover image + title + fields) with the same collapsible grouping, nesting, accordion, and strip-prefix behaviour. It reads the built-in Cards view's settings (image, cardSize, imageAspectRatio, imageFit), so an existing type: cards view can be switched over — or set them via the view options:
cover (crop to fill) or contain (whole image), paired with Image aspect ratio (height ÷ width; 0 = natural) for uniform covers.The cover and filename are clickable to open the note.
Cards whose file is an image (png, jpg, jpeg, gif, webp, svg, …) open a full-screen viewer when clicked; note cards open the note as usual. In the viewer:
Flag up to 4 columns as badges. When a card's value for that column is truthy (checked box, non-empty text, non-zero number, non-empty list), a coloured pill appears at the card's top-right showing a slot symbol and the column name — e.g. a read checkbox shows ★ read. Each of the four slots has a fixed position, symbol, and colour (① ★ ② ✓ ③ ◆ ④ ●), so a column always sits in the same spot across every card; a slot with no value leaves its place blank rather than shifting the others.
Options are set from the Base view configuration menu, grouped into sections. A vault-wide default lives in the plugin's settings tab.
Grouping & nesting (both views)
| Option | Default | Description |
|---|---|---|
| Accordion mode | off | Expanding a top group collapses the others. |
| Start with groups collapsed | off | Open with all groups folded. |
| Show entry count on group headers | on | Show the entry-count badge. |
| Split groupBy value on "/" to nest | off | Split /-delimited group values into a nested tree. |
| Sub-group by (2nd / 3rd level) | — | Nest by additional columns (mutually exclusive with the "/" split). |
| When opening a group | First sub-group | On open, expand the first / all / no sub-groups. |
Situational options (both views; shown only when nesting is on)
| Option | Default | Description |
|---|---|---|
| Strip prefix from values | — | Remove a leading prefix before the "/" split. A literal path, or a formula like this.file.folder to strip the base's own folder. |
Table
| Option | Default | Description |
|---|---|---|
| Row height | Short | Short / Medium / Tall / Extra tall / Dynamic. |
| Date format | (plugin default) | moment.js tokens applied to date cells; blank inherits the plugin setting. |
Cards
| Option | Default | Description |
|---|---|---|
| Card image property | — | Property used as the cover. |
| Card width | 240 px | Card width. |
| Filename | Show | Show below image / Hide / Overlay on hover. |
| Image fit | Cover | Cover (crop to fill) or Contain (whole image). |
| Image aspect ratio | 0 (natural) | Height ÷ width for uniform covers. |
| Badge 1–4 | — | Columns shown as coloured top-right badges when truthy (fixed slot, symbol, colour). |
| Date format | (plugin default) | moment.js tokens applied to date fields; blank inherits the plugin setting. |
Plugin settings (Settings → Community plugins → Collapsing Group Table)
| Setting | Default | Description |
|---|---|---|
| Default date format | — | Vault-wide moment.js date format; a per-view Date format overrides it. |
| Show what's new on update | on | Open the changelog popup after an update. |
MIT — provided as is. File bugs or feature requests on GitHub.