Obsidian plugin for Tabula - a spreadsheet-inspired CSV transformation tool.
- π Auto-execution - Automatically runs Tabula when you save your markdown files
- β‘ Instant Updates - See transformations applied immediately after save
- ποΈ Toggle Control - Enable/disable auto-execution with a command
- π Manual Execution - Execute Tabula on demand via command palette
- Tabula CLI must be installed See https://pblazh.github.io/tabula for details
- Download the latest release from the GitHub releases page
- Extract the files to your vault's plugins folder:
<vault>/.obsidian/plugins/tabula/ - Reload Obsidian
- Enable the plugin in Settings β Community Plugins
- Clone this repository or download the source code
- Run
npm installto install dependencies - Run
npm run buildto build the plugin - Copy all files from
out/folder to your vault's plugins folder:<vault>/.obsidian/plugins/tabula/mkdir -p <vault>/.obsidian/plugins/tabula cp out/* <vault>/.obsidian/plugins/tabula/
- Reload Obsidian
- Enable the plugin in Settings β Community Plugins
-
Create or open a markdown file in Obsidian
-
Add csv directive:
A,B,C 1,2,3 4,5,6
-
Add a your Tabula script directive immediately after the csv:
// Calculate sum let D1 = "Total"; let D2 = A2 + B2 + C2; let D3 = A3 + B3 + C3; -
Save the CSV file (Ctrl+S / Cmd+S)
-
Tabula runs automatically and updates the file!
PS. Tabula also support include directive
#include "caculate-sum.tbl"
For complete documentation visit Tabula Website
Access commands via Command Palette (Ctrl+P / Cmd+P):
- Tabula: execute - Manually run Tabula on the active markdown file
- Tablua: toggle - Toggles auto-execution on Save** - Enable/disable automatic execution
- Tablua: index - Toggles visibility of column/row names in CSV blocks
Configure the plugin in Settings β Tabula:
Enable/disable automatic execution of Tabula scripts when saving CSV files.
- Default:
true
Path to the tabula executable. Use tabula to use the version in your PATH, or specify an absolute path.
- Default:
tabula - Examples:
- macOS/Linux:
/usr/local/bin/tabula - Custom location:
/Users/yourname/bin/tabula - Windows:
C:\Program Files\tabula\tabula.exe
- macOS/Linux:
Enable/disable the -a flag passed to tabula. When enabled, Tabula will automatically format the output CSV
to make it resemble a table
- Default:
true
- File Save Detection - Plugin listens for Markdown file saves
- Extract Code blocks - Plugin extract every table, csv and Tabula code block in a temporal file inside the vault
- Execute Tabula - Runs
tabula [-a] -u <file>on the temporal files (with optional-aflag based on settings) - Reload File - Updates the editor with transformed content
- Delete temporal files
Make sure Tabula is installed and accessible:
Option 1: Add to PATH
which tabula
tabula -vOption 2: Set custom path in settings
- Open Settings β Tabula
- Set "Tabula executable path" to the full path to your tabula binary:
- macOS/Linux:
/usr/local/bin/tabula - Windows:
C:\path\to\tabula.exe
- macOS/Linux:
- Check if auto-execute is enabled in Settings β Tabula
- Verify the file has
.mdextension - Try manually executing via Command Palette: "Tabula: Execute Tabula on current file"
Try manually reloading the file:
- Close and reopen the CSV file
- Or execute the command again manually
On macOS/Linux, ensure the tabula executable has execute permissions:
chmod +x /path/to/tabulanpm install
npm run buildThe build outputs to the out/ folder:
out/main.js- Bundled plugin codeout/manifest.json- Plugin metadataout/styles.css- Plugin styles
npm run devThis will watch for changes and rebuild automatically.
Simply copy the entire out/ folder contents to your vault:
cp -r out/* <vault>/.obsidian/plugins/tabula/GNU General Public License v3.0
If you find this plugin useful, consider:
- β Starring the GitHub repository
- π Reporting issues or suggesting features
- π Contributing to the documentation
