Giter Site home page Giter Site logo

tyhal / vale Goto Github PK

View Code? Open in Web Editor NEW

This project forked from errata-ai/vale

0.0 1.0 0.0 71.59 MB

:pencil: A syntax-aware linter for prose built with speed and extensibility in mind.

Home Page: https://docs.errata.ai

License: MIT License

Dockerfile 0.15% Ruby 1.49% Makefile 0.69% Go 73.65% Gherkin 17.21% HTML 2.89% Python 1.96% TeX 0.32% Batchfile 0.27% Haskell 0.23% Rust 0.16% Lua 0.19% C++ 0.55% PHP 0.08% R 0.14%

vale's Introduction

Vale: Your style, our editor Build status Go Report Card GitHub All Releases Docker Pulls

Vale is a command-line tool that brings code-like linting to prose. It's fast, cross-platform (Windows, macOS, and Linux), and highly customizable.

DocumentationExample ConfigurationsStyles LibraryGitHub Action

❤️ Sponsors

Hi there! I'm @jdkato, the sole developer of Vale. If you'd like to help me dedicate more time to developing, documenting, and supporting Vale, feel free to donate through the Open Collective. Any donation—big, small, one-time, or recurring—is greatly appreciated!

Organizations

Individuals

💥 Key Features

  • Support for markup: Vale has a rich understanding of many markup formats, allowing it to avoid syntax-related false positives and intelligently exclude code snippets from prose-related rules.

  • A highly customizable extension system: Vale is capable of enforcing your style—be it a standard editorial style guide or a custom in-house set of rules (such as those created by GitLab, Homebrew, Linode, CockroachDB, and Spotify).

  • Easy-to-install, stand-alone binaries: Unlike other tools, Vale doesn't require you to install and configure a particular programming language and its related tooling (such as Python/pip or Node.js/npm).

See the documentation for more information.

🔍 At a Glance: Vale vs. <...>

NOTE: While all of the options listed below are open-source (CLI-based) linters for prose, their implementations and features vary significantly. And so, the "best" option will depends on your specific needs and preferences.

Functionality

Tool Extensible Checks Supports Markup Built With License
Vale Yes (via YAML) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, HTML, XML) Go MIT
textlint Yes (via JavaScript) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, HTML, Re:VIEW) JavaScript MIT
RedPen Yes (via Java) spelling, style Yes (Markdown, AsciiDoc, reStructuredText, Textile, Re:VIEW, and LaTeX) Java Apache-2.0
write-good Yes (via JavaScript) style No JavaScript MIT
proselint No style No Python BSD 3-Clause
Joblint No style No JavaScript MIT
alex No style Yes (Markdown) JavaScript MIT

The exact definition of "Supports Markup" varies by tool but, in general, it means that the format is understood at a higher level than a regular plain-text file (for example, features like excluding code blocks from spell check).

Extensibility means that there's a built-in means of creating your own rules without modifying the original source code.

Benchmarks

This benchmark has all three tools configured to use their implementations of the write-good rule set and Unix-style output. This benchmark runs Vale's implementation of proselint's rule set against the original. Both tools are configured to use JSON output.
This benchmark runs Vale's implementation of Joblint's rule set against the original. Both tools are configured to use JSON output. This benchmark has all three tools configured to perform only English spell checking using their default output styles.

All benchmarking was performed using the open-source hyperfine tool on a MacBook Pro (2.9 GHz Intel Core i7):

hyperfine --warmup 3 '<command>'

The corpus IDs in the above plots—gitlab and ydkjs—correspond to the following files:

  • A snapshot of GitLab's open-source documentation (1,500 Markdown files).

  • A chapter from the open-source book You Don't Know JS.

📄 License

FOSSA Status

vale's People

Contributors

arthurflag avatar ashmckenzie avatar chrischinchilla avatar d2s avatar dsyer avatar im2nguyen avatar issyl0 avatar jdkato avatar juneezee avatar marvin9 avatar monkeywithacupcake avatar pklaschka avatar plaindocs avatar rfdonnelly avatar svx avatar wouter-veeken avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.