প্রকল্প সম্পর্কে

htmx একটি কমপ্যাক্ট, ডিপেন্ডেন্সি-মুক্ত জাভাস্ক্রিপ্ট লাইব্রেরি যা HTTP অনুরোধ করার এবং পেজের বিষয়বস্তু আপডেট করার জন্য HTML-কে অ্যাট্রিবিউট দিয়ে সম্প্রসারিত করে। এর README অনুযায়ী, এটি HTML-এ সরাসরি AJAX, CSS ট্রানজিশন, WebSockets এবং Server Sent Events-এর অ্যাক্সেস দেয়, তাই ডেভেলপাররা হাইপারটেক্সটের সরলতা এবং শক্তি ব্যবহার করে আধুনিক ইউজার ইন্টারফেস তৈরি করতে পারেন। প্রকল্পটি নিজেকে ছোট, প্রায় 14k মিনিফাইড এবং gzipped, ডিপেন্ডেন্সি-মুক্ত এবং এক্সটেন্ডেবল হিসেবে বর্ণনা করে। এর বিবৃত উদ্দেশ্য হলো 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 ব্যবহার করে। অবদানের নির্দেশিকা এবং স্পনসরশিপ বিকল্পগুলিও উল্লেখ করা হয়েছে।