Files
librenotes/internal/notesium/web/graph/README.md
T
libretechandClaude Opus 4.7 df9407dd8d Fork Notesium source and restructure into Go package layout
Initial fork of github.com/alonswartz/notesium into librenotes:
- Source moved to internal/notesium/ (package notesium)
- Thin entry point at cmd/librenotes/main.go
- Module renamed to git.librete.ch/public/librenotes
- main() exposed as notesium.Run()
- LICENSE preserved (MIT), NOTICE added with attribution
- Web assets and completion.bash co-located with embedding code
  to satisfy go:embed path constraints

Closes #3, #34, #35.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 21:52:25 +02:00

3.3 KiB

As of version 0.5.3, the web/graph has been rewritten and implemented in web/app, with all of same features (except cluster settings and darkmode), has tighter integration, and additional improvements.

This graph implemention is backwards compatible, and is especially useful for Vim users who don't need the additional features, but instead just want a way to view the graph via a single keybind and have optionally configured the notesium:// URI protocol handler for the edit links available in the note preview side pane.

Table of contents

Features

  • Visual overview of notes structure with a force graph view.
  • Cluster nodes based on links, inferred from titles or creation date.
  • Adjust node size dynamically based on bi-directional link count.
  • Emphasize nodes and their links using search filter or node click.
  • Preview notes in a side panel. Open for editing via notesium:// link.
  • Tweak forces such as repel force, collide radius, and strength.
  • Drag, pan, or zoom the graph for a better view or focus.
  • Customize label visibility or automatically scale per zoom level.

Screenshots

Graph: display all notes and their links in a force graph view image: force graph cluster links

Graph: cluster notes based on their titles instead of links image: force graph cluster titles

Graph: filter notes with emphasized matches. preview note content (dark mode) image: force graph note preview

Graph: zoomed out large note collection (dark mode) image: force graph zoom

Download

As of version 0.5.3, the web/graph is no longer embedded in the release binary, so it needs to be downloaded separately and vendor/css files handled (depending on your preference).

Offline usage

Download vendor files and compile CSS (assumes Linux and tailwindcss standalone-cli).

git clone https://github.com/alonswartz/notesium.git
cd notesium
./web/graph/make.sh all

CDN usage

git clone https://github.com/alonswartz/notesium.git
cd notesium
$EDITOR web/graph/index.html
     <title>Notesium Graph</title>
-    <!--
     <script src="https://cdn.tailwindcss.com"></script>
     <script>tailwind.config = { darkMode: 'class' }</script>
     <script src="https://cdnjs.cloudflare.com/ajax/libs/d3/7.8.5/d3.min.js"></script>
-    -->
-    <link href="tailwind.css" rel="stylesheet">
-    <script src="d3.min.js"></script>
     <script src="forcegraph.js"></script>

CLI

notesium --webroot=/path/to/notesium/web/graph --stop-on-idle --open-browser

Vim

command! -bang NotesiumGraph
  \ let webroot = "/path/to/notesium/web/graph" |
  \ let options = "--webroot=".webroot." --stop-on-idle --open-browser" |
  \ execute ":silent !nohup notesium web ".options." > /dev/null 2>&1 &"

nnoremap <silent> <Leader>ng :NotesiumGraph<CR>