जेकेल में एक मार्कडाउन कोड ब्लॉक के अंदर डबल घुंघराले ब्रेसिंग बचाना


86

मैं एक प्रलेखन साइट बनाने के लिए Jekyll का उपयोग कर रहा हूं जिसमें मैं कुछ कोड का दस्तावेजीकरण करने की कोशिश कर रहा हूं जिसमें हैंडलबार-जैसे सिंटैक्स शामिल हैं। उदाहरण के लिए {{foo}}। समस्या यह है कि जेकेल तरल टैग का उपयोग करता है और इससे कोई फर्क नहीं पड़ता कि मैं क्या करता हूं, मेरे दोहरे कर्ल तरल प्रोसेसर द्वारा फट जा रहे हैं।

वैसे, मैं मार्कड प्रोसेसर के रूप में क्रामडाउन का उपयोग कर रहा हूं।

यहाँ कुछ मैंने कोशिश की है:

{% highlight html linenos %}
  Hello, my name is {{name}}.
{% endhighlight %}

यह एक {{name}} खंड को पूरी तरह से हटा देता है क्योंकि यह सोचता है कि यह एक तरल चर का संदर्भ है।

मैंने यह भी आजमाया:

{% highlight html linenos %}
  Hello, my name is \{\{name\}\}.
{% endhighlight %}

इस मामले में, मैं घुंघराले ब्रेसिज़ से बचने की कोशिश कर रहा हूं, लेकिन इसका परिणाम यह है कि स्लैश पेज में प्रदान किए जाते हैं।

मैंने भी यह कोशिश की:

{% highlight html linenos %}
  Hello, my name is <span>{</span>{name}}.
{% endhighlight %}

बेशक यह एक बहुत गूंगा था। इस स्थिति में, क्योंकि मैंने सिंटैक्स को HTML के रूप में निर्दिष्ट किया है (जिसे इसकी आवश्यकता है), स्पैन टैग पृष्ठ में प्रदान किया गया है।

तो मैं इसे कैसे हल कर सकता हूं?

जवाबों:


181

आप {% raw %}टैग ढूंढ रहे हैं ।

{% raw %}
Hello, my name is {{name}}.
{% endraw %}

6
आह हह! आप मेरे नए सबसे अच्छे दोस्त हैं।
Rescuecreative

धन्यवाद, यह वही है जो मैं चाहता हूं।
13

धन्यवाद ... यह मुझे पागल कर रहा था।
learningMachine

क्या होगा यदि आप जिस कोड को बचाना चाहते {% raw %} {{...}} {% endraw %}हैं, वह एक ब्लॉग पोस्ट में मिल सकता है, जो इस विषय पर चर्चा कर रहा है?
21

3
@starfry: मज़ेदार आपको पूछना चाहिए ... blog.slaks.net/2013-06-10/jekyll-endraw-in-code
SLaks

33

आप {% raw %}यह सुनिश्चित करने के लिए उपयोग कर सकते हैं कि सामग्री Jekyll द्वारा अनमॉडिफ़ाइड है:

{% raw %}
This is inserted literally: {{foo}}
{% endraw %}

हालाँकि, ध्यान दें कि यह कोड ब्लॉक नहीं है । अपनी सामग्री को कोड के रूप में प्रस्तुत करने के लिए आपको अतिरिक्त कोड स्वरूपण की आवश्यकता होगी:

{% raw %}
    I'm a code block, because I'm indented by 4 spaces
{% endraw %}
{% raw %}
```handlebars
I'm a code block that contains {{handlebars}}
with highlighting.
```
{% endraw %}

उस जोड़ के लिए धन्यवाद। मैं {% raw %}{{ foo }}{% endraw %}हर घटना की तरह कुछ बदसूरत कर रहा था कि मैं यहाँ क्या किया पर एक नज़र रखना होगा।
Rescuecreative

यह अधिक लचीला समाधान है, क्योंकि यह कोड ब्लॉक और इसके सिंटैक्स को रखने की अनुमति देता है।
किडो

19

जेकेल के साथ कोड है:

{% highlight html%}
{% raw %}
     <h2> {{ user.name.first | uppercase }}</h2>
     <p> {{ user.email }}</p>
{% endraw %}
{% endhighlight %}

यह सटीक उपाय है। धन्यवाद!
जेरद रटनम

ध्यान देने योग्य: उपरोक्त कार्य, रूज हाइलाइटर के साथ भी। हालांकि कच्चे हालांकि काम नहीं करता है अगर हाइलाइटिंग कोड के लिए फ़ाइन्ड सिंटैक्स का उपयोग किया जाता है (तीन प्रमुख backticks जैसे `` html…)
फ्रैंक नॉक

5

भविष्य के संदर्भों के लिए: सादे का उपयोग करना {% raw %}और {% endraw %}केवल दूसरा सबसे अच्छा समाधान है क्योंकि वे दिखाए जाते हैं यदि आप सामान्य github.com पर मार्कडाउन को देखते हैं।

सबसे अच्छा तरीका है {% raw %}और {% endraw %}HTML टिप्पणियों में:

<!-- {% raw %} -->
something with curlky brackets like { this } and { that }
<!-- {% endraw %} -->

HTML टिप्पणियों के कारण इसे Github द्वारा एक टिप्पणी के रूप में देखा जाता है। Github पृष्ठों में कच्चे टैग टैग के बीच घुंघराले कोष्ठक के पार्स को रोकेंगे।


2

यह जेकेल में काम करता है :

{%raw%}{{thing}}{%endraw%}

FYI करें, मैंने ट्रिपल बैक को यह प्रदर्शित करने के लिए शामिल किया कि जेकिल के भीतर एक कोड ब्लॉक काम करेगा। यह उत्तर में एक कोड ब्लॉक बनाने का इरादा नहीं था :)
लिसा सिंक्लेयर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.