2012-07-15 11 views
5

मेरी _config.yml में मेरे पास है:Jekyll कॉन्फ़िग फ़ाइल में सरणी को खोजने के लिए संघर्ष

navigation: 
- text: Home 
    url: index.html 
- text: About 
    url: about.html 
- text: Blog 
    url: blog.html 
- text: Portfolio 
    url: portfolio.html 

मेरी default.html लेआउट में मेरे पास है:

<ul class="nav-list"> 
    {% for link in site.navigation %} 
    {% assign current = nil %} 
    {% if page.url == link.url %} 
     {% assign current = 'current' %} 
    {% endif %} 

    <li class="nav-list-item{% if forloop.first %}first{% endif %} {{ current }} {% if forloop.last %}nav-list-item-last{% endif %}"> 
     <a class="{{ current }}" href="{{ link.url }}">{{ link.text }}</a> 
    </li> 
    {% endfor %} 
</ul> 

किसी कारण के लिए, यह काम नहीं कर रहा । यह क्यों हो सकता है?

+0

यह मेरे लिए काम करता है। वर्तमान पृष्ठ के अंकन को 'page.url' के रूप में छोड़कर पथ में "/index.html" है, इसलिए समानता जांच विफल हो जाएगी। आपके लिए काम नहीं कर रहा है बिल्कुल कोई आउटपुट नहीं? आउटपुट में अनियंत्रित तरल पदार्थ? बस वर्तमान आइटम को चिह्नित नहीं कर रहा है? – manatwork

+0

यह बिल्कुल 'site.navigation' नहीं लग रहा है। अगर मैं '_config.yml' की सामग्री को पूरी तरह से खाली करता हूं और उपर्युक्त इनपुट करता हूं, तो वर्तमान में यह सेट अप है। –

+0

प्रासंगिक नहीं हो सकता है, लेकिन क्या आप इसे स्थानीय रूप से या गिटहब पर आजमा रहे हैं? (मैंने केवल स्थानीय रूप से परीक्षण किया है।) क्या आप अपने _config.yml से अन्य सेटिंग्स तक पहुंच सकते हैं? क्या आप सुनिश्चित हैं कि नेविगेशन सरणी के आइटम रिक्त स्थान के साथ इंडेंट किए गए हैं, न कि टैब? – manatwork

उत्तर

4

मुझे पता चला कि आपको सर्वर को पुनरारंभ करना होगा और jekyll --server फिर से चलाएं और _config.yml चर उपलब्ध होंगे।

फिर इसे समझने के बाद इस पृष्ठ पर वापस आ गया और यह उत्तर पोस्ट करने वाला था, add/show 4 more comments पर क्लिक किया और देखा कि यह ऑप द्वारा भी पाया गया था। तो इसे उत्तर के रूप में पोस्ट करना।

+0

धन्यवाद। इसे खुद को एक उत्तर के रूप में पोस्ट करना चाहिए था, ओह! –

+0

@ ओलिवर जोसेफएश मैं आपको माफ़ कर देता हूं। – ThomasReggi

0

अन्य जवाब के अलावा: आप कर सकते हैं - के रूप में आप अपने जवाब में बताया गया - Ctrl +सी वर्तमान में चल रहे सर्वर (अपने CLI में) समाप्त करने के लिए इस्तेमाल करते हैं। लेकिन, आप के रूप में अच्छी सर्वर

jekyll server -w 

साथ Jekyll बताने के लिए आपकी फ़ाइलों में परिवर्तन के लिए देखने के लिए शुरू कर सकते हैं। हालांकि यह _config.yml में परिवर्तनों के लिए काम नहीं करेगा, यह अन्य सभी फ़ाइलों के लिए काम करता है। ध्यान दें, यह --safe विकल्प सहित काम नहीं करेगा, इसलिए आपको त्रुटियां नहीं मिलेंगी। उन्हें पकड़ने के लिए, मैं अब भी समय-समय पर jekyll --safe build चलाने की अनुशंसा करता हूं ताकि यह देखने के लिए कि आपको वाक्यविन्यास त्रुटियां मिली हैं या नहीं। कभी-कभी आपकी देव प्रक्रिया के दौरान jekyll doctor/jekyll hyde चलाने के लिए भी यही होता है।

संबंधित मुद्दे