Command-line tool for managing TiddlyWiki files. Use when working with TiddlyWiki (.html) files, tiddlers, or when the user mentions TiddlyWiki operations.
tw is a Python-based CLI for managing single-file TiddlyWiki wikis.
Location: ~/dotfiles/tiddlywiki/bin/tw
Basic syntax:
tw [<wiki_path>] <command> [args]
ls - List all tiddlerscat <tiddler> - Display tiddler contents (cat format: title, tags, other fields, blank line, text)json <tiddler> [...] - Output tiddler(s) as JSON (use --all for all tiddlers)get <tiddler> <field> - Get a specific field valuefilter <expression> - Evaluate TiddlyWiki filter expressioninit <dest_path> - Create a new empty wikitouch <tiddler> [text] - Create or update a tiddlerset <tiddler> <field> <val> - Set a field valueedit <tiddler> - Edit tiddler in $EDITOR (opens interactive editor)append <tiddler> [text] - Append text to tiddlerinsert <json> - Insert/replace tiddler(s) from JSONreplace <content> - Insert/replace from cat format (reads from stdin)rm <tiddler> - Remove a tiddlerserve [--host HOST] [--port PORT] [--readonly] - Serve wiki with live reloadwebdav [--host HOST] [--port PORT] [--readonly] - Serve tiddlers via WebDAVdetect - Detect wiki format (modern or legacy)filetype-map - Output MIME type to filetype mapping as JSONmimetype <filename> - Get MIME type for a file extensioninstall_plugin - Install live reload plugintitle: X\ntags: Y\nfield: Z\n\ntext contentedit opens $EDITOR - don't use in automated scripts, use replace insteadinstall_plugin once, then serve to get auto-refresh in browser# List all tiddlers in a wiki
tw ~/wiki.html ls
# Create a new tiddler
tw ~/wiki.html touch "MyTiddler" "This is the content"
# Get a field value
tw ~/wiki.html get "MyTiddler" tags
# Set a field
tw ~/wiki.html set "MyTiddler" tags "foo bar"
# Pipe content to replace (non-interactive)
echo -e "title: Test\ntags: demo\n\nContent here" | tw ~/wiki.html replace
# Export all tiddlers as JSON
tw ~/wiki.html json --all > backup.json
# Filter tiddlers (find all tagged "journal")
tw ~/wiki.html filter "[tag[journal]]"
# Serve wiki with live reload on port 8080
tw ~/wiki.html serve --port 8080
jq for processingnvim via $EDITOR for editing