mirror of https://github.com/vuejs/vitepress
dependabot/npm_and_yarn/vitest-4.1.11
main
feat/not-found
feat/md-sourcemaps
feat/scoped-shiki-options
fix/dev-restart-resilience
fix/live-markdown-options
navbar-redesign-triage
feat/render-md
report-raw-dead-links
set-scrollbar-gutter
unmerged-prs-triage
enable-meta-chunk
refactor-release-script
feat/llms-txt
triage
router
gh-pages
userquin/fix-skip-to-content
fix/4928
v2-theme
v1
link-headers-experiment
fix/2980
userquin/feat-use-best-lang-match-for-last-update
userquin/feat-add-external-translation-repo-links
userquin/feat-add-inert-content-again
userquin/feat-include-ids-and-anchor-check
userquin/feat-add-print-options
fix/2989
progressbar
v0.9.1
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.12.0
v0.12.1
v0.12.2
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.15.4
v0.15.5
v0.15.6
v0.16.0
v0.16.1
v0.17.0
v0.17.1
v0.17.2
v0.17.3
v0.18.0
v0.18.1
v0.19.0
v0.19.1
v0.19.2
v0.20.0
v0.20.1
v0.20.10
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.20.7
v0.20.8
v0.20.9
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.21.5
v0.21.6
v0.22.0
v0.22.1
v0.22.2
v0.22.3
v0.22.4
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.4
v0.8.0
v0.8.1
v0.9.0
v0.9.2
v1.0.0
v1.0.0-alpha.1
v1.0.0-alpha.10
v1.0.0-alpha.11
v1.0.0-alpha.12
v1.0.0-alpha.13
v1.0.0-alpha.14
v1.0.0-alpha.15
v1.0.0-alpha.16
v1.0.0-alpha.17
v1.0.0-alpha.18
v1.0.0-alpha.19
v1.0.0-alpha.2
v1.0.0-alpha.20
v1.0.0-alpha.21
v1.0.0-alpha.22
v1.0.0-alpha.23
v1.0.0-alpha.24
v1.0.0-alpha.25
v1.0.0-alpha.26
v1.0.0-alpha.27
v1.0.0-alpha.28
v1.0.0-alpha.29
v1.0.0-alpha.3
v1.0.0-alpha.30
v1.0.0-alpha.31
v1.0.0-alpha.32
v1.0.0-alpha.33
v1.0.0-alpha.34
v1.0.0-alpha.35
v1.0.0-alpha.36
v1.0.0-alpha.37
v1.0.0-alpha.38
v1.0.0-alpha.39
v1.0.0-alpha.4
v1.0.0-alpha.40
v1.0.0-alpha.41
v1.0.0-alpha.42
v1.0.0-alpha.43
v1.0.0-alpha.44
v1.0.0-alpha.45
v1.0.0-alpha.46
v1.0.0-alpha.47
v1.0.0-alpha.48
v1.0.0-alpha.49
v1.0.0-alpha.5
v1.0.0-alpha.50
v1.0.0-alpha.51
v1.0.0-alpha.52
v1.0.0-alpha.53
v1.0.0-alpha.54
v1.0.0-alpha.55
v1.0.0-alpha.56
v1.0.0-alpha.57
v1.0.0-alpha.58
v1.0.0-alpha.59
v1.0.0-alpha.6
v1.0.0-alpha.60
v1.0.0-alpha.61
v1.0.0-alpha.62
v1.0.0-alpha.63
v1.0.0-alpha.64
v1.0.0-alpha.65
v1.0.0-alpha.66
v1.0.0-alpha.67
v1.0.0-alpha.68
v1.0.0-alpha.69
v1.0.0-alpha.7
v1.0.0-alpha.70
v1.0.0-alpha.71
v1.0.0-alpha.72
v1.0.0-alpha.73
v1.0.0-alpha.74
v1.0.0-alpha.75
v1.0.0-alpha.76
v1.0.0-alpha.8
v1.0.0-alpha.9
v1.0.0-beta.1
v1.0.0-beta.2
v1.0.0-beta.3
v1.0.0-beta.4
v1.0.0-beta.5
v1.0.0-beta.6
v1.0.0-beta.7
v1.0.0-rc.1
v1.0.0-rc.10
v1.0.0-rc.11
v1.0.0-rc.12
v1.0.0-rc.13
v1.0.0-rc.14
v1.0.0-rc.15
v1.0.0-rc.16
v1.0.0-rc.17
v1.0.0-rc.18
v1.0.0-rc.19
v1.0.0-rc.2
v1.0.0-rc.20
v1.0.0-rc.21
v1.0.0-rc.22
v1.0.0-rc.23
v1.0.0-rc.24
v1.0.0-rc.25
v1.0.0-rc.26
v1.0.0-rc.27
v1.0.0-rc.28
v1.0.0-rc.29
v1.0.0-rc.3
v1.0.0-rc.30
v1.0.0-rc.31
v1.0.0-rc.32
v1.0.0-rc.33
v1.0.0-rc.34
v1.0.0-rc.35
v1.0.0-rc.36
v1.0.0-rc.37
v1.0.0-rc.38
v1.0.0-rc.39
v1.0.0-rc.4
v1.0.0-rc.40
v1.0.0-rc.41
v1.0.0-rc.42
v1.0.0-rc.43
v1.0.0-rc.44
v1.0.0-rc.45
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.5
v1.5.0
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v2.0.0-alpha.1
v2.0.0-alpha.10
v2.0.0-alpha.11
v2.0.0-alpha.12
v2.0.0-alpha.13
v2.0.0-alpha.14
v2.0.0-alpha.15
v2.0.0-alpha.16
v2.0.0-alpha.17
v2.0.0-alpha.18
v2.0.0-alpha.19
v2.0.0-alpha.2
v2.0.0-alpha.20
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-alpha.6
v2.0.0-alpha.7
v2.0.0-alpha.8
v2.0.0-alpha.9
${ noResults }
9 Commits (feat/md-sourcemaps)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
f29546e671 |
fix(markdown): normalize source-file identities to posix separators
The Windows CI leg caught mixed separator styles: slash()ed include paths were compared against native-separator ancestors, which broke the circular-include guard (a -> b -> a expanded one extra level), and line-map files, dead-link reports and the ignoreDeadLinks context mixed C:/ and C:\ forms. The file identity is now slash()ed once at the render entry point, so everything stored, compared or reported - segment files, the ancestor chain, rebase comparisons, deadLinks[].file/.via and filter contexts - uses posix separators on every platform. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
2 weeks ago |
|
|
5f8677e53f |
fix(markdown): give stitched lines no position instead of a wrong one
An output line assembled from more than one source (page text on the same line as an include directive) matches no single physical line, so any position on it names the wrong place. Rebasing trusted such lines' file attribution and rewrote the page's own relative links against the included file's directory when a mid-line include came first; columns on splice tail lines were measured against the expanded text. Links and attributes on spliced lines now carry no location at all, and the tail line after a mid-line include is marked spliced too. Also from the adversarial review: omit the column when the inline text appears more than once in its raw line (repeated table cells) instead of guessing the first occurrence; give a fully-elided source an identity line map instead of letting resolve() throw; store segment files posix-style so Windows builds compare and report one separator; offset alert paragraph_open attrs past the removed marker like their inline content; keep the page's line map and dev attrs out of excerpt renders; name the including page in dead-link reports for included files (deadLinks[].via); and harden the dev click handler (relative-base endpoint, fetch failure). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
2 weeks ago |
|
|
ecd5a49a2a |
fix(markdown): keep positions exact in github alert bodies
The vp_github_alerts rule strips the alert marker from the first inline token's content before inline parsing, shifting every position in the body up by the marker line and breaking column re-alignment. The rule now records how many lines it removed (token.meta.vpLineOffset) and the source positions plugin adds them back. Also re-emit the source-location attribute from the remaining hand-built renderers that dropped it (::: v-pre and ::: raw wrappers, math blocks), and pop it off fence tokens in preWrapper so a custom highlight falling back to markdown-it's default fence renderer cannot emit it twice. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
2 weeks ago |
|
|
ddb45d0484 |
feat(build)!: report dead links with exact file, line and column
env.links becomes an array of { url, raw, loc } objects: the normalized
href, the destination as authored (decoded), and the exact position it was
authored at — including inside `<!-- @include -->`-ed files, which
previously reported the including page with a line in the expanded text.
Reports print the URL as written plus the resolved page path
(`(resolves to /x) in file.md:12:5`), fixing #4992 and #3774's halves of
the same complaint, and table-cell links (which had no line at all) and
links past the first line of a paragraph now carry exact positions.
Carries over the raw-URL reporting and test matrix from #5316.
BREAKING CHANGE: `env.links` entries are objects instead of strings and
`env.linkLines` is gone; `ignoreDeadLinks` strings, regexes and filter
functions now match the link as authored instead of the normalized encoded
URL, and filter functions receive a `{ file, line, column, url }` context
object instead of the source path string; `MarkdownCompileResult.deadLinks`
entries gained `resolved`/`column` and their `url` is now the authored
form. The markdown-it rule names `github-alerts`, `snippet` and
`vitepress_link_lines` are renamed/replaced by `vp_`-prefixed rules.
Co-authored-by: Bjorn Lu <34116392+bluwy@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2 weeks ago |
|
|
62dcdf0806 |
feat(markdown)!: map rendered source lines back through includes
Include expansion now emits a line map alongside the expanded source (env.lineMap): one segment per contiguous run of lines, composed through nested includes, region/heading/range slices (with the included file's stripped frontmatter height folded in) and the isolation blank lines. Every resolved source position now names the physical file a construct was authored in. This replaces the rebase-marker mechanism outright: relative URLs in included markdown are rebased by resolving the token's position instead of maintaining a marker stack scrubbed out of html_block tokens, which also extends rebasing to lines following an inline include and makes block isolation of own-line markdown includes unconditional (previously both were skipped when markers could not be emitted). BREAKING CHANGE: the `<!-- @include-start/end -->` markers no longer exist in the expanded source (`env.src`). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
2 weeks ago |
|
|
09f9672ee1
|
fix: harden eager frontmatter interpolation (#5413)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com> |
2 weeks ago |
|
|
5a368d3198 |
chore: format codebase and remove unused icons
|
3 weeks ago |
|
|
6a337efece |
feat(markdown)!: rebase relative urls in included files
Relative image and link urls inside included markdown files now resolve from the included file's location instead of from the page including it, so a partial can link to its neighbors regardless of who includes it. This matches @mdit/plugin-include, whose resolveImagePath and resolveLinkPath are on by default as well. Included content is wrapped in marker comments during expansion; hidden html_block rules maintain a per-render directory stack and the image and link_open renderer wrappers rebase '.'-prefixed urls against its top, so nested includes resolve correctly and urls outside included content are untouched. The markers are separated by blank lines so an adjacent html block cannot absorb them, and are only emitted for directives on a line of their own outside fenced blocks, so they can never reach the output. The include plugin registers after the image and link plugins so that rebasing runs before their url handling. BREAKING CHANGE: relative urls in included markdown files resolve against the included file rather than the including page. Partials written for one specific location may need their links updated, or markdown.include.rebaseRelativeUrls set to false to keep resolving them from the including page. Absolute and external urls are unaffected. Note that the marker comments shift the line numbers reported for dead links following an include, which already pointed into the include-expanded source rather than the original file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
1 month ago |
|
|
0e50d756f5 |
feat(markdown)!: rewrite include processing as a markdown plugin
Moves <!-- @include: --> expansion out of markdownToVue and the local search plugin into an include plugin registered on the renderer, which wraps renderAsync and expands includes whenever the env carries a file path. createMarkdownRenderer users and createContentLoader with render or excerpt enabled now get includes expanded too (previously the directives silently came through unexpanded), and the expansion is reachable from the public API without exporting the helper (#4838). Region selection uses the region engine (all same-named regions concatenate, matched across comment styles), frontmatter of markdown files is stripped before locating regions and headings so both share one coordinate space, and the region suffix is anchored to the end of the include path, so paths containing # now work. Files reached by a failed render are still reported, so that creating a missing snippet or include recovers the page instead of requiring an edit of the including file. BREAKING CHANGES: - a missing region or heading anchor now throws instead of silently including the whole file, and out-of-bounds or inverted ranges throw instead of clamping; markdown.include.silent logs a warning and expands to nothing instead - markdown.include is a new option; false disables include processing - custom search _render functions receive the raw source (sync md.render does not expand includes; use renderAsync) - the include-expanded source is exposed as env.src Co-authored-by: Miroma <its.miroma@proton.me> Co-authored-by: Naloam <110604855+Naloam@users.noreply.github.com> Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
1 month ago |