Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> बाश प्रोग्रामिंग

मैं गतिशील रूप से Jekyll कॉन्फ़िग फ़ाइलें कैसे उत्पन्न करता हूँ

स्थिर साइट जनरेटर Jekyll, _config.yml . का उपयोग करता है विन्यास के लिए। विन्यास सभी Jekyll- विशिष्ट हैं। लेकिन आप इन फ़ाइलों में हमारी अपनी सामग्री के साथ चर भी परिभाषित कर सकते हैं और उन्हें अपनी वेबसाइट पर उपयोग कर सकते हैं। इस लेख में, मैं गतिशील रूप से Jekyll कॉन्फ़िग फ़ाइल बनाने के कुछ लाभों पर प्रकाश डालूँगा।

अपने स्थानीय लैपटॉप पर, मैं परीक्षण के लिए अपनी Jekyll वेबसाइट की सेवा के लिए निम्न कमांड का उपयोग करता हूं:

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 यूआरएल है http : //लोकलहोस्ट:4000, ऊपर परिभाषित यूआरएल काम नहीं करेगा। मैं हमेशा _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 रिक्त हो जाएगा। यह मेरी वेबसाइट में परिभाषित सभी यूआरएल को सापेक्ष यूआरएल में बदल देता है और उन्हें मेरे स्थानीय लैपटॉप पर काम करता है।

डायनेमिक कॉन्फ़िग फ़ाइलों को संयोजित करना

एक साधारण उदाहरण के रूप में, मान लीजिए कि आप अपनी वेबसाइट पर वर्तमान तिथि प्रदर्शित करना चाहते हैं। इसके लिए बैश कमांड है:

> date '+%A, %d %B %Y'
Saturday, 16 October 2021

मुझे पता है कि मैं कस्टम सामग्री के लिए भी Jekyll के _config.yml का उपयोग कर सकता हूं। मैं उपरोक्त तिथि को एक नई Jekyll कॉन्फ़िग फ़ाइल में आउटपुट करूँगा।

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 फ़ाइल (वर्तमान में मैन्युअल रूप से) में लिख रहा हूं। अंत में, होम पेज और अन्य इन्हें कॉन्फ़िगरेशन फ़ाइल से प्रदर्शित करते हैं। इस तरह, मैं एक गतिशील बैकएंड का लाभ उठा सकता हूं और अभी भी सभी स्थिर वेबसाइट अच्छाइयों को बनाए रख सकता हूं जो मुझे बहुत पसंद हैं।

मुझे आशा है कि इसने आपकी अपनी स्थिर वेबसाइटों के लिए कुछ विचारों को जन्म दिया है। स्थिर वेबसाइटों के लिए Jamstack बहुत अच्छा है, लेकिन आप गतिशील सामग्री के लिए संपूर्ण API बैकएंड बनाने से बच सकते हैं। इसके बजाय अद्यतन सामग्री के साथ कॉन्फिग फाइल बनाने के लिए बिल्ड जॉब का उपयोग क्यों न करें? यह हर उपयोग के मामले के अनुकूल नहीं हो सकता है, लेकिन एक कम एपीआई का मतलब है कम बुनियादी ढांचे को हिलाने वाले हिस्से।

मुझे आशा है कि यह आपके अगले स्थिर वेबसाइट प्रोजेक्ट के दौरान किसी तरह आपकी मदद करेगा। पढ़ते रहिये और कोडिंग करते रहिये।


  1. वीओबी फ़ाइलें कैसे खेलें

    वीओबी (वीडियो ऑब्जेक्ट) एक कंटेनर प्रारूप है जिसका उपयोग डीवीडी-वीडियो मीडिया में किया जाता है। एक वीओबी फ़ाइल में डिजिटल ऑडियो, डिजिटल वीडियो, उपशीर्षक, डीवीडी मेनू और यहां तक ​​कि नेविगेशन सामग्री भी हो सकती है। VOB फाइलों में, सभी सामग्री को एक साथ एक स्ट्रीम फॉर्म में मल्टीप्लेक्स किया जाता है।

  1. डुप्लीकेट फ़ाइलें कैसे हटाएं

    अपने कंप्यूटर को व्यवस्थित रखना यह सुनिश्चित करने का एक महत्वपूर्ण हिस्सा है कि यह तेज़ और स्थिर बना रहे। यही कारण है कि प्रत्येक विंडोज उपयोगकर्ता को डिस्क क्लीनअप, डीफ़्रैग्मेन्टेशन, रजिस्ट्री मरम्मत और डीफ़्रैग्मेन्टेशन, और एंटी-वायरस स्कैन जैसे नियमित रखरखाव कार्य करने की आवश्यकता होती है। लेकिन

  1. Windows XP में फ़ाइलों का बैकअप कैसे लें

    क्या मुझे वास्तव में यह समझाने की ज़रूरत है कि विंडोज़ एक्सपी में बैकअप फाइलों के लिए क्यों महत्वपूर्ण है ?? वैसे कई कारण हैं कि आपको अपनी फ़ाइलों का बैकअप लेने की आवश्यकता क्यों है, उनमें से कुछ यहां दिए गए हैं यदि आपकी हार्ड-ड्राइव खराब हो जाती है तो आप अपना सारा डेटा खो देंगे यह संभव हो सकता है