জেকিল, স্ট্যাটিক সাইট জেনারেটর, _config.yml ব্যবহার করে কনফিগারেশনের জন্য। কনফিগারেশনগুলি সমস্ত জেকিল-নির্দিষ্ট। কিন্তু আপনি এই ফাইলগুলিতে আমাদের নিজস্ব কন্টেন্টের সাথে ভেরিয়েবল সংজ্ঞায়িত করতে পারেন এবং আপনার ওয়েবসাইট জুড়ে ব্যবহার করতে পারেন। এই নিবন্ধে, আমি গতিশীলভাবে জেকিল কনফিগার ফাইল তৈরি করার কিছু সুবিধা তুলে ধরব।
আমার স্থানীয় ল্যাপটপে, আমি পরীক্ষার জন্য আমার জেকিল ওয়েবসাইট পরিবেশন করতে নিম্নলিখিত কমান্ড ব্যবহার করি:
bundle exec jekyll serve --incremental --config _config.yml অনেক কনফিগারেশন ফাইল একত্রিত করা
স্থানীয় পরীক্ষার সময়, কখনও কখনও কনফিগারেশন বিকল্পগুলি ওভাররাইড করা প্রয়োজন। আমার ওয়েবসাইটের বর্তমান _config.yml-এ নিম্নলিখিত সেটিংস রয়েছে:
# Jekyll Configuration
# Site Settings
url: "https://notes.ayushsharma.in"
website_url: "https://notes.ayushsharma.in/"
title: ayush sharma's notes ☕ + ? + ?️
email: ayush@ayushsharma.in
images-path: /static/images/
videos-path: /static/videos/
js-path: /static/js/
baseurl: "" # the subpath of your site, e.g. /blog
যেহেতু স্থানীয় jekyll serve URL হল http://localhost:4000, উপরে সংজ্ঞায়িত URL কাজ করবে না। আমি সবসময় _config.yml এর একটি অনুলিপি তৈরি করতে পারি _config-local.yml হিসাবে এবং সমস্ত মান প্রতিস্থাপন করুন। কিন্তু একটি সহজ বিকল্প আছে।
Jekyll পূর্ববর্তীগুলিকে ওভাররাইড করে পরবর্তী ঘোষণা সহ অনেকগুলি কনফিগারেশন ফাইল নির্দিষ্ট করার অনুমতি দেয়। এর মানে আমি একটি নতুন _config-local.yml সংজ্ঞায়িত করতে পারি নিম্নলিখিত কোড সহ:
url:""
তারপর আমি উপরের ফাইলটিকে আমার প্রধান _config.yml এর সাথে একত্রিত করতে পারি এই মত:
bundle exec jekyll serve --incremental --config _config.yml,_config-local.yml
উভয় ফাইল একত্রিত করে, url এর চূড়ান্ত মান এই jekyll serve এর জন্য ফাঁকা হবে। এটি আমার ওয়েবসাইটে সংজ্ঞায়িত সমস্ত URL আপেক্ষিক URL-এ পরিণত করে এবং সেগুলিকে আমার স্থানীয় ল্যাপটপে কাজ করে৷
ডাইনামিক কনফিগারেশন ফাইলের সমন্বয়
একটি সাধারণ উদাহরণ হিসাবে, ধরুন আপনি আপনার ওয়েবসাইটে বর্তমান তারিখ প্রদর্শন করতে চান। এর জন্য bash কমান্ড হল:
> date '+%A, %d %B %Y'
Saturday, 16 October 2021
আমি জানি আমি জেকিলের _config.yml ব্যবহার করতে পারি কাস্টম সামগ্রীর জন্যও। আমি উপরের তারিখটিকে একটি নতুন জেকিল কনফিগারেশন ফাইলে আউটপুট করব।
my_date=`date '+%A, %d %B %Y'`; echo 'my_date: "'$my_date'"' > _config-data.yml
এখন _config-data.yml রয়েছে:
my_date: "Saturday, 16 October 2021"
আমি অন্যদের সাথে আমার নতুন কনফিগার ফাইল একত্রিত করতে পারি এবং my_date ব্যবহার করতে পারি আমার ওয়েবসাইটে পরিবর্তনশীল।
bundle exec jekyll serve --incremental --config _config.yml,_config-local.yml,_config-data.yml
উপরের কমান্ডটি চালানোর সময়, {{ site.my_date }} এর কনফিগার করা মান আউটপুট করে।
উপসংহার
উপরের উদাহরণটি বেশ সহজ, তবে সম্ভাবনাগুলি অন্তহীন। ব্যাশ, পাইথন এবং অন্যান্য প্রোগ্রামিং ভাষা গতিশীলভাবে জেকিল কনফিগার ফাইল তৈরি করতে পারে। আমি তারপর build এর সময় এগুলি একত্রিত করতে পারি অথবা serve প্রক্রিয়া।
findmymastodon.com-এর জন্য, মাস্টোডন ব্যবহারকারীর পরিসংখ্যান আনতে আমি পাইথন ব্যবহার করছি। তারপর আমি এগুলোকে একটি নতুন _config-data.yml ফাইলে লিখছি (বর্তমানে ম্যানুয়ালি)। অবশেষে, হোম পেজ এবং অন্যান্য কনফিগারেশন ফাইল থেকে এগুলি প্রদর্শন করে। এইভাবে, আমি একটি ডায়নামিক ব্যাকএন্ডের সুবিধা নিতে পারি এবং এখনও আমার খুব পছন্দের সমস্ত স্ট্যাটিক ওয়েবসাইট ভালো রাখতে পারি৷
আমি আশা করি এটি আপনার নিজস্ব স্ট্যাটিক ওয়েবসাইটগুলির জন্য কিছু ধারণা তৈরি করেছে। জ্যামস্ট্যাক স্ট্যাটিক ওয়েবসাইটগুলির জন্য দুর্দান্ত, তবে আপনি গতিশীল সামগ্রীর জন্য একটি সম্পূর্ণ API ব্যাকএন্ড তৈরি করা এড়াতে পারেন। আপডেট করা বিষয়বস্তু সহ কনফিগার ফাইল তৈরি করতে কেন পরিবর্তে একটি বিল্ড কাজ ব্যবহার করবেন না? এটি প্রতিটি ব্যবহারের ক্ষেত্রে উপযুক্ত নাও হতে পারে, তবে একটি কম API মানে কম পরিকাঠামো চলমান অংশ৷
আমি আশা করি এটি আপনার পরবর্তী স্ট্যাটিক ওয়েবসাইট প্রকল্পের সময় আপনাকে কিছু উপায়ে সাহায্য করবে। পড়তে থাকুন, এবং খুশি কোডিং করুন৷
৷