@emmabastas/html-lint
v0.1.0-0.1.1
Published
Your one-stop shop for HTML linting activities
Readme
html-lint — Your one-stop shop for HTML linting activities
Whether you're using a templating engine for your server-side rendering, a frontend framework for your SPA, or making a good ol static website: If there's HTML involved, you can lint it using html-lint!
There are two ways of using html-lint
- In the terminal: Give the cli-app files to lint and it will give you a report.
- In the browser:
html-lintcan analyses the HTML in the website itself.
Why not use <my favorite HTML linter> instead?
There are many nice HTML linters out there, however html-lint tries to be something I have not seen elsewhere:
- Universal. Many html linters are tied to a specific ecosystem: djlint is tied to
pipand is for HTML templates only, html-eslint is tied to NodeJS and HTML-in-JS. Withhtml-lintyou can install it withpipfor your templates on Monday, and then use the same tool vianpmfor React on Tuesday. - zero-config, works for you.
html-lintcomes with sane defaults so you can focus on making good accessible HTML and not fuss about with configuration. There is always the option of customizing though. - Use it everywhere. The mix of simultaneously working in the terminal and on the browser isn't something I've seen elsewhre.
Use in the CLI
Installing
- Prebuilt binaries See releases for prebuilt binaries
- npm TODO
- pip TODO
- cargo
cargo install html-lint - Build from source TODO
Usage
Lint all HTML and handlebar files in src.
html-lint src/**/*.html src/**/*.hbsMore options with html-lint --help.
Use in the browser
⚡Easiest⚡: Use the reverse proxy
Go to html-lint.notadev.net to lint any website without installing anything!
Easy: Add <script> tag to your website.
Add <script src="https://cdnjs.cloudflare.com/TODO"></script> inside the <head> of any page you want linted in the browser. You can conditionally include the script tag in development only. The above script tag uses cdnjs.com to deliver the JS, if you want to host it yourself you can find minified JS bundles in browser/dist/.
Proper: npm package
TODO
Contributing
Please contribute <3. There are many ways to do so
- Let me know you appreciate this tool: Send me an email or star this repo, makes me really happy!
- Open issues with bugs or things that you want implemented.
- Add/improve linting rules. See /rules/rules.yaml for further information.
- Work on the CLI. See /cli/README.md for further information.
- TODO more.
License & Acknowledgments
The initial set of linting-rules where adapted from a11y.css. Without that project this project would probably not be, so huge shoutout <3.
The following files belong to the duktape.org project and are licensed under the MIT license.
The project uses uses some icons from CSS*GG. Whenever you see an HTML element with a class-name prefixed by gg- that icon is from CSS*GG.
All other code in this repository is owned by each respective contributor and licensed under the GNU Affero General Public License version 3 or later (AGPL-3.0-or-later). The license is found in LICENSE.
