2013-02-03 31 views
35

पर जेकिल मार्कडाउन पेज कैसे प्रस्तुत करें मुझे शायद कुछ आसान याद आ रहा है लेकिन मेरे पास जेकील का स्थानीय रूप से परीक्षण करने का कोई तरीका नहीं है।साइट इंडेक्स

मैं जेकिल प्रस्तुत करने के लिए गिटहब पेज का उपयोग कर रहा हूं, स्टार्टर्स के लिए मैं केवल एक मार्कडाउन पेज से मुख्य index.html पर मार्कडाउन सामग्री प्रस्तुत करना चाहता हूं।

संरचना होती है:

Index.html

--- 
layout: default 
--- 

_layouts
- default.html

//html stuff.. 
<section> 

{{page.content}} 

</section> 

रूट फ़ोल्डर में मैं एक पेज content.md कहा जाता है कि मैंके लिए प्रस्तुत करना चाहता हूंलेआउट प्रस्तुत करता है लेकिन तरल टैग अनुभाग खाली है।

मैं content.md कैसे प्रस्तुत करूं?

उदाहरण: https://github.com/wycks/wordpress-gears-jekyll

उत्तर

37

यहां पर इसके कुछ कारण हैं।

  1. अपने _layouts/default.html फ़ाइल (और उस बात के लिए अन्य _layouts निर्देशिका से किसी भी फ़ाइल) के बजाय,:

    {{ content }} 
    
  2. Jekyll केवल:

    {{ page.content }} 
    

    आप उपयोग करने की आवश्यकता आपको साइट रूट स्तर _includes निर्देशिका से फ़ाइलों को शामिल करने देता है। इसलिए, आपको अपनी content.md रूट से उस निर्देशिका में स्थानांतरित करने की आवश्यकता है (इसे बनाना अगर यह पहले से मौजूद नहीं है)।

  3. अंत में, आपको वास्तव में अपनी index.html फ़ाइल से फ़ाइल शामिल करने की आवश्यकता है। यह करने के लिए अपने index.html फ़ाइल की सामग्री को बदलने के द्वारा किया जा सकता है:

    --- 
    layout: default 
    --- 
    
    {% include content.md %} 
    

कि आप सेटअप से व्यवहार आप के लिए देख रहे हैं।

  1. हो सकता है कि .html से .md करने के लिए अपने इंडेक्स फ़ाइल का एक्सटेंशन बदल बेहतर काम करता है:


    मैं दो अन्य बातों का कहना चाहते हैं। हालांकि एक महत्वपूर्ण नोट: यदि आप पेजिनेशन चाहते हैं तो आपको .html का उपयोग करने की आवश्यकता है। Jekyll Pagination documentation पर, यह सुविधा केवल तभी काम करती है जब फ़ाइल index.html नामित होती है।

  2. यदि आप अपनी इंडेक्स फ़ाइल में जो कुछ भी कर रहे हैं, वह उस कॉलिंग को कॉल कर रहा है जिसमें केवल उस पृष्ठ पर रहता है, तो आप सामग्री को सीधे इंडेक्स फ़ाइल में सीधे डाल सकते हैं।

+0

धन्यवाद एलन, मैंने जो किया वह मैंने किया और कुछ भी प्रस्तुत नहीं कर रहा है। इसके अलावा सिर्फ एक 'index.md' को प्रस्तुत करने के आपके सुझावों के लिए मैंने शुरुआत में कोशिश की थी और काम भी नहीं किया था। गिटहब लिंक उस के साथ अपडेट किया गया है और इसमें 'old_index.html' में आपका प्रारंभिक सुझाव शामिल है। – Wyck

+1

अब कुछ और चल रहा है। आपकी index.md फ़ाइल में शुरुआत में कुछ अदृश्य वर्ण हैं जो पार्सर को फेंक रहे हैं। जब मैं फ़ाइल पर 'सिर' पढ़ता हूं, तो पहली पंक्ति के लिए '---' देखने के बजाय, यह '? --- ---' देता है। मैं लाइन को हटाकर इसे से छुटकारा नहीं पा सका। मुझे फाइल को फिर से बनाना था। तो, इसे दूर करने और इसे (http://pastebin.com/i4zMEAaV) से पुनर्निर्माण करने का प्रयास करें। आपको _layouts निर्देशिका से contend.md को हटाने की भी आवश्यकता है। यह वही अजीब अदृश्य पात्र है और जब मैं इसे स्थानीय रूप से चलाने की कोशिश करता हूं तो जैकील को दुर्घटनाग्रस्त कर रहा है। एक बार मैंने उन दो चीजों को किया, जेकील ने काम किया। –

+0

हां यह सब अजीब पात्रों के सभी प्रकार थे, संभवतः क्योंकि मैंने मूल एचटीएमएल को मार्कडाउन में बदलने के लिए पांडोक का इस्तेमाल किया था, या शायद यह सिर्फ विंडोज़ गलत व्यवहार कर रहा था, धन्यवाद – Wyck

0

include केवल आप सीधे _includes/ तहत फ़ाइलों को शामिल करने की अनुमति देता है। include_relative भी है जो आपको पथों का उपयोग करने और अन्य स्थानों से शामिल करने की अनुमति देता है। को शामिल दी फ़ाइल तथापि के सापेक्ष हो गया है: फ़ाइल आप शामिल सामने बात है, तो Jekyll यह पट्टी नहीं होगा:

{% include_relative somedir/footer.html %} 

किसी के साथ एक समस्या है विधि मैं का समाधान नहीं कर सकते हैं शामिल बाहर। तो आप स्टोर करने के लिए फ्रंट पदार्थ का उपयोग नहीं कर सकते हैं विशिष्ट मेटा डेटा - जैसे "शीर्षक" कहें। बेशक आप चर का उपयोग कर सकते हैं - {% assign title = "My Title" %} लेकिन यह समतुल्य नहीं है, क्योंकि यदि आप उस चीज़ को चाहते हैं जिसमें आप संग्रह का हिस्सा बनें या स्वतंत्र रूप से प्रस्तुत किया जाए तो आपको एक महत्वपूर्ण मामला होना चाहिए।