टीएल; डीआर: क्या मैं किसी भी तरह से {% include %}
के लिए सामग्री उत्पन्न करने के लिए कह सकता हूं और बस इसे हर जगह में पुन: उत्पन्न किए बिना कई स्थानों पर मुद्रित कर सकता हूं?जेकिल: एक बार एक बार शामिल करें और इसे सभी पृष्ठों में शामिल करें
मैं जेकील के साथ एक काफी बड़ी प्रलेखन साइट का निर्माण कर रहा हूं जिसमें अभी 50 से अधिक लेख हैं। इसमें एक साइडबार है जहां सभी लेख सूचीबद्ध हैं। साइडबार एक अलग sidebar.html में बनाया गया है और फिर इसे साइट पर प्रत्येक पृष्ठ में {% include sidebar.html %}
डिफ़ॉल्ट.html में शामिल किया गया है।
मेरी समस्या यह है कि प्रत्येक लेख साइडबार.html की पीढ़ी को अलग करता है, इसलिए मेरे पास कोड के उस टुकड़े पर 50 से अधिक पीढ़ी गुजरती हैं। प्रत्येक लेख जो मैं जोड़ता हूं, वह एक और पास जोड़ता है और सभी पास थोड़ा धीमा कर देता है, क्योंकि साइडबार को प्रोजेक्ट में प्रत्येक लेख को पार्स करना पड़ता है।
बिल्ड समय मूल रूप से शून्य से 100 सेकंड पहले से बढ़ गया है, और यदि मैं {% include sidebar.html %}
को हटा देता हूं तो यह 5 सेकंड तक गिर जाता है। जब मैं सभी लेख प्राप्त करता हूं तो मुझे लगता है कि उनमें से लगभग 100-200 हैं। तो मुझे भविष्य में सभी लेखों के लिए संस्करण होना चाहिए जिसका अर्थ है कि लंबे समय तक आसानी से 1000+ लेख हो सकते हैं। उस बिंदु पर मुझे आश्चर्य नहीं किया जाएगा कि एक फ़ाइल में एक अक्षर को बदलने से jekyll serve
और jekyll build
में फ़ाइलों को पुन: उत्पन्न करने के लिए कुछ घंटे लगेंगे।
मैं क्या करना चाहता हूं कि निर्माण प्रक्रिया की शुरुआत में साइडबार.html बनाने के लिए और केवल पेजों को उत्पन्न करते समय इसे हर पृष्ठ पर मुद्रित करें। क्या यह संभव है?
सामग्री की 50 लेख तालिका उत्पन्न करने में इतना समय नहीं लगता है। क्या आप अपने लिए कोड दिखा सकते हैं? –
मैंने इसे पेस्टबिन पर रखा: http://pastebin.com/KBKbQr4P। मैंने संक्षेप में समझाया कि यह ऐसा क्यों करता है जो कुछ करता है और पहले से ही कुछ perfo मुद्दों पर ध्यान दिया, लेकिन मुझे ऐसा करने का एक बेहतर तरीका नहीं है। यह तीन भागों में बांटा गया है। बेहतर तरीके से कैसे करें इस पर कोई सुझाव भी सराहना की जाती है। –
यह सामग्री की एक कार्यात्मक तालिका है! मैं इस शाम को खोदूँगा। –