ড্রুপাল ৮ এবং পরবর্তী সংস্করণে, info.yml ফাইলটি মডিউল, থিম বা প্রোফাইল এর জন্য কনফিগারেশন ফাইল হিসেবে ব্যবহৃত হয়। এটি প্লাগইন, মডিউল বা থিমের মেটাডেটা, ডিপেন্ডেন্সি এবং অন্যান্য সেটিংস সংরক্ষণ করে, যা ড্রুপাল সিস্টেম সঠিকভাবে প্যাকেজগুলো লোড এবং কনফিগার করতে ব্যবহার করে।
এখানে ড্রুপাল info.yml ফাইল তৈরি করার প্রক্রিয়া সম্পর্কে বিস্তারিত আলোচনা করা হলো:
info.yml ফাইলের কাঠামো
ড্রুপাল ৮ বা তার পরবর্তী সংস্করণে .info.yml ফাইলটি একটি YAML (YAML Ain't Markup Language) ফরম্যাটে থাকে, যা সহজেই পড়া এবং লেখার জন্য একটি হালকা ফরম্যাট। এই ফাইলটি মডিউল বা থিমের বেসিক কনফিগারেশন এবং ডিপেন্ডেন্সি সংরক্ষণ করে।
১. info.yml ফাইল তৈরি করা
ধরা যাক, আপনি একটি কাস্টম থিম বা মডিউল তৈরি করছেন এবং এর জন্য info.yml ফাইল তৈরি করতে চান। এখানে একটি উদাহরণ দেয়া হলো:
১.১ মডিউল এর জন্য info.yml ফাইল
আপনি যদি একটি কাস্টম মডিউল তৈরি করেন, তবে এর জন্য my_module.info.yml ফাইলটি হবে:
name: 'My Custom Module'
type: module
description: 'A custom module to demonstrate the info.yaml file.'
core_version_requirement: ^8 || ^9
package: Custom
dependencies:
- drupal:views
- drupal:ctools
ব্যাখ্যা:
- name: মডিউলের নাম।
- type: মডিউলটির টাইপ, যা এখানে
moduleউল্লেখ করা হয়েছে। - description: মডিউলের সংক্ষিপ্ত বর্ণনা।
- core_version_requirement: ড্রুপালের কোন ভার্সনে মডিউলটি চলবে তা উল্লেখ করে (এখানে, এটি ড্রুপাল ৮ বা ৯ এর জন্য কাজ করবে)।
- package: মডিউলটি কোন প্যাকেজের অন্তর্গত (এটি ড্রুপাল অ্যাডমিন প্যানেলে প্যাকেজের অধীনে দেখা যাবে)।
- dependencies: এই মডিউলটির অন্য কোন মডিউল বা ডিপেন্ডেন্সি থাকতে পারে, যেমন
viewsবাctools।
১.২ থিম এর জন্য info.yml ফাইল
যদি আপনি একটি কাস্টম থিম তৈরি করেন, তাহলে থিমের জন্য my_theme.info.yml ফাইলের কাঠামো হবে:
name: 'My Custom Theme'
type: theme
base theme: classy
description: 'A custom theme for demonstrating the info.yaml file.'
core_version_requirement: ^8 || ^9
libraries:
- my_theme/global-styling
regions:
header: 'Header'
primary_menu: 'Primary Menu'
footer: 'Footer'
ব্যাখ্যা:
- name: থিমের নাম।
- type: থিমের টাইপ, যা এখানে
themeউল্লেখ করা হয়েছে। - base theme: থিমের বেস থিম। উদাহরণস্বরূপ,
classyবাolivero। - description: থিমের সংক্ষিপ্ত বর্ণনা।
- core_version_requirement: ড্রুপালের কোন ভার্সনে থিমটি চলবে তা উল্লেখ করা।
- libraries: থিমের স্টাইলিং বা স্ক্রিপ্টের জন্য ব্যবহার করা লাইব্রেরি। এই লাইব্রেরিগুলি থিমের সাথে যুক্ত করা হয়।
- regions: থিমের বিভিন্ন অংশ, যেমন header, footer, primary_menu, ইত্যাদি, যেগুলোর মধ্যে কন্টেন্ট ব্লকগুলো প্লেস করা যাবে।
২. info.yml ফাইলের অতিরিক্ত কনফিগারেশন
info.yml ফাইলটি শুধু মডিউল বা থিমের মেটাডেটা রাখে না, বরং সেটির কার্যকারিতা কাস্টমাইজ করতেও ব্যবহৃত হয়।
২.১ CSS এবং JavaScript ফাইল যোগ করা
মডিউল বা থিমে CSS এবং JavaScript ফাইল যোগ করতে, আপনি info.yml ফাইলে libraries ডিরেক্টিভ ব্যবহার করতে পারেন:
libraries:
- my_module/custom-styles
- my_module/custom-scripts
এবং তারপর my_module.libraries.yml ফাইলে সেই ফাইলগুলোর বিবরণ প্রদান করতে হবে:
custom-styles:
version: 1.0
css:
theme:
css/style.css: {}
custom-scripts:
version: 1.0
js:
js/custom.js: {}
২.২ মডিউল সক্রিয়করণের পর কোনো ফাংশন চালানো
মডিউল ইনস্টল হওয়ার পর কোন ফাংশন চালানোর জন্য info.yml ফাইলে install কী ব্যবহার করতে পারেন:
install: my_module.install
এখানে my_module.install ফাইলটি মডিউলটি ইনস্টল হওয়ার পর নির্দিষ্ট ফাংশন চালাবে।
৩. info.yml ফাইলের সঠিক গঠন এবং ফরম্যাটিং
info.ymlফাইলের নাম অবশ্যই মডিউল বা থিমের নামের সাথে মেলে, যেমন my_module.info.yml বা my_theme.info.yml।- ফাইলের মধ্যে সঠিক YAML সিনট্যাক্স ব্যবহার করা উচিত। এটি গুরুত্বপূর্ণ, কারণ YAML ফাইলের মধ্যে ইন্ডেন্টেশন অত্যন্ত গুরুত্বপূর্ণ। সাধারণত দুটি স্পেস ব্যবহার করা হয়।
৪. info.yml ফাইলের কিছু অতিরিক্ত কনফিগারেশন
- dependencies: নির্দিষ্ট মডিউলগুলির উপর নির্ভরশীলতা নির্ধারণ করতে।
- regions: থিমের জন্য কাস্টম রিজন নির্ধারণ করতে।
- core_version_requirement: ড্রুপাল এর কোন সংস্করণে মডিউল বা থিমটি সাপোর্ট করবে তা নির্ধারণ করতে।
- libraries: থিম বা মডিউলে ব্যবহার করা CSS বা JS ফাইল কনফিগার করতে।
উপসংহার
info.yml ফাইল ড্রুপাল থিম বা মডিউল তৈরি করার মূল উপাদান। এটি ড্রুপালকে মডিউল বা থিমের কনফিগারেশন, ডিপেন্ডেন্সি, এবং অন্যান্য সেটিংস সম্পর্কে জানায়। সঠিকভাবে info.yml ফাইল কনফিগার করে ড্রুপালের কার্যকারিতা এবং কাস্টমাইজেশন সহজ করা সম্ভব।
Read more