Markuplint؛ لینتری که HTML رو جدی میگیره
خلاصهٔ کاملتر
Markuplint یه لینتر برای مارکاپه؛ یعنی همون کاری که ESLint با جاوااسکریپت میکنه، این با HTML میکنه. کار اصلیش بررسی انطباق (conformance) مارکاپ با استاندارد HTML و WAI-ARIA و چند مشخصهٔ دیگه. چیزی که سازندههاش روش تأکید دارن اینه که مرورگر خیلی از این خطاها رو بیصدا نادیده میگیره و صفحه سالم به نظر میرسه، در حالی که ابزارهای کمکی مثل صفحهخوان و موتورهای جستوجو ممکنه همون خطا رو نبخشن.
لایهٔ دوم، قواعد خود پروژهست. میتونی برای دسترسیپذیری، امنیت، کارایی و قواعد نامگذاری قاعده تعریف کنی. یعنی توافقهای تیم از حالت شفاهی درمیاد و ماشین میتونه چکشون کنه. برای دیزاین سیستمها هم بررسی میکنه که کامپوننتها درست استفاده شدن یا نه: اتریبیوتها، پراپرتیها و رابطهٔ والد و فرزند المنتها، تا قرارداد هر کامپوننت نشکنه.
اعمال قاعدهها هم کلی و یکسان نیست. با سلکتورهای CSS، شبهکلاسهای توسعهیافته یا عبارت باقاعده (regex) مشخص میکنی هر قاعده روی کدوم المنتها اجرا بشه. یعنی میتونی تو یه بخش از پروژه سختگیر باشی و تو بخش دیگه همون قاعده رو شل کنی، بدون اینکه کل تنظیمات رو دو تیکه کنی.
دامنهٔ پشتیبانیش فقط HTML خام نیست. با پلاگینهای پارسر رسمی، JSX (ریاکت)، Vue، Svelte، Astro، Alpine.js، HTMX، Pug، PHP، Smarty، eRuby، EJS، Mustache/Handlebars، Nunjucks، Liquid، Markdown، MDX و tagged template literal های lit-html رو هم لینت میکنه. برای بازخورد لحظهای هم افزونهٔ VS Code داره که بدون راهاندازی پروژه کار میکنه: نصبش کن، یه فایل HTML باز کن، همونجا شروع میشه.
نکات کلیدی:
- مارکاپ رو با استاندارد HTML و WAI-ARIA میسنجه، نه فقط با سلیقهٔ تیم
- قواعد اختصاصی پروژه برای دسترسیپذیری، امنیت، کارایی و نامگذاری قابل تعریفه
- اتریبیوتها، پراپرتیها و رابطهٔ والد و فرزند کامپوننتهای دیزاین سیستم رو اعتبارسنجی میکنه
- با سلکتور CSS، شبهکلاسهای توسعهیافته و regex میشه دامنهٔ هر قاعده رو محدود کرد
- بیش از پانزده فرمت و زبان قالب با پلاگین رسمی پشتیبانی میشه
- افزونهٔ VS Code بدون تنظیم پروژه لینت لحظهای میده




