CLI สำหรับการตรวจสอบหน้า HTML โดยใช้ validator.w3.org
html-w3c-validator เป็นเครื่องมือ CLI เพื่อตรวจสอบความถูกต้องของหน้า HTML โดยใช้ validator.w3.org
คุณอาจใช้เฟรมเวิร์ก JavaScript หรือเพียงใช้ HTML แต่ คุณควรตรวจสอบ HTML ที่ใช้งานจริงของคุณเสมอ และการตรวจสอบนี้ควรเป็นส่วนหนึ่งของไปป์ไลน์ CI/CD ของคุณ (การทดสอบ การ Linting ฯลฯ)
คำพูดจากhttps://validator.w3.org/docs/help.html#why-validate:
หลักการสำคัญอย่างหนึ่งของการเขียนโปรแกรมคอมพิวเตอร์คือ "จงอนุรักษ์นิยมในสิ่งที่คุณผลิต จงเสรีนิยมในสิ่งที่คุณยอมรับ"
เบราว์เซอร์ปฏิบัติตามครึ่งหลังของหลักนี้โดยยอมรับเว็บเพจและพยายามแสดงหน้าเว็บเหล่านั้น แม้ว่าจะไม่ใช่ HTML ที่ถูกกฎหมายก็ตาม โดยปกติแล้วจะหมายความว่าเบราว์เซอร์จะพยายามคาดเดาอย่างมีหลักการเกี่ยวกับสิ่งที่คุณน่าจะหมายถึง ปัญหาคือเบราว์เซอร์ที่แตกต่างกัน (หรือแม้แต่เบราว์เซอร์เดียวกันในเวอร์ชันที่แตกต่างกัน) จะคาดเดาที่แตกต่างกันเกี่ยวกับโครงสร้างที่ผิดกฎหมายเดียวกัน ที่แย่กว่านั้น หาก HTML ของคุณมีพยาธิสภาพจริง ๆ เบราว์เซอร์อาจสับสนอย่างสิ้นหวังและทำให้เกิดความยุ่งเหยิงหรือแม้กระทั่งความผิดพลาด
คุณสามารถรวม html-w3c-validator เข้ากับ start-server-and-test เพื่อตรวจสอบความถูกต้องของหน้า HTML ของโครงการของคุณ
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
ตัวอย่างผลลัพธ์ (ในกรณีที่สำเร็จ):
✔ Validating http://127.0.0.1:3000/
✔ Validating http://127.0.0.1:3000/about
Success: HTML validation (W3C) passed! ?
ดูโฟลเดอร์ ./example สำหรับการใช้งานจริง
--current-working-directory <path> The current working directory (default: `process.cwd()`).
-V, --version Output the version number.
-h, --help Display help for command.
ใครๆ ก็สามารถช่วยปรับปรุงโปรเจ็กต์ ส่งคำขอคุณสมบัติ รายงานข้อบกพร่อง หรือแม้แต่แก้ไขการสะกดผิดง่ายๆ ได้
ขั้นตอนในการบริจาคสามารถพบได้ในไฟล์ CONTRIBUTING.md
เอ็มไอที