GridSense

by Grub Basket
5
4
3
2
1
Score: 51/100

Description

Excel-grade editable grid over your Obsidian notes' frontmatter

Reviews

No reviews yet.

Stats

0
stars
693
downloads
0
forks
57
days
4
days
4
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
38
commits

Latest Version

5 days ago

Changelog

0.25.0 — autocomplete in every text box that names a folder, note, tag, property or value

  • One shared suggester (src/suggest.ts). The existing ListSuggest is extended into a single AbstractInputSuggest-based module used by every field below. Matching is case-insensitive and order-independent, with prefix matches ranked first; vault scans run lazily when a list first opens. An Enter-safe mode is used wherever Enter already commits or submits: a plain Enter keeps what was typed, and only arrowing into the list and then Enter picks a suggestion.
  • Grid cells suggest values already used in that column across the vault. The list waits for a keystroke, so a fast Enter/Tab run through cells is never interrupted; with the list open, the first Escape closes it and a second cancels the edit. In a cell that already holds a list, only the item under the cursor is completed (project, ur|, someday → project, urgent, someday). The [[ link completion in the cell editor now runs on the same module.
  • Draft rows and the add-row form suggest values for each column. Fixed: in the add-row form, pressing Enter in an empty focused field filled in a suggestion instead of submitting.
  • Find & replace: when the scope is a single column, Find and Replace with suggest that column's values.
  • Filters: stacked filter values suggest the property's values (folders for file.folder); the column filter's condition value suggests the column's values, most common first.
  • Views and headings: the save-view fields suggest existing view names (a plain Enter still saves exactly what was typed, so a new name is never overwritten by a similar existing one); the heading picker suggests the grid's headings.
  • Property editor (including the inline frontmatter takeover): the key field suggests vault property names the note doesn't already have; value fields suggest values for that key, list-item aware; chip editing and "+ add" suggest values (or tags, for tag properties), leaving out items already in the list.
  • Formula builder: the column name suggests this grid's properties, condition values suggest the property's values in the scanned folder, and the existing directory/property/heading fields move onto the shared module.
  • Importer: helper-column default values suggest vault values for that property; property names also come from a vault-wide scan.
  • Settings: the trash folder suggests folders and the config file path suggests .json files in the vault.

Housekeeping

  • Development-only build check that refuses a version number already used on another branch (not part of the published build).

README file from

Github

GridSense

Excel-grade grid over your Obsidian notes' frontmatter — a standalone alternative to Bases for hands-on-the-keyboard data editing.

What it does

  • Folder-scoped grid view — open any folder as an editable table (folder context menu → Open in GridSense, or the command/ribbon). Rows are notes; columns are the union of frontmatter properties, ordered by usage.
  • Real multi-cell selection — click-drag, Shift+click, Shift+arrows, click a header to select a column.
  • Excel keys — arrows/Tab/Enter navigation, type-to-edit, F2/Enter to edit, Esc, ⌘D fill down, ⌘R fill right, ⌘C/⌘V TSV copy-paste (works with real spreadsheets), Delete clears, ⌘Z undo.
  • File metadata columns — Modified, Created, Size, Extension and Folder, toggled in the columns manager. They sort by the real underlying value, and date columns filter with in the last … days, after and before, so "the notes I touched in the last thirty days" is one condition. The same fields are available to the stacked filters as file.mtime, file.ctime, file.size, file.ext, file.folder, file.name and file.path.
  • Per-column filters — a funnel button on every column header opens an Excel-style dropdown: fuzzy-search the values, tick the ones you want, filter blanks, sort, or add a condition (contains / is / > / is empty …). ⌘⇧L turns the buttons off and clears the filters; ⌘Z brings them back.
  • Add row form — the + row toolbar button (or Grid: add row…) opens a stacked form with a field per property, value autocomplete from what the column already contains, a live path preview that warns before a name collision, and Create & add another for typing several rows in a row. One ⌘Z removes the whole note again. The inline draft rows at the top and bottom of the grid still work for quick entry.
  • Open Stashpad notes in Stashpad (setting, off by default) — when a grid row's note lives in a Stashpad folder, clicking it opens the note in Stashpad's own view (keeping its parent/children context) instead of the markdown editor. Cmd/Ctrl-click and middle-click do the same in a new tab. Needs the Stashpad plugin; every other note opens normally, and nothing breaks when Stashpad is absent.
  • Find & replace in selection (⌘F) — or the whole grid when nothing is selected.
  • Heading-content columns — add a read-only column showing each note's body text under a chosen heading (for the stuff you keep outside frontmatter).
  • Spreadsheet importer with helper columns — paste from Excel/Sheets/Numbers, map columns to properties, and add extra helper columns (empty, or with a default) that are seeded on every imported note so the grid has ready-to-fill columns the source didn't contain.
  • Compiled database — the grid is rendered from a compiled snapshot of your frontmatter, persisted as JSON under .obsidian/plugins/gridsense/db/, auto-invalidated by metadata-cache events.
  • Keyboard-first property editor — command Edit properties of current note: navigate, edit, rename, add, and delete properties without touching the mouse; every write is undoable.

All writes go through Obsidian's processFrontMatter — nothing touches your note bodies.

Installation

GridSense is in the community plugin store — in Obsidian, go to Settings → Community plugins → Browse, search for "GridSense", install, and enable.

Other ways to install:

  • BRAT (for pre-release builds): add grub-basket/GridSense in BRAT.
  • Manual: download main.js, manifest.json, and styles.css from the latest release and copy them into <your vault>/.obsidian/plugins/gridsense/, then enable GridSense in Settings → Community plugins.

License

MIT