vantage-md 0.6.1 → 0.7.0
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 +211 -0
- package/README.md +3 -2
- package/dist/index.cjs +210 -31
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1128 -95
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +1128 -95
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +205 -32
- package/dist/index.js.map +1 -1
- package/dist/prose.css +1 -1
- package/dist/react.cjs +159 -33
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +1021 -56
- package/dist/react.d.cts.map +1 -1
- package/dist/react.d.ts +1021 -56
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +159 -33
- package/dist/react.js.map +1 -1
- package/package.json +4 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
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.0] - 2026-09-23
|
|
13
|
+
|
|
14
|
+
Vantage now supports color themes and bookmarks, and reads per-project settings
|
|
15
|
+
from `.vantage.toml`.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
|
|
19
|
+
**Color themes.** Pick a palette under **Colors** in the settings menu. Six come
|
|
20
|
+
with Vantage: Catppuccin, Gruvbox, Lila, Nord, Solarized, and Tokyo Night, each
|
|
21
|
+
with its own light and dark variants, alongside the default look, now called
|
|
22
|
+
Slate.
|
|
23
|
+
|
|
24
|
+
To write your own, put a CSS file in `~/.config/vantage/themes/`. It shows up in
|
|
25
|
+
the menu on the next page load, with no restart. Set `theme = "gruvbox"` in your
|
|
26
|
+
config to start every browser in one. A project can suggest a theme in its
|
|
27
|
+
`.vantage.toml`, and your own choice always wins. A theme with no dark colors is
|
|
28
|
+
listed as "(light only)". Every built-in theme keeps its text at 3:1 contrast or
|
|
29
|
+
better in both modes, checked in a real browser; your own themes aren't checked.
|
|
30
|
+
Review mode's comment colors and printing still ignore the theme. See
|
|
31
|
+
[Color Themes](userguide/guides/themes.md).
|
|
32
|
+
|
|
33
|
+
**Bookmarks.** Click the star next to a document's name to bookmark it. Folders
|
|
34
|
+
work too. Bookmarks appear in a **Starred** section above the file tree. They're
|
|
35
|
+
stored in `~/.local/share/vantage/starred/` instead of in your browser, so they
|
|
36
|
+
survive a restart and show up in every tab. If a bookmarked file disappears, the
|
|
37
|
+
entry stays put and offers to remove itself when you open it.
|
|
38
|
+
|
|
39
|
+
A project can also list the documents worth reading first in its `.vantage.toml`,
|
|
40
|
+
and you can list files you always want starred in your own config. Those entries
|
|
41
|
+
are marked with a pin and name the file that added them. See
|
|
42
|
+
[Starred](userguide/features.md#starred).
|
|
43
|
+
|
|
44
|
+
**Open questions in the contents panel.** A document's open questions now appear
|
|
45
|
+
in the table of contents, under the heading they sit below, with a count next to
|
|
46
|
+
**Contents**. `💬 3` means three are waiting on a decision; `💬 1 ✅ 2` means one
|
|
47
|
+
is open and two are answered. Click one to jump to it. See
|
|
48
|
+
[Table of Contents](userguide/features.md#table-of-contents).
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
|
|
52
|
+
Settings now follow you between tabs. Before, a second tab read most settings
|
|
53
|
+
once when it loaded and then drifted, so changing the theme in one tab left the
|
|
54
|
+
other on the old one. `Shift+D` had the same problem inside a single tab: it
|
|
55
|
+
changed the page without updating the settings menu. The sidebar and its width,
|
|
56
|
+
the tree filters, the project sort order, light/dark, and the color theme all
|
|
57
|
+
stay in sync now.
|
|
58
|
+
|
|
59
|
+
Review mode is a deliberate exception. Two tabs are usually on different
|
|
60
|
+
documents, and picking up a toggle from another tab would close the review pane
|
|
61
|
+
while you're partway through a comment.
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- The file pickers (`t`, `Shift+T`, `Shift+R`, `Shift+P`) reload their list every
|
|
66
|
+
time they open, and a picker that's already open keeps up with the filesystem.
|
|
67
|
+
Before, a file created after the page loaded was unfindable until you
|
|
68
|
+
reloaded.
|
|
69
|
+
- A modified file's icon was too faint to read in the file tree in light mode.
|
|
70
|
+
- A document that fails to load no longer moves you off the one you're reading,
|
|
71
|
+
and the error names the file you actually asked for.
|
|
72
|
+
- A slow response for a document you've already navigated away from is thrown
|
|
73
|
+
away instead of replacing what you're reading.
|
|
74
|
+
- `vantage-check check --config <a directory>` now says
|
|
75
|
+
`docs is a directory, not a config file` and exits 2, instead of printing a
|
|
76
|
+
stack trace.
|
|
77
|
+
|
|
78
|
+
### Contributors
|
|
79
|
+
|
|
80
|
+
Thanks to [@nichiflu](https://github.com/nichiflu) for the initial color-theme
|
|
81
|
+
implementation.
|
|
82
|
+
|
|
83
|
+
### Works well with
|
|
84
|
+
|
|
85
|
+
[matt-craft](https://github.com/mschulkind-oss/matt-craft) is out — the skills I use to
|
|
86
|
+
write the documents I then read in Vantage: design notes that carry their open
|
|
87
|
+
questions, roadmaps, research rounds, user stories, and one for Vantage's own Markdown
|
|
88
|
+
conventions. It is not part of Vantage and Vantage does not need it. If you write your
|
|
89
|
+
own documents your own way, nothing here changes for you.
|
|
90
|
+
|
|
91
|
+
## 0.6.x
|
|
92
|
+
|
|
93
|
+
_0.6.0 – 0.6.2, September 2026._
|
|
94
|
+
|
|
95
|
+
Long documents have a table of contents. The list button beside the breadcrumb
|
|
96
|
+
shows the document's headings in the left margin, and the list stays put while
|
|
97
|
+
you scroll. The button beside it lets the text fill the pane. The reading band
|
|
98
|
+
moved to the left edge too, so the file list, the contents, and the text sit
|
|
99
|
+
together.
|
|
100
|
+
|
|
101
|
+
- Serving a git repository no longer makes the browser reload itself once a
|
|
102
|
+
second. Vantage's own `git status` calls rewrote `.git/index`, and the watcher
|
|
103
|
+
read that as your edit.
|
|
104
|
+
- A repository cloned under one of your `source_dirs` shows up within thirty
|
|
105
|
+
seconds, with no restart. One whose directory goes away is dropped, then
|
|
106
|
+
picked back up when it returns. See
|
|
107
|
+
[Daemon Mode](userguide/guides/daemon-mode.md).
|
|
108
|
+
- A port you name is bound exactly or startup fails. Only the default 8000 walks
|
|
109
|
+
to the next free port, and it tells you which one it took.
|
|
110
|
+
- Images on adjacent lines render on one row, the way GitHub lays them out. A
|
|
111
|
+
README's badges used to stack into a column.
|
|
112
|
+
- `vantage-check` splits a run across worker threads by default, and the report
|
|
113
|
+
reads the same either way.
|
|
114
|
+
|
|
115
|
+
### Contributors
|
|
116
|
+
|
|
117
|
+
Thanks to Eduardo Hidalgo ([@edus44](https://github.com/edus44)) for the table
|
|
118
|
+
of contents, the Vantage favicon, and fixes to port selection and spurious
|
|
119
|
+
browser reloads.
|
|
120
|
+
|
|
121
|
+
## 0.5.x
|
|
122
|
+
|
|
123
|
+
_0.5.0 – 0.5.10, May to September 2026._
|
|
124
|
+
|
|
125
|
+
Vantage stopped being a Python server and became one Go binary. The viewer and
|
|
126
|
+
the shortcuts are the same; installing it is not. You install it with `brew
|
|
127
|
+
install`, `uvx vantage-md ~/notes`, or a platform archive from a release.
|
|
128
|
+
`vantage serve` opens your browser, and `--no-open` stops it.
|
|
129
|
+
|
|
130
|
+
- `vantage-check` is new. It runs your documents through the viewer's own
|
|
131
|
+
pipeline and reports dead links, dead anchors, broken mermaid diagrams, and
|
|
132
|
+
style problems. See [vantage-check](userguide/guides/vantage-check.md).
|
|
133
|
+
- You can mark a document up with `<!-- vantage: … -->` comments that GitHub
|
|
134
|
+
ignores and Vantage reads: a status chip beside a heading, collapsible
|
|
135
|
+
sections, emphasis, and badges. GitHub's alert blocks render too.
|
|
136
|
+
- Review mode was rebuilt. A comment anchors to a whole block, replies thread, a
|
|
137
|
+
rail shows where the comments are, and you can answer an open question in one
|
|
138
|
+
click. Agents reply through a `.vantage/` directory. See
|
|
139
|
+
[The `.vantage/` directory](userguide/guides/review-inbox.md).
|
|
140
|
+
- The "What's New" popup, the changed-document highlight, and the jj history
|
|
141
|
+
viewer were removed.
|
|
142
|
+
- `.vantageignore` and `~/.config/vantage/ignore` keep files out of the tree, and
|
|
143
|
+
the sidebar has a drag handle that remembers its width.
|
|
144
|
+
|
|
145
|
+
## 0.4.x
|
|
146
|
+
|
|
147
|
+
_0.4.0 – 0.4.2, April 2026._
|
|
148
|
+
|
|
149
|
+
Installing Vantage got short. `uvx vantage-md ~/notes` started the server and
|
|
150
|
+
opened your browser at the directory you named, and naming a file landed on that
|
|
151
|
+
file with the sidebar already expanded. There was a Homebrew formula as well.
|
|
152
|
+
macOS became a platform Vantage was tested on.
|
|
153
|
+
|
|
154
|
+
- Review mode became per file. Turning it on for one document no longer followed
|
|
155
|
+
you to the next, and the toggle survived a reload even before you had written a
|
|
156
|
+
comment.
|
|
157
|
+
- Hovering any paragraph in review mode put a button in the gutter, so you could
|
|
158
|
+
comment on a whole block without selecting text first.
|
|
159
|
+
- You could edit a comment in place, from the document or from the sidebar.
|
|
160
|
+
Resolved comments collapsed into one indicator instead of asking to be
|
|
161
|
+
dismissed one at a time.
|
|
162
|
+
- A comment you had just written was sometimes marked "Outdated" immediately.
|
|
163
|
+
- `log_level` in the config, `VANTAGE_LOG_LEVEL` in the environment. The watcher
|
|
164
|
+
reported your inotify limits at startup and warned near the ceiling, which is
|
|
165
|
+
the usual reason live reload stops working.
|
|
166
|
+
|
|
167
|
+
## 0.3.x
|
|
168
|
+
|
|
169
|
+
_0.3.0 – 0.3.8, April 2026._
|
|
170
|
+
|
|
171
|
+
This is the line that added review mode. You turned it on for a document,
|
|
172
|
+
selected some text, and left a comment. The server stored the comments, so they
|
|
173
|
+
survived a restart. When the text under a comment changed, the comment turned
|
|
174
|
+
amber and said "Outdated". Every save while review mode was on snapshotted the
|
|
175
|
+
previous version, so you could step back through revisions and see which
|
|
176
|
+
paragraphs had changed. One button copied every comment as Markdown quotes, with
|
|
177
|
+
line numbers and surrounding context, ready to paste to an agent.
|
|
178
|
+
|
|
179
|
+
- Opening a project no longer waited for its file tree. The document rendered
|
|
180
|
+
first and the sidebar filled in behind it.
|
|
181
|
+
- Headings got hover anchors, and `#L42` or `#L42-L50` in the URL scrolled to
|
|
182
|
+
those source lines and highlighted them.
|
|
183
|
+
- You could collapse the sidebar to give the document the window, and reveal
|
|
184
|
+
hidden or gitignored files with new toggles.
|
|
185
|
+
- TOML frontmatter between `+++` fences was parsed and shown, with taxonomies and
|
|
186
|
+
extra fields as tag pills.
|
|
187
|
+
- A red banner with a timer appeared when the page lost its connection, so a
|
|
188
|
+
document that had stopped live-reloading said so.
|
|
189
|
+
|
|
190
|
+
## 0.2.x and earlier
|
|
191
|
+
|
|
192
|
+
_0.0.1 – 0.2.0, February to March 2026._
|
|
193
|
+
|
|
194
|
+
Where Vantage started. It served the Markdown in your git repositories over a
|
|
195
|
+
local port and reloaded the page when you saved: GitHub-flavored Markdown,
|
|
196
|
+
syntax highlighting, KaTeX math, mermaid diagrams you could click to zoom,
|
|
197
|
+
commit history and diffs, a fuzzy file picker on `t`, dark mode on `Shift+D`,
|
|
198
|
+
vim-style scrolling, and a print stylesheet. It could also export a static site
|
|
199
|
+
to host on Cloudflare Pages or S3. The server was written in Python then.
|
|
200
|
+
|
|
201
|
+
- `Shift+T` searched files across every project, `P` switched projects, `r` and
|
|
202
|
+
`Shift+R` found recently modified files, and `y` copied the current file's
|
|
203
|
+
absolute path.
|
|
204
|
+
- `source_dirs` in the config found every git repository under a directory, so
|
|
205
|
+
you did not have to list them one by one.
|
|
206
|
+
- The project picker became a full page, with repository names, relative
|
|
207
|
+
timestamps, and a toggle between alphabetical and recent order.
|
|
208
|
+
- A "What's New" popup showed the changelog the first time you opened a new
|
|
209
|
+
version. You could turn it off in settings. Vantage dropped it in 0.5.
|
|
210
|
+
- A jj history and evolution viewer sat beside the git one, for Jujutsu
|
|
211
|
+
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
|
|
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
|
|