Fork of DanielCheer/obsidian-web-viewer (MIT, 2026-04) with Lukas' first additions for the Hermes Wiki workflow. Additive customization layer (vault-custom.js) — keeps upstream-merge trivial via a one-line script tag in vault.html. Features added: 1. Current-page highlighting in 3D Graph — current node gold+glow, connected nodes light-blue, others dim to 20% opacity 2. Click-to-navigate on graph — Three.js raycaster triggers file load 3. Responsive layout — graph collapses below 1024px, tree below 768px 4. URL-based deep-linking via ?file=<path> query param 5. Server-side ?file= support in /api/vault/file/ endpoint Modified files: - server.py: +7 lines (Lukas-add: ?file= query param parsing) - vault.html: +1 line (script tag for vault-custom.js) New files: - vault-custom.js: 11KB, all customizations in one place under HermesCustom namespace - README.md: fork intro, quick start, customization guide - CHANGELOG.md: Lukas-additions tracking - docs/ARCHITECTURE.md: design rationale - docs/CUSTOMIZATIONS.md: feature spec - .gitignore: standard 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
56 lines
3.0 KiB
Markdown
56 lines
3.0 KiB
Markdown
# Changelog — Lukas' Additions
|
|
|
|
All notable changes to this fork are documented here. Upstream-tracking via [DanielCheer/obsidian-web-viewer](https://github.com/DanielCheer/obsidian-web-viewer).
|
|
|
|
## v0.2.0 — 2026-07-16 — Lukas' first additions
|
|
|
|
### Added
|
|
|
|
- **`vault-custom.js`** — additive JavaScript layer with three features:
|
|
- **Current-page highlighting in 3D Graph**: node representing the open file becomes gold with glow; connected nodes (via WikiLinks) become light-blue; unrelated nodes dim to 20% opacity
|
|
- **Click-to-navigate on 3D Graph**: Three.js raycaster triggers `loadFile()` on node click; URL updates with `?file=<path>` query param
|
|
- **Responsive layout**: at viewport <1024px the 3D graph collapses to a 200px bottom panel; at <768px the tree collapses to a hamburger menu and graph hides entirely
|
|
- **One-line patch in `vault.html`**: `<script src="vault-custom.js"></script>` before `</body>` (single source of upstream-merge friction)
|
|
- **7-line patch in `server.py`**: `?file=<path>` query parameter support on `/api/vault/file/` for clean URL navigation
|
|
- **`docs/ARCHITECTURE.md`**: design rationale (why additive layer, why HermesCustom namespace, what tradeoffs we accepted)
|
|
- **`docs/CUSTOMIZATIONS.md`**: feature spec with code pointers
|
|
- **`README.md`**: Lukas-authored intro, Quick Start, customization guide, upstream-merge procedure
|
|
|
|
### Preserved from upstream
|
|
|
|
- Catppuccin-dark theme
|
|
- Three.js 3D graph
|
|
- File tree sidebar with collapsible folders
|
|
- WikiLink resolution with search fallback
|
|
- Full-text search
|
|
- Frontmatter-as-card rendering
|
|
- Python stdlib only (no Flask/FastAPI dependency)
|
|
|
|
### Migration notes
|
|
|
|
If you're coming from upstream obv:
|
|
1. `python3 server.py --vault <your-vault> --host 127.0.0.1 --port 8765` works as before
|
|
2. The Tailscale-URL gets `?file=` query params on navigation (deep-linkable)
|
|
3. Customizations only kick in if `vault-custom.js` is reachable from the same origin (it is, served by the same server.py)
|
|
|
|
## v0.1.0 — 2026-04 — Upstream baseline
|
|
|
|
Forked from [DanielCheer/obsidian-web-viewer @ commit `master`](https://github.com/DanielCheer/obsidian-web-viewer) on 2026-07-16. No modifications yet.
|
|
|
|
---
|
|
|
|
## Roadmap
|
|
|
|
Next planned additions (in priority order):
|
|
|
|
- **Backlinks panel** — for each loaded file, show incoming WikiLinks (which other files link to this one). Adds a third collapsible panel on the right or merges into graph context menu.
|
|
- **Keyboard shortcuts**:
|
|
- `j` / `k` — next / previous file in current folder
|
|
- `[` / `]` — back / forward in navigation history
|
|
- `g` — focus 3D graph
|
|
- `/` — focus search box
|
|
- **Light theme variant** — Catppuccin-Light alongside Catppuccin-Dark, toggle in header
|
|
- **Recent files section** — show last 10 visited files in tree sidebar
|
|
- **Graph filters** — toggle to show only current-folder nodes, only connected nodes, etc.
|
|
|
|
Lukas' note: each new addition should remain in `vault-custom.js`. If it can't fit there cleanly, it's a sign that the addition deserves its own script tag (loaded after `vault-custom.js`). |