आधुनिक वेब डायनामिक कंटेंट के बारे में है। लेकिन ज्यादातर मामलों में, यह एक तकनीकी भ्रम है। बड़ी संख्या में वेबसाइट डायनामिक रूप से उत्पन्न पृष्ठों का उपयोग करती हैं, यानी अनुरोध किए जाने पर डेटाबेस से सामान पढ़ा जाता है और स्क्रीन पर रेंडर किया जाता है, यहां तक कि उन चीजों के लिए जिनके लिए किसी इंटरैक्शन की आवश्यकता नहीं होती। यह संसाधन लेता है, और इसे कम सुरक्षित भी माना जा सकता है, क्योंकि खराब या गलत निर्देश सैद्धांतिक रूप से कुछ अवांछित उत्पन्न कर सकते हैं।
पुराना वेब स्थिर सामग्री के बारे में था - लिंक और इमेज के साथ HTML पेज और बहुत कुछ नहीं। बुरा नहीं, संसाधनों पर बहुत हल्का, और उतना ही सुरक्षित जितना वेब सर्वर जो इसे करता है। लेकिन फिर, ज्यादा इंटरैक्शन नहीं होता, और सामग्री अपडेट करना थकाऊ हो सकता है। क्या होगा अगर दोनों दुनिया के बीच कुछ मध्य में हो? वह निकोला होगा, एक स्थिर साइट जनरेटर।

खोज, इंस्टॉल, परीक्षण
विचार का सार है - आप अपने स्थिर वेबसाइटों को डायनामिक रूप से बनाते हैं। पायथन स्क्रिप्ट का एक गुच्छा आपको अपने पेज बनाने और संपादित करने में मदद करता है, पृष्ठभूमि में लिंक और ऐसा ठीक करता है ताकि आपको हर बार जब आप कुछ बदलते हैं तो मैन्युअल रूप से ऐसा न करना पड़े। प्लगइन्स और थीम इसे और भी आसान काम बनाते हैं। पारंपरिक CMS से अंतर हैं, कोई डेटाबेस नहीं, और आप सब कुछ स्थानीय रूप से बनाने के बाद जहां भी आपकी साइट रहनी है वहां अपलोड करते हैं। और वहां, यह सिर्फ HTML और इमेज हैं।
मुझे यह दिलचस्प लगा क्योंकि आधुनिक समय में ऑफलाइन कंटेंट निर्माण आसान नहीं है। मैंने 2018 में इस बारे में लिखा था, और दुखद, विडंबनापूर्ण, तार्किक रूप से प्राचीन KompoZer को सबसे उपयुक्त टूल के रूप में पाया जो आपको GUI और डायरेक्ट कोड एडिटिंग का लचीलापन दोनों देता है यदि आप ऐसा चाहते हैं। निकोला एक हाइब्रिड दृष्टिकोण प्रदान करता है - यह ज्यादातर कमांड लाइन है, लेकिन आपको एक विजुअल एडिटर और लाइव ब्राउज़र प्रीव्यू भी मिलता है।
मैंने सामान्य सेटअप निर्देशों (pip और virtualenv कमांड) का पालन किया, और यह ठीक काम किया। मुझे लगता है कि पूरी चीज़ को स्वचालित किया जा सकता है (एक स्क्रिप्ट के अंदर डालें)। एक बार यह चरण पूरा हो जाने पर, मैंने पहली (डेमो) वेबसाइट बनाने के तरीके पर ऑनलाइन ट्यूटोरियल का पालन किया।

nikola init --demo test-site
Creating Nikola Site
====================
This is Nikola v8.0.2. We will now ask you a few easy questions about your new site. If you do not want to answer and want to go with the defaults instead, simply restart with the `-q` parameter.
--- Questions about the site ---
Site title [My Nikola Site]:
एक बार जब मैंने बुनियादी डेटा प्रदान किया - आपको एक डोमेन की भी आवश्यकता है, जो पंजीकृत है, क्योंकि इसका उपयोग होमपेज के रूप में किया जाएगा - फिर मैंने पहली पोस्ट बनाने के बारे में सेट किया। मैंने निर्देशों का पालन करके ऐसा किया, और तुरंत एक समस्या आई।
(nikola) roger@tester:~/nikola/test-site$ nikola new_post -e
Creating New Post
-----------------
Title: Why Badgers Shouldn't Be Allowed to Drive
Scanning posts........done!
[2019-04-07T18:05:25Z] INFO: new_post: Your post's text is at: posts/why-badgers-shouldnt-be-allowed-to-drive.rst
[2019-04-07T18:05:25Z] ERROR: new_post: The $EDITOR environment variable is not set, cannot edit the post with '-e'. Please edit the post manually.
बात यह थी, मुझे मैन्युअल रूप से EDITOR वेरिएबल एक्सपोर्ट करने की आवश्यकता थी। मैंने इसे KDE में केट पर सेट किया, लेकिन उस बात के लिए, मैं किसी भी एडिटर का उपयोग कर सकता था, यहां तक कि नोटपैड++, जो काफी निफ्टी है। फिर, यदि आप ऐसा करते हैं, तो आप इस त्रुटि को फिर से नहीं मारेंगे।
संपादन टुकड़ा थोड़ा ... अजीब है। निकोला .rst एक्सटेंशन वाली फाइलों का उपयोग करता है, उन्हें reStructuredText के रूप में दर्शाने के लिए, हालांकि आप मैन्युअल रूप से मार्कडाउन जैसे अन्य प्रारूपों को कॉन्फिगर कर सकते हैं। मुझे यह थोड़ा अजीब लगा, क्योंकि यह लोगों को एक और (अजीब) सिंटैक्स सीखने के लिए मजबूर करता है। इसका यह भी अर्थ है कि स्टाइल और सामग्री का कोई पृथक्करण नहीं है।

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


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

तस्वीर में मैं नहीं हूं, वह कोई मुझसे कहीं अधिक शानदार है।
मुझे अन्य दिलचस्प बिट्स और टुकड़े मिले, जैसे विभिन्न बिल्ड सिस्टम पर तैनात करने की क्षमता, गिस्ट आयात करने, चार्ट और थंबनेल बनाने, और कोड ब्लॉक का उपयोग करने की क्षमता। लेकिन मुझे अभी भी लगा कि अंतिम स्थिति पर अपर्याप्त ध्यान दिया गया है, जो है, एक बार जब उपयोगकर्ता सामग्री बनाने के साथ हो जाता है, तो वे स्थानीय बिल्ड वातावरण से ऑनलाइन तैनाती तक सीधे तरीके से कैसे जाते हैं?
निष्कर्ष
वास्तव में महत्वपूर्ण प्रश्न जो किसी को पूछने की आवश्यकता है, वह है, अगर निकोला टेस्ला एक वेबसाइट स्थापित करना चाहते, तो वह आज किस तकनीक का उपयोग करेंगे? माइक्रोसॉफ्ट फ्रंटपेज? जियोसाइट्स? निकोला? मुझे अवधारणा पसंद है, मुझे उपयोगकर्ताओं को अनावश्यक वेबसाइट कंकाल अपडेट पर बहुत समय बचाने का विचार पसंद है, लेकिन मुझे दृष्टिकोण बहुत देवसी लगा। मुझे पता है, वेबसाइट बनाना कोई खेल नहीं है, लेकिन यह एक हैकर्फेस्ट भी नहीं होना चाहिए।
मेरे लिए, निकोला एक अधिक सुव्यवस्थित सेटअप, HTML का सीधे उपयोग करने या कम से कम कोड के ब्लॉक जोड़ने की क्षमता, और अधिक सहज पूर्वावलोकन और तैनाती भागों के साथ बेहतर कर सकता है। मुझे पता है कि उत्तर वहां हैं, लेकिन सुंदरता सरल, आत्म-व्याख्यात्मक उपकरणों में है जो जितना पूछते हैं उससे अधिक देते हैं। यदि किसी को अपने पहले पेज को तैनात करने में सक्षम होने के बिंदु तक पहुंचने के लिए बड़े पैमाने पर श्रम करना पड़ता है, तो वह टूल जो समय बचाने के लिए था, वह पहली जगह में उनके द्वारा बचाई जाने वाली समस्या बन जाता है। उस ने कहा, मुझे निकोला पसंद है, यह एक बहुत अच्छा दृष्टिकोण है, और मैं इस पर नजर रखूंगा। आखिरकार, कौन जानता है कि वेब 4.0 या जो भी लाने वाला है।
चीयर्स।