Skip to content
| Marketplace
Sign in
Visual Studio Code>Visualization>Obsimini — Wiki Links, Backlinks & SourcesNew to Visual Studio Code? Get it now.
Obsimini — Wiki Links, Backlinks & Sources

Obsimini — Wiki Links, Backlinks & Sources

VictorChen

|
35 installs
| (0) | Free
Lightweight wiki navigation for Markdown: clickable [[wiki links]], hover previews, backlinks panel, configurable source-reference jumps, and status-tag highlighting.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Obsimini

Lightweight wiki navigation for Markdown knowledge bases in VS Code. Turns a folder of interlinked .md files into something you can actually browse: clickable [[wiki links]], hover previews, a backlinks panel, source-reference jumps, status-tag highlighting, and Obsidian-style text marks — with no lock-in. Optional Gemini-powered translation uses your own API key.

Built for repos that use [[...]] links between notes, meeting summaries, decision logs, and reference docs.

Local comments

Select text in a Markdown editor or Wiki View and run:

  • Obsimini: Add comment to selected text
  • Obsimini: List local comments — choose a saved annotation to jump to its source
  • Obsimini: Delete local comments

When the Wiki is a Git repository, comments are stored in vvwiki-comments.json on the local-only vvwiki/vscode-comments branch. Without Git, they are stored in .obsimini/vvwiki-comments.json under the workspace. The source Markdown is not changed. The delete command removes whichever local storage is in use; no remote is ever pushed. Wiki View and the Markdown editor mark annotated text with a dotted underline; hover it to see the comment in a floating card. The card provides Edit, Del, and Del all comments actions.

Features

📖 Wiki View with source-mapped editing

Run Obsimini: Open Wiki View (or click the 📖 button in a Markdown editor's title bar) to open a self-contained Wiki View in the current editor group. Clicking a [[link]] navigates within the tab — with Back / Forward buttons — while the currently displayed Markdown document remains the source of truth and can be edited when its filesystem is writable.

Simple paragraphs (including hard-wrapped paragraphs), headings, one-level blockquotes, and flat list items can be edited directly in the rendered view. Enter continues a safe source-mapped line in paragraphs, quotes, and lists; numbered lists continue with the next marker; consecutive empty markers such as 7. and 8. remain independently editable. Plain text, common emphasis, inline code, Markdown link labels, wiki-link aliases, autolinks, and task checkboxes are source-mapped back to the original Markdown. The render toolbar can also insert Markdown/Wiki links, turn simple paragraphs into blockquotes, flat lists, or task items, switch existing flat list markers, and insert code fences, tables, or horizontal rules at a line start. Section controls can add an H2 section after the current section or delete the current heading section (the deletion is undoable with VS Code Undo). IME input, paste, delete, and formatting toolbar actions are supported.

Complex or ambiguous Markdown (tables, callouts, images, fenced code, nested lists, hard-break paragraphs, and other complex multi-line blocks) stays read-only in WYSIWYG mode; this restriction applies to the block, not to the whole writable note. Safe one-level multiline continuations are handled without rewriting unrelated source. Safe nested inline formatting is supported, while links and their targets remain protected. Click its pencil affordance to open the original section editor with the formatting toolbar, including local/HTTPS image insertion and image drag-and-drop. There is no HTML-to-Markdown round-trip; direct WYSIWYG edits still save through the live source buffer.

✨ Highlights and calmer reading layout

Both the built-in Markdown preview and Wiki View support Obsidian-style highlights:

This is ==important text==.
This is also <mark>important text</mark>.

==…== is Obsidian-flavoured Markdown. <mark>…</mark> is standard semantic HTML and is useful when the same note is also rendered elsewhere. Wiki View accepts only this safe HTML tag (rather than arbitrary raw HTML). Wiki View follows the active VS Code color theme automatically; use Preferences: Color Theme to switch between dark and light modes. Quotes render as softly coloured callout-style blocks, and tables, headings, code blocks, and images have a clearer visual hierarchy.

When editing a block in Wiki View, select text and use == Mark for Obsidian syntax or <mark> for the semantic HTML form in the insert toolbar.

∑ KaTeX math

Both readers render inline and display math with KaTeX:

The solution is $x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a}$.

$$
\int_0^1 x^2\,dx = \frac{1}{3}
$$

Invalid formulas remain visible as escaped source with an error indicator, so a rendering error never turns note content into executable HTML.

💬 Obsidian Callouts

Both readers recognise Obsidian-style callouts. Add - for an initially collapsed callout or + for an initially expanded, user-toggleable one:

> [!WARNING]- Deployment note
> Check the migration status before releasing.

📈 Mermaid diagrams

Wiki View renders fenced mermaid diagrams offline, follows the active VS Code color theme, and redraws diagrams when you switch between dark and light modes. If parsing fails, it keeps the source code visible with an error message.

```mermaid
flowchart LR
  Draft --> Review --> Publish
```

🔖 In-page section links

Wiki View supports ordinary Markdown fragment links. Headings automatically get a stable fragment ID, so a link such as [Scope](#scope-of-this-document) scrolls to that section. For a short, explicit ID (for example #b2), add a standalone portable anchor directly above the target section:

<a id="b2"></a>

### B2 — Headset microphone audio

The Wiki View Back and Forward buttons also remember in-page section jumps and restore the exact prior reading position.

🌐 Gemini translation

Translation is opt-in and uses your own Gemini API key. Run Obsimini: Configure Translation Service from the Command Palette and paste a key created in Google AI Studio. The key is stored in VS Code SecretStorage, never in settings.json, the workspace, or the Wiki View webview.

  • Run Obsimini: Toggle Hover Translation to enable or disable it. In Wiki View, leave the pointer on a word or phrase for three seconds to show a translation popup.

  • Run Obsimini: Set Translation Target Language to choose Traditional Chinese, English, Japanese, Korean, or enter another language name/code.

  • Run Obsimini: Translate Current Section in a Markdown editor to translate the heading section containing the cursor into a new Markdown tab. In Wiki View, it translates the heading section where the pointer was last located.

  • Select text in any text editor or Wiki View, then run Obsimini: Translate Selected Text. Wiki View and all regular text editors show the result beside the selection in a floating original/translation comparison view, where it can be scrolled, copied, or exported as a Markdown/text file.

  • Run Obsimini: Translate Clipboard Contents to translate text copied from any app. The same original/translation floating view opens at the cursor in a text editor or in the active Wiki View.

  • Clipboard actions are also available without opening the Command Palette:

    Shortcut Action
    Ctrl+Alt+Shift+T Translate clipboard
    Ctrl+Alt+Shift+A Ask AI about clipboard
    Ctrl+Alt+Shift+E Explain clipboard
    Ctrl+Alt+Shift+R Rephrase clipboard
    Ctrl+Alt+Shift+S Summarize clipboard

    On macOS, replace Ctrl with Cmd. All five actions use the configured Gemini key and target language; the generated result is shown alongside the original text and can be copied or exported.

The default model is gemini-3.5-flash-lite, Gemini's low-cost Flash-Lite model.

🔗 Clickable [[wiki links]]

[[topics/motoko-overview]] and [[page|alias]] become clickable in both the editor and the built-in Markdown preview (Ctrl/Cmd+Shift+V). Links resolve two ways so mixed conventions keep working:

  1. verbatim path under your wiki root — [[topics/page]] → topics/page.md
  2. otherwise by unique file name — [[page]] → the one page.md in the tree

Unresolved links show in red in the preview so you can spot broken references.

Tip — where preview links open: clicking a [[link]] in the preview follows VS Code's own setting markdown.preview.openMarkdownLinks. The default "inPreview" navigates within the preview pane (great for browsing); set it to "inEditor" if you'd rather each click open a real editor tab.

👁 Hover previews

Hover a [[link]] to see the top of the target page (YAML frontmatter is skipped). Configure how many lines with obsimini.hover.previewLines.

↩ Backlinks panel

An Explorer view lists every page that links to the file you're viewing, with the exact line — click to jump. Great for seeing how a topic is referenced.

📎 Source-reference jumps

If your notes cite sources like [來源: meeting-2026-07-09 @ 05:23] or [source: report.pdf], Obsimini makes them clickable and opens the matching file from a folder you choose (e.g. a meeting_transcript/ directory). Fully regex-configurable — see obsimini.sourceLink.*.

🔎 Rendered location links

Wiki View follows the same compact location-link treatment as vvpipi: HTTP URLs open in the browser, file:// URLs and source-looking paths (including line ranges such as src/app.ts:12-20) open in VS Code or the OS, and function calls or symbol:Name references jump through the document/workspace symbol provider when available. Rendered links use the active VS Code theme, with vvpipi-style dotted underlines and heading colours.

🏷 Status-tag highlighting

Labels such as ✅ decided, 🟡 pending, 🔄 evolving, ❌ dropped get a colored badge so decision tables are scannable. Labels and colors are configurable via obsimini.statusBadges (set to {} to disable).

Settings

Setting Default Description
obsimini.wikiRoot "" (workspace root) Folder containing your wiki; links resolve against it.
obsimini.linkExtension .md Extension appended to link targets.
obsimini.hover.previewLines 30 Lines shown in hover previews.
obsimini.statusBadges see below Label → hex-color map for highlighting.
obsimini.sourceLink.enabled true Enable source-reference jumps.
obsimini.sourceLink.pattern [來源: … @ …] Regex; capture group 1 = target file name.
obsimini.sourceLink.targetFolders ["meeting_transcript", "."] Folders searched for source files.
obsimini.attachmentFolder assets Folder under the wiki root for locally inserted images.
obsimini.translation.enabled false Enable pointer-rest translation in Wiki View. Toggle it with the Command Palette.
obsimini.translation.targetLanguage zh-TW Target language code or name sent to Gemini.
obsimini.translation.hoverDelay 3000 Pointer-rest delay in milliseconds before translating.
obsimini.translation.model gemini-3.5-flash-lite Gemini model used for translation.

Example project settings (.vscode/settings.json):

{
  "obsimini.wikiRoot": "wiki",
  "obsimini.sourceLink.targetFolders": ["meeting_transcript"],
  "obsimini.translation.targetLanguage": "zh-TW",
  "obsimini.translation.hoverDelay": 3000
}

Default status badges:

{
  "✅ decided": "#3fb950",
  "🟡 pending": "#d29922",
  "🔄 evolving": "#58a6ff",
  "❌ dropped": "#f85149"
}

Roadmap

  • Graph view — an interactive node-link map of your wiki (planned for a future release).

Development

npm install
npm run watch      # or: npm run build
# press F5 in VS Code to launch an Extension Development Host

Package a .vsix: npm run package.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft