GitHub - General-Sentiment/obsidian-word-tree: Obsidian plugin: visualize a note as an interactive word tree (after Jason Davies' Word Tree and Wattenberg & Viégas' technique) · GitHub
Skip to content

About

Obsidian plugin: visualize a note as an interactive word tree (after Jason Davies' Word Tree and Wattenberg & Viégas' technique)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Word Tree for Obsidian

Renders the contents of a note as an interactive word tree: pick a word or phrase, and every sentence containing it fans out to the right, with shared continuations merged into branches. Branch size is proportional to how many distinct phrases flow through it.

This is a TypeScript port of Jason Davies' word tree (built with input from Mike Bostock), which implements the visualisation technique invented by Martin Wattenberg and Fernanda Viégas (2007). The d3 v3 dependency of the original has been re-implemented natively, so the plugin ships with no runtime dependencies.

Usage

  • Click the list-tree ribbon icon or run the command “Word Tree: Open for current note.” The tree opens in a pinned split beside your notes and follows along as you click through files in the explorer — each note you select renders immediately.
  • Type a word or phrase in the toolbar box and press Enter to re-root the tree. The default root is the most frequent word in the note (skipping punctuation, numbers, and common words like "the").
  • Click any branch to zoom into it (click the root word to zoom back out).
  • Ctrl/⌘/Alt-click a word to start a new tree rooted at that word. Hold Shift while hovering to highlight a single word instead of the whole phrase.
  • Reverse shows the words leading up to the phrase instead of following it (a suffix tree, drawn right-to-left).
  • Break at newlines stops phrases at line breaks — useful for lists, poetry, or chat logs.
  • Sort branches by frequency (most common first) or occurrence (document order).
  • The strip along the bottom lists every word used at least twice, most frequent first, as word (count) buttons — scroll it horizontally and click any word to make it the new root. The current root is highlighted.

The view follows the active note by default (toggle in settings) and refreshes automatically as you edit.

Settings

Setting Default Effect
Strip Markdown syntax on Remove headings, emphasis, links, code, etc. before tokenising
Follow active note on Rebuild when you switch notes
Default sort order frequency Initial branch ordering
Maximum branch depth 10 How many words deep branches go
Leaf phrase extension 15 Extra words a unique phrase runs on before stopping at a sentence end

Installation

Until the plugin is in the community catalog, install manually: download word-tree-<version>.zip from the release, unzip it into <vault>/.obsidian/plugins/ (so the files sit in .obsidian/plugins/word-tree/), then enable Word Tree in Settings → Community plugins.

Development

npm install
npm run dev    # watch build
npm run build  # production build

Copy (or symlink) manifest.json, main.js, and styles.css into <vault>/.obsidian/plugins/word-tree/, then enable Word Tree in Settings → Community plugins.

Credits & license

  • Word tree technique: Martin Wattenberg & Fernanda Viégas, “The Word Tree, an Interactive Visual Concordance” (IEEE InfoVis 2008).
  • Reference implementation: Jason Davies. This plugin is an independent re-implementation of its behaviour; if you intend to redistribute it publicly, please review attribution/licensing with the original author first.
  • Plugin code: MIT.

About

Obsidian plugin: visualize a note as an interactive word tree (after Jason Davies' Word Tree and Wattenberg & Viégas' technique)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages