Bagaimana cara keluar dari tag template cair?

90

Ini terdengar sangat mudah, namun saya tidak dapat menemukannya di mana pun di dokumen. Bagaimana saya bisa menulis {% this %}dalam template cair , tanpa diproses oleh mesin?

Attila O.
sumber
Anda selalu bisa berkomentar.
1934286

Jawaban:

121

Untuk pencari masa depan, ada adalah cara untuk melarikan diri tanpa plugin, menggunakan kode di bawah ini:

{{ "{% this " }}%}

dan untuk tag, untuk menghindari {{ this }}penggunaan:

{{ "{{ this " }}}}

Ada juga plugin jekyll untuk ini yang membuatnya jauh lebih mudah: https://gist.github.com/1020852

Tag mentah untuk jekyll. Menjaga agar tidak cair dari penguraian teks antara {% raw%} dan {% endraw%}

Referensi

Khaja Minhajuddin
sumber
1
Hebat, terima kasih atas referensinya. Untuk beberapa alasan saya tidak dapat menemukan ini di dokumen cair.
Attila O.
8
Anda tidak lagi memerlukan plugin untuk digunakan {% raw %}, bagi saya itu berfungsi di luar kotak dan sekarang ada di dokumen
fregante
apakah mungkin untuk melepaskan kode dengan `` daripada {% di jekyll?
Yak
3
Pasangan saran pertama tidak bekerja untuk saya, tetapi menggunakan rawlakukan: {% raw %}{{ this }}{% endraw %}.
Yevgeniy Brikman
berhasil, terima kasih ... lihat contoh nyata di sini g14n.info/2014/08/moving-from-blogger-to-github-pages/#comments
Gianluca Casati
120

dimungkinkan untuk menonaktifkan mesin pemroses cairan menggunakan rawtag:

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

akan ditampilkan

{% this %}
Etienne
sumber
Saya yakin ini dulunya adalah plugin . Apakah itu masuk ke mesin inti sementara itu?
Attila O.
5
Sepertinya rawtag tersebut telah ditambahkan setahun yang lalu di mesin inti. Lihat github.com/Shopify/liquid/commits/master/lib/liquid/tags/raw.rb
Etienne
2
Namun, pelarian ini tidak didukung oleh Github.
leiming
2
@Leiing Sepertinya sekarang (mungkin sejak Mei 2013 )
atomicules
2
Dikonfirmasi, ini berfungsi di Halaman GitHub. The rawtag telah diperkenalkan di Liquid 2.3.0 dan GitHub Pages saat ini menggunakan versi 2.5.5 .
Enrico Campidoglio
13

BTW:

Jika Anda ingin menampilkan {{ "{% this " }}%}dalam Jekyll, Anda dapat membuat kode seperti ini:

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

Untuk menghindari {{ "{{ this " }}}}penggunaan:

{{ "{{ " }}"{{ "{{ this" }} " }}{{ "}}}}
leiming
sumber
27
Ha, ha hahahah ah aaaaahhh.
RobW
13

Anda dapat melepaskan tag cair dalam kiriman Jekyll menggunakan {% raw%} {% endraw%} yaitu

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

{% endraw %}

akan menghasilkan

  {% for post in site.posts %}
     {{ post.content }}
  {% endfor %}
Ahmed Bouchefra
sumber
10

Ada pilihan lain: untuk menggunakan kode karakter khusus HTML untuk mengganti tanda kurung kurawal dengan kode yang cocok:

  • ganti setiap { dengan & # 123;
  • ganti setiap } dengan & # 125;

Untuk detail lebih lanjut tentang solusi ini lihat: http://www.tikalk.com/devops/curly_brances_workaround/

yorammi
sumber
4

Saya menemukan cara yang mahakuasa untuk menampilkan teks apa pun dengan tanda kurung kurawal. Anda dapat menetapkan teks biasa ke variabel, dan menampilkannya.

{% assign var = "{{ sth }}" %}
{{ var }}
Bekukan
sumber
Terima kasih! Berguna untuk menghindari tanda kutip ganda atau tunggal
JumpLink
1

Seperti yang disebutkan di sini juga, sederhana {% raw %}dan {% endraw %}hanya solusi terbaik kedua karena yang ditampilkan jika Anda mencari Penurunan Harga di github.com normal.

Cara terbaik adalah dengan meletakkan {% raw %}dan {% endraw %}di komentar HTML:

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

Karena komentar HTML, ini dilihat oleh Github sebagai komentar. Di halaman Github, tag mentah akan mencegah penguraian tanda kurung kurawal di antara tag.

liquidat
sumber
Saya suka metode ini karena, untuk beberapa alasan, tidak mengacaukan kutipan saya.
Corstian Boerman
0

Saya mencoba {% raw %}sesuatu {% endraw %},

dan {{ "{% this " }}%}. Tapi keduanya tidak berhasil.

akhirnya, jawaban kerja saya adalah {{ "{%" xxx }} something }}.

Kode saya:

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

Hasil:

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

陈 章
sumber