Skip to content

Instantly share code, notes, and snippets.

@piotrpog
Created January 1, 2019 15:04
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save piotrpog/14b2c530770a47940fafeacb5a614b21 to your computer and use it in GitHub Desktop.
Save piotrpog/14b2c530770a47940fafeacb5a614b21 to your computer and use it in GitHub Desktop.
{% macro truncate(text, limit, append) %}
{# settings #}
{% set suffix = append|default('...') %}
{% set punctuation = ['.',',','-',':',';'] %}
{# logic #}
{% set array = text|split(' ') %}
{% set arrayTruncated = array|slice(0, limit) %}
{% set string = arrayTruncated|join(' ') %}
{% if limit and array|length > limit %}
{% for mark in punctuation %}
{% set string = string|trim(mark) %}
{% endfor %}
{% set string = string ~ suffix %}
{% endif %}
{{ string }}
{% endmacro %}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment