CLI pour valider les pages HTML à l'aide de validator.w3.org.
html-w3c-validator est un outil CLI pour valider les pages HTML à l'aide de validator.w3.org.
Vous pouvez utiliser un framework JavaScript ou simplement utiliser du HTML mais vous devez toujours valider votre HTML de production et cette validation doit faire partie de votre pipeline CI/CD (tests, linting, etc.).
Citation de https://validator.w3.org/docs/help.html#why-validate :
L'une des maximes importantes de la programmation informatique est la suivante : « Soyez conservateur dans ce que vous produisez ; soyez libéral dans ce que vous acceptez ».
Les navigateurs suivent la seconde moitié de cette maxime en acceptant les pages Web et en essayant de les afficher même si elles ne sont pas au format HTML légal. Cela signifie généralement que le navigateur essaiera de faire des suppositions éclairées sur ce que vous vouliez probablement dire. Le problème est que différents navigateurs (ou même différentes versions du même navigateur) feront des suppositions différentes sur la même construction illégale ; Pire encore, si votre code HTML est vraiment pathologique, le navigateur pourrait devenir désespérément confus et produire un désordre mutilé, voire même planter.
Vous pouvez combiner html-w3c-validator avec start-server-and-test pour valider les pages HTML de votre projet.
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
Exemple de résultat (en cas de succès) :
✔ Validating http://127.0.0.1:3000/
✔ Validating http://127.0.0.1:3000/about
Success: HTML validation (W3C) passed! ?
Voir le dossier ./example pour une utilisation pratique.
--current-working-directory <path> The current working directory (default: `process.cwd()`).
-V, --version Output the version number.
-h, --help Display help for command.
N'importe qui peut contribuer à améliorer le projet, soumettre une demande de fonctionnalité, un rapport de bug ou même corriger une simple faute d'orthographe.
Les étapes pour contribuer se trouvent dans le fichier CONTRIBUTING.md.
MIT