প্রকল্প সম্পর্কে
Carbon Components Svelte হলো Svelte ফ্রেমওয়ার্কের জন্য একটি কম্পোনেন্ট লাইব্রেরি যা IBM দ্বারা রক্ষণাবেক্ষণ করা ওপেন সোর্স Carbon Design System-কে বাস্তবায়ন করে। README অনুযায়ী, এটি ইনপুট থেকে ডেটা টেবিল পর্যন্ত ৯০টির বেশি কম্পোনেন্ট, পাঁচটি বিল্ট-ইন থিম (দুটি লাইট এবং তিনটি ডার্ক), প্রপস, ইভেন্ট এবং স্লট কভার করা একটি সম্পূর্ণ টাইপড TypeScript API প্রদান করে এবং কিবোর্ড ও স্ক্রিন-রিডার সাপোর্টের মাধ্যমে WCAG 2.1 AA অ্যাক্সেসিবিলিটির লক্ষ্য রাখে।
স্টাইলিং প্রি-কম্পাইলড CSS হিসেবে লোড করা যেতে পারে অথবা সরাসরি ফ্ল্যাগশিপ carbon-components প্যাকেজ থেকে SCSS ইম্পোর্ট করা যেতে পারে, যাকে README-তে আরও পারফরম্যান্ট রুট হিসেবে বর্ণনা করা হয়েছে কারণ অব্যবহৃত কম্পোনেন্ট স্টাইলগুলো বাদ দেওয়া সম্ভব। পাঁচটি থিম স্টাইলশিট সরবরাহ করা হয়: white (ডিফল্ট লাইট), g10 (লাইট), g80, g90 এবং g100 (ডার্ক), সাথে একটি all.css বান্ডেল রয়েছে যা CSS কাস্টম প্রপার্টি ব্যবহার করে এই পাঁচটি থিম বহন করে। ডাইনামিক থিমিং করা হয় all.css ইম্পোর্ট করে এবং html এলিমেন্টে একটি থিম অ্যাট্রিবিউট সেট করার মাধ্যমে, যা মার্কআপ বা স্ক্রিপ্ট থেকে করা যায়; রিঅ্যাক্টিভ সুইচিংয়ের জন্য একটি Theme কম্পোনেন্টও উপলব্ধ।
কম্পোনেন্টগুলো Svelte স্ক্রিপ্ট ব্লকের ভেতরে প্যাকেজ থেকে ইম্পোর্ট করা হয় এবং README পাঠকদের কম্পোনেন্ট API-এর বিস্তারিত তথ্যের জন্য প্রজেক্ট ডকুমেন্টেশন সাইটে নির্দেশ করে।
এর বিস্তৃত ইকোসিস্টেমের মধ্যে রয়েছে Carbon Icons Svelte, যাতে চারটি সাইজে (১৬, ২০, ২৪ এবং ৩২ পিক্সেল) ২,৭০০-এর বেশি আইকন রয়েছে যা size প্রপ-এর মাধ্যমে নির্বাচন করা হয়; Carbon Pictograms Svelte, যাতে ১,৫০০-এর বেশি ইলাস্ট্রেটিভ পিকটোগ্রাম রয়েছে যা এম্পটি স্টেট, অনবোর্ডিং, হিরো সেকশন এবং ফিচার কলআউটের জন্য তৈরি এবং ডিফল্টভাবে ৬৪ পিক্সেল; Carbon Charts Svelte, যাতে ২৫টির বেশি d3-চালিত চার্ট রয়েছে; এবং Carbon Preprocess Svelte, যাকে একটি ঐচ্ছিক ডেভেলপমেন্ট ডিপেন্ডেন্সি হিসেবে বর্ণনা করা হয়েছে।
Carbon Preprocess Svelte দুটি অপ্টিমাইজেশন প্রদান করে। optimizeImports হলো একটি Svelte প্রি-প্রসেসর যা components, icons এবং pictograms প্যাকেজ থেকে ব্যারেল ইম্পোর্টগুলোকে তাদের সোর্স Svelte ফাইল পাথে রিরাইট করে, যা README অনুযায়ী IDE টাইপ-অহেড বজায় রেখে ডেভেলপমেন্ট এবং প্রোডাকশন কম্পাইল টাইম দ্রুত করতে পারে। optimizeCss হলো একটি Vite এবং Rollup প্লাগইন যা বিল্ড টাইমে অব্যবহৃত Carbon স্টাইলগুলো সরিয়ে ফেলে; README-তে একটি উদাহরণ দেখানো হয়েছে যেখানে একটি বিল্ট স্টাইলশিট প্রায় ৬০৬ কেবি থেকে কমে প্রায় ৫৩ কেবি-তে নেমে আসে এবং উল্লেখ করা হয়েছে যে লাইব্রেরির সংস্করণ ০.৮৫.০ বা তার পরবর্তী সংস্করণ প্রয়োজন। Vite, SvelteKit, Rollup এবং Webpack-এর জন্য কনফিগারেশন স্নিপেট দেওয়া হয়েছে এবং রিপোজিটরিতে প্রতিটির জন্য উদাহরণ প্রজেক্ট অন্তর্ভুক্ত করা হয়েছে।
TypeScript ডেফিনিশনগুলো sveld দিয়ে জেনারেট করা হয়েছে। ডকুমেন্টেশন LLM-ফ্রেন্ডলি প্লেইন টেক্সটেও প্রকাশিত হয়েছে: একটি llms.txt কম্পোনেন্ট ইনডেক্স যেখানে প্রতিটি এন্ট্রি একটি কম্পোনেন্ট-ভিত্তিক Markdown ডকুমেন্টে লিঙ্ক করা, এবং একটি llms-full.txt ফাইল যাতে সম্পূর্ণ ডকুমেন্টেশন রয়েছে, যেখানে যেকোনো কম্পোনেন্টের URL-এর শেষে .md যোগ করে Markdown ডকুমেন্ট পাওয়া সম্ভব।
প্রজেক্টটি Apache 2.0 লাইসেন্সের অধীনে এবং এতে কন্ট্রিবিউটিং গাইডলাইন এবং চেঞ্জলগ তালিকাভুক্ত করা হয়েছে। README প্রকাশ করেছে যে প্যাকেজটি CI এনভায়রনমেন্টে ডি-আইডেন্টিফাইড এবং অ্যানোনিমাইজড মেট্রিক্স ডেটা সংগ্রহ করতে IBM Telemetry ব্যবহার করে, এটি ডিপেন্ডেন্সি হিসেবে ইনস্টল করার অর্থ হলো সেই সংগ্রহের সাথে একমত হওয়া, এবং অপ্ট-আউট করার পদ্ধতি ও সংগৃহীত ডেটার বিস্তারিতের জন্য IBM ডকুমেন্টেশনের কথা বলা হয়েছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.