filter tags liquid jekyll

filter - Uso de filtros en etiquetas líquidas



tags liquid (4)

Estoy usando jekyll y Liquid para generar un sitio web estático en las páginas de github.

Quiero basar algunas decisiones de contenido en si la cantidad de contenido en un documento ha alcanzado un número específico de trabajos. jekyll tiene un filtro de líquido que cuenta el número de palabras que quiero usar en una etiqueta if. He intentado esto:

{% if page.content | number_of_words > 200 %} ... {% endif %}

Pero no parece funcionar. También he intentado asignar el resultado a una variable y usar eso, y capturar la salida del filtro. Pero hasta ahora no he tenido suerte.

¿Alguien ha logrado usar un filtro en una etiqueta líquida?


Acabo de encontrar https://github.com/mojombo/jekyll/wiki/Plugins que proporciona detalles sobre cómo escribir una etiqueta personalizada para Github. Esto parece ser una posible dirección, además de proporcionar acceso a muchas otras personalizaciones de otros desarrolladores.


No creo que sea posible usar filtros dentro de las etiquetas de esa manera; Simplemente no parece posible.

Sin embargo, me las arreglé para crear un conjunto de condiciones que podrían resolver su problema particular (discernir si una página es más larga o más corta que 200 palabras). Eso es todo:

{% capture truncated_content %}{{ page.content | truncatewords: 200, '''' }}{% endcapture %} {% if page.content != truncated_content %} More than 200 words {% else %} Less or equal to 200 words {% endif %}

Para hacer los cálculos un poco más precisos, podría ser conveniente utilizar el operador strip_html . Eso nos da:

{% capture text %}{{ page.content | strip_html }}{% endcapture %} {% capture truncated_text %}{{ text | truncatewords: 200, '''' }}{% endcapture %} {% if text != truncated_text %} More than 200 words {% else %} Less or equal to 200 words {% endif %}

¡Saludos!


{% assign val = page.content | number_of_words %} {% if val > 200 %} .... {% endif %}


{% capture number_of_words_in_page %}{{page.content | number_of_words}}{% endcapture %} {% if number_of_words_in_page > 200 %} ... {% endif %}

Prueba esto.