จะหนีแท็กเทมเพลตของเหลวได้อย่างไร


90

ฟังดูง่ายมาก แต่ฉันหาไม่พบในเอกสาร ฉันจะเขียน{% this %}ในเทมเพลตของเหลวโดยที่เครื่องยนต์ไม่ได้รับการประมวลผลได้อย่างไร


คำตอบ:


122

สำหรับผู้ค้นหาในอนาคตมีเป็นวิธีที่จะหลบหนีโดยไม่ต้องปลั๊กอินใช้รหัสด้านล่าง:

{{ "{% this " }}%}

และสำหรับแท็กเพื่อหลีกเลี่ยงการ{{ this }}ใช้:

{{ "{{ this " }}}}

นอกจากนี้ยังมีปลั๊กอิน jekyll สำหรับสิ่งนี้ซึ่งทำให้ง่ายขึ้นมาก: https://gist.github.com/1020852

แท็ก Raw สำหรับ jekyll เก็บของเหลวจากการแยกวิเคราะห์ข้อความระหว่าง {% raw%} และ {% endraw%}

ข้อมูลอ้างอิง


1
เยี่ยมมากขอบคุณสำหรับข้อมูลอ้างอิง ด้วยเหตุผลบางอย่างฉันไม่พบสิ่งนี้ในเอกสารของเหลว
Attila O.

9
คุณไม่จำเป็นต้องใช้ปลั๊กอินอีกต่อไป{% raw %}สำหรับฉันมันใช้งานได้นอกกรอบและตอนนี้มันอยู่ในเอกสารแล้ว
fregante

เป็นไปได้ไหมที่จะหลีกเลี่ยงรหัสด้วย `` แทนที่จะเป็น {% ใน jekyll?
Jas

3
ข้อเสนอแนะคู่แรกไม่ทำงานสำหรับฉัน แต่ใช้ไม่ได้:raw {% raw %}{{ this }}{% endraw %}
Yevgeniy Brikman

มันใช้งานได้ขอบคุณ ... ดูตัวอย่างจริงได้ที่นี่g14n.info/2014/08/moving-from-blogger-to-github-pages/#comments
Gianluca Casati

121

เป็นไปได้ที่จะปิดใช้งานเครื่องมือประมวลผลของเหลวโดยใช้rawแท็ก:

{% raw  %}
{% this %}
{% endraw %}

จะแสดง

{% this %}

ผมเชื่อว่านี่เคยเป็นPlug-in ในระหว่างนี้มันเข้าสู่เครื่องยนต์หลักหรือไม่?
Attila O.

5
ดูเหมือนว่าrawจะมีการเพิ่มแท็กเมื่อปีที่แล้วในเครื่องยนต์หลัก ดูgithub.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
Etienne

2
อย่างไรก็ตาม Github ไม่รองรับการหลบหนีนี้
leiming

2
@LeiMing ดูเหมือนตอนนี้ (อาจจะเป็นเดือนพฤษภาคม 2013 )
atomicules

3
ได้รับการยืนยันแล้วว่าใช้งานได้กับหน้า GitHub rawแท็กถูกนำมาใช้ในของเหลว 2.3.0และ GitHub หน้ากำลังใช้เวอร์ชัน 2.5.5
Enrico Campidoglio

14

คุณสามารถหลีกเลี่ยงแท็กของเหลวในโพสต์ Jekyll โดยใช้ {% raw%} {% endraw%} เช่น

{% raw %}
  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}

{% endraw %}

จะผลิต

  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}

13

BTW:

หากคุณต้องการแสดง{{ "{% this " }}%}ใน Jekyll คุณสามารถโค้ดดังนี้:

{{ "{{ " }}"{{ "{% this" }} " }}{{ "}}%}

ในการหลีกเลี่ยงการ{{ "{{ this " }}}}ใช้:

{{ "{{ " }}"{{ "{{ this" }} " }}{{ "}}}}

28
ฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่าฮ่า
RobW

10

มีอีกทางเลือกหนึ่งคือการใช้รหัสอักขระพิเศษ HTML เพื่อแทนที่วงเล็บปีกกาด้วยรหัสที่ตรงกัน

  • แทนที่แต่ละ{ด้วย& # 123;
  • แทนที่แต่ละ}ด้วย& # 125;

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโซลูชันนี้โปรดดู: http://www.tikalk.com/devops/curly_brances_workaround/


4

ฉันพบวิธีที่มีประสิทธิภาพในการแสดงข้อความใด ๆ ที่มีวงเล็บปีกกา คุณสามารถกำหนดข้อความธรรมดาให้กับตัวแปรและแสดงได้

{% assign var = "{{ sth }}" %}
{{ var }}

ขอขอบคุณ! มีประโยชน์ในการหลีกหนีคำพูดคู่หรือเดี่ยว
JumpLink

1

ดังที่ได้กล่าวไว้ที่นี่เช่นกันธรรมดา{% raw %}และ{% endraw %}เป็นเพียงวิธีที่ดีที่สุดอันดับสองเนื่องจากจะปรากฏขึ้นหากคุณค้นหา Markdown บน github.com ปกติ

วิธีที่ดีที่สุดคือใส่{% raw %}และ{% endraw %}แสดงความคิดเห็น HTML:

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

เนื่องจากความคิดเห็น HTML Github เห็นเป็นความคิดเห็น ในหน้า Github แท็กดิบจะป้องกันการแยกวิเคราะห์ของวงเล็บปีกการะหว่างแท็ก


ฉันชอบวิธีนี้เพราะด้วยเหตุผลบางอย่างมันไม่ยุ่งกับข้อความที่ตัดตอนมาของฉัน
Corstian Boerman

0

ฉันพยายาม{% raw %}บางสิ่งบางอย่าง{% endraw %},

และ{{ "{% this " }}%}. แต่ทั้งคู่ไม่ได้ผล

{{ "{%" xxx }} something }}ในที่สุดคำตอบของฉันคือการทำงาน

รหัสของฉัน:

{{ "{%" }} extends 'xadmin/base_site.html' %}
{{ "{%" }} block nav_form %}
    <h3>{{ "{{" }} title }}</h3>
    {{ "{%" }} for i in context1 %}
        <p>{{ "{{" }} i }}</p>
    {{ "{%" }} endfor %}
{{ "{%" }} endblock %}

ผลลัพธ์:

{% extends 'xadmin/base_site.html' %}
{% block nav_form %}
    <h3>{{ title }}</h3>
    {% for i in context1 %}
        <p>{{ i }}</p>
    {% endfor %}
{% endblock %}

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.