Aquesta és una versió anterior. La versió actual és la 3.25.1. Vale 3.25.1 · Data de publicació:
Fitxers d’instal·lació 3.23.0
| Arquitectura | Tipus | Àmbit | Mida del fitxer | Baixa | SHA256 |
|---|---|---|---|---|---|
| 64 bits | ZIP → Portable · en-US | — | — | github.com | VirusTotal |
L’enllaç i l’SHA256 provenen del manifest comunitari del Gestor de paquets del Windows. Convé comparar el hash del fitxer baixat abans d’executar-lo.
Notes de la versió
Vale 3.23.0 reads a Sphinx project as Sphinx does, reads the markup inside source-code comments, and reads large files in linear time.
## Sphinx
Docutils knows only its own directives and roles, and dropped the body of every one it did not know, without a word:the prose in every `versionadded`, `seealso`, `tab`, or `grid` was never linted. Vale now decides the rest by a rule that fits nearly every Sphinx construct: the body of a directive Docutils doesn't define is prose, and the text of a role it doesn't define is code. A `:ref:` written with a title is linted as its title, and `:func:`, `:class:`, and `:doc:` are left alone. An extension's additions that don't fit the rule go in one section, which the reStructuredText and MyST readers both honor:
```ini
[sphinx]
CodeDirectives = mermaid, plantuml
ProseRoles = kbd, samp
```
Nothing needs Sphinx installed. reStructuredText also reads and writes UTF-8 whatever the console's code page, and the Docutils pool now works on Windows.
Docs:[Sphinx](https://docs.vale.sh/formats/sphinx)
## The markup inside comments
A tree-sitter View's per-scope `type` is honored, so a Rust `///` comment is read as Markdown, a Python docstring as reStructuredText, and a Javadoc block as HTML, each with its fenced blocks and inline code skipped:
```yaml
engine:tree-sitter
scopes:
• expr:(line_comment)+ @comment
type:md
```
Each language's documentation convention is understood on top of that:the name a Go doc comment opens with and its `[links]`, rustdoc and KDoc links, Javadoc and JSDoc tags and `@example` blocks, and a docstring's `:param:` fields are not prose. A comment addressed to a tool, `//go:build`, `//nolint`, `# noqa`, `eslint-disable`, is not read at all. Kotlin and TOML have grammars.
Docs:[Code Views](https://docs.vale.sh/topics/views#code), [Documentation conventions](https://docs.vale.sh/formats/code#documentation-conventions)
## Comments in data files
A YAML or TOML file's comments are linted beside the fields its View selects, under the scopes a source file's comments carry, and a `#` inside a string is not a comment.
Docs:[Data Views](https://docs.vale.sh/topics/views#data)
## Named scopes and metric variables
A scope can be written once in `config/scopes/` and used by name in any rule, and `doc(...)` accepts Selectors Level 4, relative selectors in `:has()` included:
```yaml
# styles/config/scopes/Methods.yml
scope:'doc(section:has(> h2:contains("Methods")))'
```
A `metric` formula has the readability scores as variables, `quote_words`, `sentence_length_sd`, and `round()`. A `quote` scope reaches the text between quotation marks. A rule can carry its own `tests:`, and `vale test --coverage` lists the rules without any.
Docs:[Named scopes](https://docs.vale.sh/topics/scopes#named-scopes), [Selections](https://docs.vale.sh/topics/scopes#selections), [metric variables](https://docs.vale.sh/checks/metric#variables)
## The package version this Vale supports
`vale sync` installs the release of a package that the running Vale supports, from a `releases` manifest in its `meta.json` or from the package's release feed, so a style that uses a newer key never breaks an older Vale. Built-in rules honor `[param]` settings, and `YES` and `NO` read as booleans.
Docs:[The version Vale supports](https://docs.vale.sh/keys/packages#the-version-vale-supports)
## Formats
• HTML:a page's `<meta name="description">` is prose, `<samp>` is code, and a figure's caption and alt text are no longer skipped with the figure.
• Org:`#+TITLE:` and `#+AUTHOR:` are prose, headline tags are not, and a footnote is reported where it is written.
• QDoc:an `\omit ... \endomit` on one line ends there.
• Plain text:a manuscript's chapters are headings, and metric rules see the file's summary.
• MDX:a code fence after a one-line element stays out of the HTML block.
## Changelog
• 2753160f spelling:Read faster on large files, and read figures and inline QDoc omissions
• 75c04b37 feat:Read a data file's comments beside its View, and a page's description
• 0ea6b7a1 fix:Honor a code View's scope type, mask doc-comment conventions, drop directives, and read Org keywords and footnotes in place
• 521deac8 fix:scalar settings reach the built-in rules, and YES and NO read as bools
• f8a01426 fix(rst):run the spawned rst2html in Python's UTF-8 mode
• f43fcfc5 docs:add discord
• 062bf1dc fix(rst):read and write UTF-8 whatever the console's code page
• 9a192397 feat:sync installs the release this Vale supports
• 27fa279c fix:give a plain-text file a summary, so metric rules and ls-metrics see it
• 62d4da8e fix:pool Docutils on Windows, where rst2html is a launcher with no shebang
• b66f8276 fix(mdx):keep a code fence after a one-line element out of an HTML block (#1194)
• 559bfe17 feat:one [sphinx] section for reStructuredText and MyST
• e435dab9 fix:place a script rule's matches by the block they index, not the file
• 33087fea feat:read a plain-text manuscript's chapters, and measure speech and pace
• 6ba35ce8 feat:read the body of a directive Docutils does not know as prose
• 459d3cda feat:Selectors Level 4 in doc(...)
• 0cc85df7 feat:named scopes, readability variables, and test coverage
• cea3fcdd fix:read a YAML file's comments through a tree-sitter View (#1188)
• 706f8582 Merge branch 'pr-1192' into v3
• 9bcf8d08 feat(code):add Kotlin comment extraction (#1183)
• 4bd1bc25 fix:place a paragraph that opens with inline content at its own text (#1186)
• b970c752 fix:place a match that wraps into an indented or quoted line (#1185)
• b9f2ee29 fix:locate a match past a multi-byte mask (#1184) (#1193)
• 123e3f98 chore(deps):bump github.com/tomwright/dasel/v3 from 3.10.1 to 3.11.2 (#1190)
• 64d2aa2c ci:allow benchstat to select its required Go toolchain
• 70f3c136 fix:place a summary-scoped alert on the prose it counted
• 275cd4c7 fix:metric positions in sentence scope
• cac1949c feat:allow metrics to report scoped locations
• 90eaca41 fix:put a fragment file back before the raw scope runs (#1182)
• ba6a2c6a feat:add a quote scope for the text between quotation marks
• 520962ef fix:gather a leaf element's own text for a doc(...) selection on it
• 0904d198 feat:accept a selector group at the top level of doc(...)
• 86032fc9 fix:find a package directory whose case differs from the URL basename