vantage-md 0.6.2 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,237 @@
1
+ # Changelog
2
+
3
+ What changed in each release of Vantage, newest first.
4
+
5
+ Releases before 0.7.0 are summarized one section per minor line — `0.6.x`,
6
+ `0.5.x` — rather than one per patch release. The per-patch detail is in the
7
+ commit log.
8
+
9
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
10
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
11
+
12
+ ## [0.7.1] - 2026-09-27
13
+
14
+ ### Added
15
+
16
+ **Recent files across all projects on `Shift+R`.** Pressing `Shift+R` opens the
17
+ recent files modal scoped to all configured projects, matching `r` for the
18
+ current project. Rows show their project name and update live via the watcher.
19
+ You can navigate the list with arrow keys or `j` and `k`. See
20
+ [Recently Changed Files](userguide/reference/keyboard-shortcuts.md#recently-changed-files).
21
+
22
+ **Open picker items in a new tab.** Pressing `Alt+Enter` or `Ctrl+Enter` (or `Cmd+Enter`
23
+ on macOS) in the file picker (`t`, `Shift+T`) or project picker (`Shift+P`) opens
24
+ the highlighted row in a new browser tab. Ctrl-click and middle-click on any row
25
+ work as well. See [File Picker](userguide/reference/keyboard-shortcuts.md#file-picker).
26
+
27
+ ### Fixed
28
+
29
+ - Build output directories (`target`, `build`, `dist`) and tool caches (`.cache`,
30
+ `__pycache__`, `.pi`, and test/lint caches) are excluded from file listings,
31
+ repository discovery, and the filesystem watcher by default. This prevents
32
+ inotify watch exhaustion and excessive disk I/O while running builds in
33
+ watched repositories. See [Ignore Files and Live Reload](userguide/reference/configuration.md#ignore-files-and-live-reload).
34
+ - Linked Git worktrees are excluded from repository auto-discovery, directory
35
+ listings, file picker results, and the live watcher, avoiding duplicate
36
+ trees and redundant filesystem watches.
37
+
38
+ ## [0.7.0] - 2026-09-23
39
+
40
+ Vantage now supports color themes and bookmarks, and reads per-project settings
41
+ from `.vantage.toml`.
42
+
43
+ ### Added
44
+
45
+ **Color themes.** Pick a palette under **Colors** in the settings menu. Six come
46
+ with Vantage: Catppuccin, Gruvbox, Lila, Nord, Solarized, and Tokyo Night, each
47
+ with its own light and dark variants, alongside the default look, now called
48
+ Slate.
49
+
50
+ To write your own, put a CSS file in `~/.config/vantage/themes/`. It shows up in
51
+ the menu on the next page load, with no restart. Set `theme = "gruvbox"` in your
52
+ config to start every browser in one. A project can suggest a theme in its
53
+ `.vantage.toml`, and your own choice always wins. A theme with no dark colors is
54
+ listed as "(light only)". Every built-in theme keeps its text at 3:1 contrast or
55
+ better in both modes, checked in a real browser; your own themes aren't checked.
56
+ Review mode's comment colors and printing still ignore the theme. See
57
+ [Color Themes](userguide/guides/themes.md).
58
+
59
+ **Bookmarks.** Click the star next to a document's name to bookmark it. Folders
60
+ work too. Bookmarks appear in a **Starred** section above the file tree. They're
61
+ stored in `~/.local/share/vantage/starred/` instead of in your browser, so they
62
+ survive a restart and show up in every tab. If a bookmarked file disappears, the
63
+ entry stays put and offers to remove itself when you open it.
64
+
65
+ A project can also list the documents worth reading first in its `.vantage.toml`,
66
+ and you can list files you always want starred in your own config. Those entries
67
+ are marked with a pin and name the file that added them. See
68
+ [Starred](userguide/features.md#starred).
69
+
70
+ **Open questions in the contents panel.** A document's open questions now appear
71
+ in the table of contents, under the heading they sit below, with a count next to
72
+ **Contents**. `💬 3` means three are waiting on a decision; `💬 1 ✅ 2` means one
73
+ is open and two are answered. Click one to jump to it. See
74
+ [Table of Contents](userguide/features.md#table-of-contents).
75
+
76
+ ### Changed
77
+
78
+ Settings now follow you between tabs. Before, a second tab read most settings
79
+ once when it loaded and then drifted, so changing the theme in one tab left the
80
+ other on the old one. `Shift+D` had the same problem inside a single tab: it
81
+ changed the page without updating the settings menu. The sidebar and its width,
82
+ the tree filters, the project sort order, light/dark, and the color theme all
83
+ stay in sync now.
84
+
85
+ Review mode is a deliberate exception. Two tabs are usually on different
86
+ documents, and picking up a toggle from another tab would close the review pane
87
+ while you're partway through a comment.
88
+
89
+ ### Fixed
90
+
91
+ - The file pickers (`t`, `Shift+T`, `Shift+R`, `Shift+P`) reload their list every
92
+ time they open, and a picker that's already open keeps up with the filesystem.
93
+ Before, a file created after the page loaded was unfindable until you
94
+ reloaded.
95
+ - A modified file's icon was too faint to read in the file tree in light mode.
96
+ - A document that fails to load no longer moves you off the one you're reading,
97
+ and the error names the file you actually asked for.
98
+ - A slow response for a document you've already navigated away from is thrown
99
+ away instead of replacing what you're reading.
100
+ - `vantage-check check --config <a directory>` now says
101
+ `docs is a directory, not a config file` and exits 2, instead of printing a
102
+ stack trace.
103
+
104
+ ### Contributors
105
+
106
+ Thanks to [@nichiflu](https://github.com/nichiflu) for the initial color-theme
107
+ implementation.
108
+
109
+ ### Works well with
110
+
111
+ [matt-craft](https://github.com/mschulkind-oss/matt-craft) is out — the skills I use to
112
+ write the documents I then read in Vantage: design notes that carry their open
113
+ questions, roadmaps, research rounds, user stories, and one for Vantage's own Markdown
114
+ conventions. It is not part of Vantage and Vantage does not need it. If you write your
115
+ own documents your own way, nothing here changes for you.
116
+
117
+ ## 0.6.x
118
+
119
+ _0.6.0 – 0.6.2, September 2026._
120
+
121
+ Long documents have a table of contents. The list button beside the breadcrumb
122
+ shows the document's headings in the left margin, and the list stays put while
123
+ you scroll. The button beside it lets the text fill the pane. The reading band
124
+ moved to the left edge too, so the file list, the contents, and the text sit
125
+ together.
126
+
127
+ - Serving a git repository no longer makes the browser reload itself once a
128
+ second. Vantage's own `git status` calls rewrote `.git/index`, and the watcher
129
+ read that as your edit.
130
+ - A repository cloned under one of your `source_dirs` shows up within thirty
131
+ seconds, with no restart. One whose directory goes away is dropped, then
132
+ picked back up when it returns. See
133
+ [Daemon Mode](userguide/guides/daemon-mode.md).
134
+ - A port you name is bound exactly or startup fails. Only the default 8000 walks
135
+ to the next free port, and it tells you which one it took.
136
+ - Images on adjacent lines render on one row, the way GitHub lays them out. A
137
+ README's badges used to stack into a column.
138
+ - `vantage-check` splits a run across worker threads by default, and the report
139
+ reads the same either way.
140
+
141
+ ### Contributors
142
+
143
+ Thanks to Eduardo Hidalgo ([@edus44](https://github.com/edus44)) for the table
144
+ of contents, the Vantage favicon, and fixes to port selection and spurious
145
+ browser reloads.
146
+
147
+ ## 0.5.x
148
+
149
+ _0.5.0 – 0.5.10, May to September 2026._
150
+
151
+ Vantage stopped being a Python server and became one Go binary. The viewer and
152
+ the shortcuts are the same; installing it is not. You install it with `brew
153
+ install`, `uvx vantage-md ~/notes`, or a platform archive from a release.
154
+ `vantage serve` opens your browser, and `--no-open` stops it.
155
+
156
+ - `vantage-check` is new. It runs your documents through the viewer's own
157
+ pipeline and reports dead links, dead anchors, broken mermaid diagrams, and
158
+ style problems. See [vantage-check](userguide/guides/vantage-check.md).
159
+ - You can mark a document up with `<!-- vantage: … -->` comments that GitHub
160
+ ignores and Vantage reads: a status chip beside a heading, collapsible
161
+ sections, emphasis, and badges. GitHub's alert blocks render too.
162
+ - Review mode was rebuilt. A comment anchors to a whole block, replies thread, a
163
+ rail shows where the comments are, and you can answer an open question in one
164
+ click. Agents reply through a `.vantage/` directory. See
165
+ [The `.vantage/` directory](userguide/guides/review-inbox.md).
166
+ - The "What's New" popup, the changed-document highlight, and the jj history
167
+ viewer were removed.
168
+ - `.vantageignore` and `~/.config/vantage/ignore` keep files out of the tree, and
169
+ the sidebar has a drag handle that remembers its width.
170
+
171
+ ## 0.4.x
172
+
173
+ _0.4.0 – 0.4.2, April 2026._
174
+
175
+ Installing Vantage got short. `uvx vantage-md ~/notes` started the server and
176
+ opened your browser at the directory you named, and naming a file landed on that
177
+ file with the sidebar already expanded. There was a Homebrew formula as well.
178
+ macOS became a platform Vantage was tested on.
179
+
180
+ - Review mode became per file. Turning it on for one document no longer followed
181
+ you to the next, and the toggle survived a reload even before you had written a
182
+ comment.
183
+ - Hovering any paragraph in review mode put a button in the gutter, so you could
184
+ comment on a whole block without selecting text first.
185
+ - You could edit a comment in place, from the document or from the sidebar.
186
+ Resolved comments collapsed into one indicator instead of asking to be
187
+ dismissed one at a time.
188
+ - A comment you had just written was sometimes marked "Outdated" immediately.
189
+ - `log_level` in the config, `VANTAGE_LOG_LEVEL` in the environment. The watcher
190
+ reported your inotify limits at startup and warned near the ceiling, which is
191
+ the usual reason live reload stops working.
192
+
193
+ ## 0.3.x
194
+
195
+ _0.3.0 – 0.3.8, April 2026._
196
+
197
+ This is the line that added review mode. You turned it on for a document,
198
+ selected some text, and left a comment. The server stored the comments, so they
199
+ survived a restart. When the text under a comment changed, the comment turned
200
+ amber and said "Outdated". Every save while review mode was on snapshotted the
201
+ previous version, so you could step back through revisions and see which
202
+ paragraphs had changed. One button copied every comment as Markdown quotes, with
203
+ line numbers and surrounding context, ready to paste to an agent.
204
+
205
+ - Opening a project no longer waited for its file tree. The document rendered
206
+ first and the sidebar filled in behind it.
207
+ - Headings got hover anchors, and `#L42` or `#L42-L50` in the URL scrolled to
208
+ those source lines and highlighted them.
209
+ - You could collapse the sidebar to give the document the window, and reveal
210
+ hidden or gitignored files with new toggles.
211
+ - TOML frontmatter between `+++` fences was parsed and shown, with taxonomies and
212
+ extra fields as tag pills.
213
+ - A red banner with a timer appeared when the page lost its connection, so a
214
+ document that had stopped live-reloading said so.
215
+
216
+ ## 0.2.x and earlier
217
+
218
+ _0.0.1 – 0.2.0, February to March 2026._
219
+
220
+ Where Vantage started. It served the Markdown in your git repositories over a
221
+ local port and reloaded the page when you saved: GitHub-flavored Markdown,
222
+ syntax highlighting, KaTeX math, mermaid diagrams you could click to zoom,
223
+ commit history and diffs, a fuzzy file picker on `t`, dark mode on `Shift+D`,
224
+ vim-style scrolling, and a print stylesheet. It could also export a static site
225
+ to host on Cloudflare Pages or S3. The server was written in Python then.
226
+
227
+ - `Shift+T` searched files across every project, `P` switched projects, `r` and
228
+ `Shift+R` found recently modified files, and `y` copied the current file's
229
+ absolute path.
230
+ - `source_dirs` in the config found every git repository under a directory, so
231
+ you did not have to list them one by one.
232
+ - The project picker became a full page, with repository names, relative
233
+ timestamps, and a toggle between alphabetical and recent order.
234
+ - A "What's New" popup showed the changelog the first time you opened a new
235
+ version. You could turn it off in settings. Vantage dropped it in 0.5.
236
+ - A jj history and evolution viewer sat beside the git one, for Jujutsu
237
+ repositories. That went in 0.5 too.
package/README.md CHANGED
@@ -76,7 +76,7 @@ The React component includes mermaid diagram rendering (lazy-loaded), frontmatte
76
76
  ### Your own processor, Vantage's chain
77
77
 
78
78
  `buildPipeline` returns the exact remark and rehype lists `renderMarkdown` and
79
- the React viewer use, in the exact order — including the sanitiser schema, and
79
+ the React viewer use, in the exact order — including the sanitizer schema, and
80
80
  `rehypeSlug` after it, which is what keeps generated heading ids free of
81
81
  `rehype-sanitize`'s `user-content-` prefix. Use it rather than assembling the
82
82
  chain yourself; that is how a document ends up rendering differently in two
@@ -118,7 +118,7 @@ if all you want is `data-source-line`.
118
118
 
119
119
  | Entry point | Description |
120
120
  |-------------|-------------|
121
- | `vantage-md` | `renderMarkdown`, `buildPipeline`, `buildRemarkPlugins`, `rehypeSourceLines`, `scrollToLineAnchor`, `parseLineAnchor`, `parseFrontmatter`, `readVantageFrontmatter`, `sanitizeSchema` |
121
+ | `vantage-md` | `renderMarkdown`, `buildPipeline`, `buildRemarkPlugins`, `rehypeSourceLines`, `scrollToLineAnchor`, `parseLineAnchor`, `parseFrontmatter`, `readVantageFrontmatter`, `sanitizeSchema`, `COLOR_THEME_ATTRIBUTE`, `COLOR_THEME_SOURCE_ATTRIBUTE`, `currentColorTheme` |
122
122
  | `vantage-md/react` | `MarkdownViewer`, `useLineAnchor`, `MermaidDiagram`, `FrontmatterDisplay`, `DocumentStatusChip` + all core exports |
123
123
  | `vantage-md/styles` | Line-anchor highlight CSS, plus the theme layer for the `data-vantage-*` directive attributes and the chrome chips (light + dark mode) |
124
124
 
@@ -132,6 +132,7 @@ if all you want is `data-source-line`.
132
132
  - **Frontmatter** — YAML (`---`) and TOML (`+++`) parsing. A reserved `vantage:` key carries file-scoped chrome: `status-chip: true` makes `FrontmatterDisplay` render the document's `status:` as a chip above the metadata card, and the reserved key itself is never shown as a metadata row
133
133
  - **Sanitization** — XSS-safe with allowlisted KaTeX/MathML elements
134
134
  - **Dark mode** — all styles support `.dark` class
135
+ - **Color themes** — `MermaidDiagram` follows a host page's color theme. While `<html>` carries `data-vantage-theme` (`COLOR_THEME_ATTRIBUTE`), diagram colors are read from the page's `--color-slate-*` variables instead of the built-in hex, and diagrams redraw when it or `data-vantage-theme-source` (`COLOR_THEME_SOURCE_ATTRIBUTE`: `built-in` or `user`, which tells a user theme apart from the built-in it replaces under the same id) changes. `currentColorTheme()` reads the first. A page that sets neither renders exactly as before
135
136
 
136
137
  ## License
137
138