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!
Ingrese la variable sin comillas ni paréntesis, así:
{% include footer.html param="value" variable-param=page.variable %}
En tu caso:
{% include function.liquid foo=baz.quux %}
Funciona en mi sitio.
Desde: https://github.com/jekyll/jekyll/issues/3577#issue-61988857
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.