Как объединить / добавить строку к другой в Jekyll / Liquid?


чтобы быть ясным, предполагая:

{% assign my_var = "123" %}
{% assign another_var = "456" %}

Я хотел бы добавить строку my_var чтобы сделать что-то вроде 123 - 456

то, что я пробовал до сих пор:

{% assign my_var = my_var + " - " + another_var %}
2   51  

2 ответа:

вы могли бы использовать capture логика тег:

{% capture new_var %}{{ my_var }} - {{ another_var }}{% endcapture %}

также можно использовать append фильтр, как указал Сиро:

{% assign new_var = my_var | append: ' - ' | append: another_var %}

append: фильтр

это удобнее, чем capture для коротких конкатенации:

{% assign x = 'abc' %}
{% assign y = 'def' %}
{% assign z = x | append: ' - ' | append: y %}
{{ z }}

выход:

abc - def

протестировано на jekyll 3.0.4 (github-страницы 75).