2013-05-13 8 views
11

का उपयोग कर फ़ाइल के अस्तित्व की जांच करें फ़ाइल का अस्तित्व परीक्षण करने के लिए मैं जैकिल का उपयोग कैसे कर सकता हूं?जेकिल

स्पष्ट करने के लिए, मैं अगर एक छवि फ़ाइल पेज मैं पर हूँ के रूप में एक ही नाम के साथ मौजूद है की जाँच करने के लिए एक {% if %} बयान चलाना चाहते हैं।

YAML सामने इस मामले में

मेरा पेज पर:

---- 
    reference-design: true 
---- 

मेरी लेआउट में:

{% if page.reference-design %} 
    {% assign filename = page.path | remove_first: '.html' %} 
    <!-- How can I check if file actually exists? --> 
    <img src="images/reference_designs/{{ filename }}.png"> 
{% endif %} 

उत्तर

16

Jekyll 2 के रूप में, सभी साइट फ़ाइलों site.static_files माध्यम से उपलब्ध हैं। आप यह जांचने के लिए इसका उपयोग कर सकते हैं कि कोई फ़ाइल मौजूद है या नहीं। उदाहरण के लिए:

{% for static_file in site.static_files %} 
    {% if static_file.path == '/favicon.ico' %} 
     {% assign favicon = true %} 
    {% endif %} 
{% endfor %} 
+2

अविश्वसनीय रूप से अक्षम के लिए कहा। – KFunk

+0

@KFunk क्यों? फ़ाइल अस्तित्व की जांच में I/O शामिल है और जब तक आपके पास बहुत सारी स्थिर फ़ाइलें नहीं हैं तब तक यह बहुत धीमी हो सकती है। इसके अलावा, अगर यह एकमात्र समाधान है, तो मैं इसे ले जाऊंगा। – autra

+5

@KFunk शायद, लेकिन प्रदर्शन जेकिल के साथ एक बहुत बड़ी चिंता नहीं है, क्योंकि आप केवल संकलन चरण को एक बार करते हैं। यह अंततः सादे पुराने स्थिर एचटीएमएल में परिणाम। अगर मेरी निर्माण प्रक्रिया में कुछ और सेकंड लगते हैं, तो मुझे ईमानदारी से परवाह नहीं है। – Jonathan

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