Table Enhancements
unlistedby Martín M.
Per-table enhancements: hover row highlight and clickable checkboxes, opt-in via a marker comment.
Table Enhancements
An Obsidian plugin that adds opt-in, per-table enhancements to markdown tables — hover row highlighting and clickable checkboxes — enabled with a marker comment on the line above each table. Tables without a marker are left untouched. Reading view works out of the box; Live Preview support is experimental and opt-in (enable it in settings).
Usage
Add a marker comment on the line directly above a table, with a blank line between the marker and the table. The marker names which features apply:
%% table-enhance hover checkbox %%
| Task | Done |
| ----------- | ---- |
| Ship plugin | [ ] |
| Write docs | [x] |
Clicking a control rewrites the token in the markdown source.
Features
| Token | Effect | Cell syntax |
|---|---|---|
hover | Highlight the row under the cursor | — (whole table) |
checkbox | 2-state clickable checkbox | [ ] / [x] |
tristate-box | 3-state box, cycles on click | [ ] / [/] / [x] |
emoji | N-state emoji, cycles on click | one of the emoji set |
Emoji cycles (any number of states)
emoji cycles a cell through an ordered emoji set, so you can have as many
states as you like:
%% table-enhance emoji %%— uses the default set from settings (🔴 🟡 🟢, configurable).%% table-enhance emoji:⬜,🟨,✅ %%— a custom per-table set that overrides the default (comma-separated; commas keep compound emojis intact).
Example with four states:
%% table-enhance emoji:⬜,🟨,🟧,✅ %%
| Task | Status |
| ------ | ------ |
| Design | ⬜ |
| Build | 🟧 |
Notes
checkboxandtristate-boxshare the[ ]/[x]tokens, so they are mutually exclusive on the same table.emojiuses its own tokens and can be combined with either.- The 2-state checkbox and the 3-state box render as the same native checkbox
(the box's middle state uses the checkbox's
indeterminatestate). - Checkbox cells should be a token optionally followed by plain text
(e.g.
[ ] Buy milk).
Settings
| Setting | Default | Description |
|---|---|---|
| Default emoji cycle | 🔴 🟡 🟢 | Emojis cycled by a bare emoji marker, in order. A table can override this inline with emoji:a,b,c. |
| Live Preview support (experimental) | Off | Also enhance tables while editing in Live Preview. Relies on Obsidian's internal table rendering and may break with future Obsidian updates; Reading view works regardless. |
Requirements
- Obsidian v1.4.0 or later
Installation
From Community Plugins
- Open Settings → Community plugins → Browse
- Search for "Table Enhancements"
- Click Install, then Enable
Manual
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder
.obsidian/plugins/table-enhancements/in your vault - Copy the three files into that folder
- Enable the plugin in Settings → Community plugins
Development
pnpm install
pnpm run dev # watch mode
pnpm run build # production build
pnpm run lint # check with biome
pnpm run lint:fix # auto-fix
To test locally, symlink the project folder into your vault:
ln -s /path/to/obsidian-table-enhancements /path/to/vault/.obsidian/plugins/table-enhancements
License
MIT
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.