CLI para validação de páginas HTML usando validator.w3.org.
html-w3c-validator é uma ferramenta CLI para validar páginas HTML usando validator.w3.org.
Você pode usar uma estrutura JavaScript ou simplesmente usar HTML, mas você deve sempre validar seu HTML de produção e essa validação deve fazer parte de seu pipeline de CI/CD (testes, linting, etc.).
Citação de https://validator.w3.org/docs/help.html#why-validate:
Uma das máximas importantes da programação de computadores é: “Seja conservador naquilo que você produz; seja liberal naquilo que você aceita”.
Os navegadores seguem a segunda metade dessa máxima, aceitando páginas da Web e tentando exibi-las mesmo que não sejam HTML legais. Normalmente, isso significa que o navegador tentará fazer suposições fundamentadas sobre o que você provavelmente quis dizer. O problema é que navegadores diferentes (ou mesmo versões diferentes do mesmo navegador) farão suposições diferentes sobre a mesma construção ilegal; pior, se o seu HTML for realmente patológico, o navegador poderá ficar irremediavelmente confuso e produzir uma bagunça ou até mesmo travar.
Você pode combinar html-w3c-validator com start-server-and-test para validar as páginas HTML do seu projeto.
Node.js >= 16.0.0
npm install --save-dev html-w3c-validator start-server-and-test
package.json
{
"scripts" : {
// Command to start the server serving your HTML pages (e.g: using vercel/serve)
"start" : "serve "./build"" ,
// Command to validate your HTML pages
"test:html-w3c-validator" : "start-server-and-test "start" "http://127.0.0.1:3000" "html-w3c-validator"" ,
} ,
}
.html-w3c-validatorrc.json
{
"$schema" : "./node_modules/html-w3c-validator/schema/schema.json" ,
// URLs to validate.
"urls" : [ "http://127.0.0.1:3000/" , "http://127.0.0.1:3000/about" ] ,
// Files to validate.
"files" : [ "./index.html" , "./about.html" ] ,
// Specify the severities of the validator messages to report. (default: ["warning", "error"])
"severities" : [ "info" , "warning" , "error" ] ,
}
node --run test:html-w3c-validator
Exemplo de saída (em caso de sucesso):
✔ Validating http://127.0.0.1:3000/
✔ Validating http://127.0.0.1:3000/about
Success: HTML validation (W3C) passed! ?
Veja a pasta ./example para uso prático.
--current-working-directory <path> The current working directory (default: `process.cwd()`).
-V, --version Output the version number.
-h, --help Display help for command.
Qualquer pessoa pode ajudar a melhorar o projeto, enviar uma solicitação de recurso, um relatório de bug ou até mesmo corrigir um simples erro ortográfico.
As etapas para contribuir podem ser encontradas no arquivo CONTRIBUTING.md.
MIT