منصوبے کے بارے میں

htmx ایک کمپیکٹ، بغیر کسی انحصار کے JavaScript لائبریری ہے جو HTML کو ایسی صفات کے ساتھ وسعت دیتی ہے جو HTTP درخواستیں کرنے اور صفحے کے مواد کو اپ ڈیٹ کرنے کے لیے استعمال ہوتی ہیں۔ اس کے README کے مطابق، یہ HTML میں براہ راست AJAX، CSS ٹرانزیشنز، WebSockets اور Server Sent Events تک رسائی فراہم کرتی ہے، تاکہ ڈویلپر ہائپر ٹیکسٹ کی سادگی اور طاقت کے ساتھ جدید یوزر انٹرفیس بنا سکیں۔ یہ پروجیکٹ خود کو چھوٹا، تقریباً 14k منیفائیڈ اور گزیپڈ، بغیر انحصار اور قابل توسیع قرار دیتا ہے۔ اس کا بیان کردہ مقصد HTML میں مصنوعی رکاوٹوں کو دور کرنا ہے: کیوں صرف اینکر اور فارم عناصر کو HTTP درخواستیں بھیجنی چاہئیں، کیوں صرف کلک اور سبمٹ ایونٹس انہیں متحرک کریں، کیوں صرف GET اور POST دستیاب ہوں، اور کیوں صرف پوری اسکرین کو تبدیل کیا جا سکتا ہے۔ ان مسائل کو حل کرتے ہوئے، htmx کا مقصد HTML کو ایک مکمل ہائپر ٹیکسٹ سسٹم بنانا ہے۔ ایک فوری آغاز کی مثال میں CDN سے لائبریری شامل کرنا اور بٹن میں hx-post اور hx-swap صفات شامل کرنا دکھایا گیا ہے۔ README وضاحت کرتا ہے کہ یہ صفات htmx کو بتاتی ہیں کہ جب بٹن پر کلک کیا جائے تو دیے گئے URL پر AJAX درخواست بھیجی جائے اور پورے بٹن کو جواب سے تبدیل کر دیا جائے۔ htmx کو intercooler.js کا جانشین پیش کیا گیا ہے۔ تنصیب npm کے ذریعے htmx.org کے نام سے دستیاب ہے۔ README میں ایک پرانے ٹوٹے ہوئے پیکج کا ذکر ہے جس کا نام htmx ہے اور صحیح پیکج کا نام واضح کیا گیا ہے۔ دستاویزات اور مثالیں پروجیکٹ کی ویب سائٹ پر موجود ہیں۔ شراکت کاروں کے لیے، README میں ایک ہیکنگ گائیڈ دی گئی ہے: npm install کے ساتھ ڈیولپمنٹ ڈیپنڈنسیز انسٹال کریں، npx serve جیسا لوکل ویب سرور چلائیں، اور براؤزر میں ٹیسٹ سویٹ کھولیں۔ ٹیسٹ صفات، بنیادی فعالیت، ریگریشنز، ایکسٹینشنز اور دستی کیسز کے لیے ٹیسٹ ڈائریکٹریوں میں ترتیب دیے گئے ہیں۔ پروجیکٹ AJAX درخواستوں کی جانچ اور موکنگ کے لیے mocha، chai اور sinon استعمال کرتا ہے۔ شراکت کے رہنما خطوط اور اسپانسرشپ کے اختیارات کا بھی حوالہ دیا گیا ہے۔