site pages page new generate jekyll liquid

pages - jekyll url



Pasando parámetros a inclusión en plantillas líquidas. (3)

Hay dos maneras de lograr esto. He probado ambos enfoques contra la versión de Gekub-pages de Jekyll.

Utilizando captura

Suponiendo que hace referencia a {{ foo }} en el código de su inclusión, debe asignar un valor a foo antes de llamar a la inclusión.

Como:

{% capture foo %}{{ baz.quux }}{% endcapture %} {% include function.liquid %}

Usando parámetros para incluir

Esto le permite controlar el alcance de la variable, que parece que usted desea. Hay algunos detalles de cómo configurar esto en la documentación de plantillas .

Estabas casi en lo cierto con la sintaxis, en la plantilla que usarías:

{% include function.liquid foo=baz.quux %}

La parte que faltaba es que la variable debe ser referenciada de manera diferente en el código del archivo de inclusión, debe usar {{ include.foo }}

En mi sitio web con Jekyll tengo una inclusión que hace algo parecido a una función, pero no puedo averiguar cómo pasar los parámetros correctamente. Cuando paso parámetros como {% include function.liquid foo="{{baz.quux}}" %} simplemente pasa {{baz.quux}} ! Por supuesto, no es lo que quería: quiero que se apruebe baz.quux. ¿Cómo hago esto?

¡Gracias!



Junto a la de David Hutchison, hay una tercera solución:

Usando assign

{% assign foo = baz.quux %} {% include function.liquid %}

Ahora puede hacer referencia a {{ foo }} en su archivo incluido.