2016-03-20 25 views
5

Bir Jekyll değişkenini sıvı etiket eklentisine nasıl geçireceğimi anlamaya çalışıyorum. Bunu yaparken çalıştı:Jekyll - Özel bir sıvı etiketine bir jekyll değişkeni ilet

{% liquidtag {{ variable }} %} 

Ama değişken fark almaz ve etiket sadece kıvırcık parantez ile değişken adı alır: Ben kullandığınızda {{ variable }}

Ayrıca fark almaz: {% liquidtag {% variable %} %} - değişkenden önce {% dizgiye dahil edilir ve değişken {% sıvı etiketinin ilk %} ile sonlandırılmasından sonra %} göz ardı edilir. I.e, bu geçer: {% variable

İstediğim, etikete geçirilecek değişkenin gerçek değeri içindir.

İşte etiket aşağıdaki gibidir:

class CatAbs < Liquid::Tag 
     def initialize(tag_name, text, tokens) 
      super 
      @text = text 
      puts @text 
     end 
     def render(context) 
      return @text.split("-").at(1) 
     end 
     end 

Ve burada şu anda etiketi başvuran ediyorum edebilirsiniz:

{% for tag in site.categories %} 
<div class="grid grid-pad"> 
    <a><h2>{% CatAbs {{ tag[0] }} %} »</h2></a> 
... 
+0

Olası yinelenen (http://stackoverflow.com/questions/7919644/using-liquid-variables-inside -of-a-sıvı-etiket arama) – Helen

cevap

2

arama bir sürü sonra sonunda cevabını buldu. Daha önce bulmamın neden bu kadar zor olduğunu bilmiyorum! Yinelenen soru için üzgünüm!
İşte buldum cevabı: [sıvı etiketi çağrısı içindeki sıvı değişkenleri kullanarak] arasında

using Liquid variables inside of a liquid tag call