Html5-boilerplate: Pertimbangkan untuk menggunakan HTMLLinter?

Dibuat pada 3 Mar 2016  ·  21Komentar  ·  Sumber: h5bp/html5-boilerplate

Dengan munculnya teknologi baru seperti WebComponents, karena pengembang menggunakan lebih banyak HTML dalam proyek mereka (lebih banyak tag, lebih banyak bersarang, lebih banyak atribut), saya pikir penting untuk menambahkan (dan memperluas) Linter HTML.

Menurut penelitian kami di https://github.com/rcorp/standard-project-structure/issues/4 ,
HTMLhint adalah yang terbaik di luar sana. Bagaimana dengan file .htmlhintrc ?

awaiting feedback backlog help wanted html new feature

Komentar yang paling membantu

@roblarsen Kami ingin berkontribusi dengan PR. Kami telah memilih dasar awal yang baik untuk kumpulan aturan. https://github.com/rcorp/standard-project-structure/issues/13

Ini digunakan oleh beberapa organisasi besar. Saya akan melihat apakah itu cocok dengan boilerplate dan tidak terlalu keras kepala. Selebihnya bisa kita bahas di Humas sendiri!

Semua 21 komentar

Bagaimana aturan yang digunakan akan dipilih? Beberapa aturan standar adalah preferensi pribadi. Sebagai contoh:

https://github.com/yaniswang/HTMLHint/wiki/Attr-value-double-quotes keduanya adalah HTML5 yang benar-benar valid dan menurut saya boilerplate ini tidak harus memilih gaya apa yang harus dijadikan default.

https://github.com/yaniswang/HTMLHint/wiki/Tag-self-close keduanya adalah HTML5 yang valid, dan yang terakhir sebenarnya adalah cara yang lebih modern untuk melakukannya karena sebelumnya adalah untuk XHTML dan diizinkan dalam HTML5 untuk kompatibilitas ke belakang saat bermigrasi dari XHTML ke HTML5 sejauh yang saya ketahui.

https://github.com/yaniswang/HTMLHint/wiki/Attr-value-not-empty keduanya valid dan yang terakhir adalah yang digunakan kebanyakan orang, tetapi dianggap sebagai cara yang buruk.

Banyak dari aturan ini yang meragukan dan akan menyebabkan bagian boilerplate ditandai sebagai kesalahan atau peringatan. Karena itu, saya menolak menambahkan ini dan lebih suka preferensi seperti itu diserahkan kepada pengembang dan tidak digabungkan dengan proyek ini. Mungkin menambahkan bagian linter HTML ke dokumen dan menyediakan tautan ke berbagai linter?

@quantumpacket Seperti yang Anda sebutkan tag-self-close selalu ada setidaknya beberapa pembenaran untuk memilih satu dari yang lain dan bukankah di sini di mana komunitas dapat menimbang seperti yang mereka bisa atas isi boilerplate? Jika tidak ada pembenaran, kami tidak menambahkan aturan itu. Sebagai referensi jika kita melihat semua gaya kode untuk JS https://github.com/rcorp/standard-project-structure/issues/6 terutama AirBNB, kita dapat melihat bahwa ada banyak aturan tetapi masing-masing memiliki alasan yang akan dihargai oleh pengembang.

Saya benar-benar mengerti maksud Anda, tetapi ini hanya aturan. Yang tidak kita pilih tidak diberlakukan. Jadi ini bisa menjadi pendekatan yang sangat lunak . dan boilerplate bagi pengembang untuk menambah / menghapus aturan dari .htmlhintrc

@ gaurav21r Maaf membiarkan ini berlama-lama. Saya pikir ini adalah ide yang bagus. (apakah Anda ingin mengusulkannya dengan PR? Saya akan menandai bantuan ini untuk saat ini.)

Adapun nilai mana yang harus dipilih, titik awal akan terlihat dari proyek itu sendiri. Dalam kasus contoh @quantumpacket shared- kami menggunakan tanda kutip ganda, menggunakan atribut kosong dan tidak menutup sendiri. Dari situ, saya yakin orang akan punya pendapat.

@roblarsen Kami ingin berkontribusi dengan PR. Kami telah memilih dasar awal yang baik untuk kumpulan aturan. https://github.com/rcorp/standard-project-structure/issues/13

Ini digunakan oleh beberapa organisasi besar. Saya akan melihat apakah itu cocok dengan boilerplate dan tidak terlalu keras kepala. Selebihnya bisa kita bahas di Humas sendiri!

Ada kemajuan dalam masalah ini?

@ gaurav21r Ada pembaruan? Jika tidak, ada orang lain yang ingin mencoba ini?

@roblarsen Jika @ gaurav21r tidak dapat melanjutkan, saya akan dengan senang hati melakukannya.

@AlexxNica terdengar bagus. Kami selalu menyukai bantuannya.

Maaf atas tanggapan yang sangat terlambat! @roblarsen @AlexxNica Akan mencoba melakukan ini sebelum tanggal 15. Jika tidak, akan dengan senang hati membantu siapa pun!

jangan khawatir!

Tanggal 15 telah datang dan pergi! Ini terbuka untuk siapa pun yang ingin mencoba melakukannya!

Apakah kami yakin HTMLHint adalah opsi terbaik yang ada?

@AlexxNica Saya tidak memiliki pengalaman di bagian depan ini, jadi saya ikut serta. Siapa pun yang ingin melakukan ini dapat membuka beberapa diskusi di sini dan saya akan melakukan yang terbaik untuk memberikan umpan balik sebagaimana mestinya, tetapi ini jelas merupakan sesuatu yang ada di tangan komunitas.

Kita harus melihat ini dengan baik sebelum menambahkan lebih banyak kode ke dalam proyek. Hal-hal yang harus dipastikan sebelum kami mengambil tindakan apa pun:

· Apakah cukup membantu untuk menjustifikasi kebutuhan penerapan?
· Apakah mudah untuk dikirim dan dipelihara?
· Apakah itu diuji oleh seseorang / kami?
· Apakah kita melihat peningkatan nyata dari model sebenarnya?
· Apakah kami menjalankan pengujian terhadap kode kami untuk melihat apakah kami tidak perlu mengubah apapun agar sesuai dengan penganalisis? (agar pengguna tidak terjebak dengan lebih banyak kesalahan di layar daripada yang dapat ditampilkan monitor mereka)
· Akankah kehadirannya dalam jangka panjang? (Menurut saya bukan ide yang baik untuk menerapkan sesuatu yang tidak akan ada untuk waktu yang lama)
· Apa kemudahan penggunaannya?

@roblarsen Bisakah Anda mempertimbangkan untuk mengubah label ini? Saya pikir " awaiting feedback " dan (mungkin) " HTML " akan lebih sesuai.

Saya menambahkan itu. Ini masih membutuhkan bantuan dan masih merupakan fitur baru. Saya tidak akan menyinggung ini secara pribadi, jadi ini pasti sesuatu yang harus dijalankan oleh komunitas.

Saya pikir ada dua pertanyaan di sini:

  • Haruskah kita menyertakan .htmlhintrc di folder src / dist untuk pengguna?
    HTMLHint hanya benar-benar dimaksudkan untuk digunakan pada halaman HTML yang terkompilasi dan penuh (misalnya, secara default akan memeriksa bahwa setiap file memiliki tag <title> sehingga tidak benar-benar cocok untuk sebagian besar sisi server atau bahasa template. Oleh karena itu Saya pikir itu memiliki nilai yang terbatas karena begitu banyak pengguna menggunakan Angular, React, PHP, ASP atau bahasa templating seperti Liquid di mana itu akan memberikan banyak kesalahan atau tidak berfungsi sama sekali. Seorang pengguna dapat mengedit semua aturan agar tidak menampilkan kesalahan tapi kemudian hal semacam itu merusak tujuan memasukkannya. Dan semua pengguna perlu menginstal plugin agar IDE mereka dapat menggunakannya. Saya rasa tidak cukup banyak pengguna yang mengkodekan halaman web dalam HTML murni tanpa menyertakan untuk menjamin penyertaannya (saya pribadi hanya menggunakan HTMLHint saat mengkodekan email HTML - sangat bagus untuk menemukan bug) - dan kami tidak menyertakan file konfigurasi JS atau CSS linters / hinter.

  • Haruskah kita menyertakan HTMLHint dalam sistem build untuk memeriksa kesalahan?
    Ya, saya rasa ini adalah ide yang bagus. Sistem build kami saat ini menggunakan Gulp dan ada paket NPM untuk diintegrasikan: https://www.npmjs.com/package/gulp-htmlhint. Saya akan memeriksanya dalam beberapa hari ke depan. Ini akan memeriksa kesalahan HTML saat menyusun dan dapat bermanfaat untuk menemukan masalah sebelum menerapkan situs.

Ketidakmampuan menggunakan linter html dengan bahasa template adalah sesuatu yang selalu menghalangi kami untuk menggunakannya. React adalah cerita lain, karena jsx dapat secara efektif digabungkan dengan ESLint.

Linting build tampaknya bermanfaat untuk project, tetapi tidak untuk pengguna akhir. Tetapi tampaknya lebih baik daripada tidak sama sekali, setidaknya itu akan mencegah kesalahan sesekali dalam sumber boilerplate.

Btw, saya tidak melihat alasan untuk menggunakan Gulp untuk tugas sepele seperti itu. Itu selalu lebih mudah dan lebih dapat diandalkan untuk menghindari lapisan tambahan untuk linter dan memanggilnya langsung dari npm test (lihat contoh ).

IMO, Anda harus menjauh dari alat non-standar.

Ini seperti Anda tidak menggunakan validator sama sekali, dan saya berbicara dari pengalaman karena pada Bootstrap v4-dev mereka telah beralih ke htmlhint yang pada dasarnya tidak menemukan kesalahan nyata.

Saran saya adalah menggunakan validator resmi vnu.jar meskipun membutuhkan Java. Anda dapat memiliki skrip pembungkus yang akan menjalankannya jika Java tersedia.

Saya membuat perubahan serupa baru-baru ini di Bootstrap (lihat https://github.com/twbs/bootstrap/pull/24149) karena saya terganggu oleh fakta bahwa pada dasarnya kami tidak memiliki validasi dengan htmlhint.

Sayangnya HTMLHint tidak lagi aktif dipertahankan (https://github.com/yaniswang/HTMLHint) dan seperti yang dikatakan @XhmikosR - ada masalah dengan jadi saya memilih untuk menutup masalah ini.

Jangkrik + di atas

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

klutchdev picture klutchdev  ·  18Komentar

sideshowbarker picture sideshowbarker  ·  5Komentar

roblarsen picture roblarsen  ·  5Komentar

coliff picture coliff  ·  14Komentar

alrra picture alrra  ·  6Komentar