使用液体,我使用产品标签来生成页面标题。我希望页面标题不含连字符,每个单词都大写。
实施例
如果标签(用于生成标题)是“薯片”。我希望标题是“薯片”。
如果我使用:
{{current_tags.first}}
它产生了“薯片”的标题。
如果我使用:
{{current_tags.first | replace: '-', ' '}}
它产生了“薯片”的称号。
如果我使用
{{current_tags.first | replace: '-', ' ' | capitalize}}
我们获得了“薯片”的称号。
如果有人知道如何获得“薯片”这个标题,那就太棒了。
如果重要,一些标签(用于生成标题)是“单词”;有些是“单词”;有些是“单词单词”;等等。
感谢。
答案 0 :(得分:5)
你可以在' - '上拆分标签,然后循环翻译每个标签:
{% assign words = current_tags.first | split: '-' %}
{% for word in words %}{{ word | capitalize }} {% endfor %}
答案 1 :(得分:1)
According to the docs,camelize
(或camelcase
)过滤器应该有效:
<强> camelize 强>
将文本转换为CamelCase。
<强>输入强>
{{'即将来临'| camelcase}}
<强> Ouptut 强>
即将推出
但是当我测试它时,我发现过滤器似乎没有像doco所说的那样添加空间。
在这种情况下,BBG's answer是我将使用的解决方法(拆分为' - '并将数组中的每个单词大写)。
答案 2 :(得分:0)
如果使用 CSS 是一种选择,我只会这样做,而不是在 Liquid 中处理拆分和循环。
<span style="text-transform: capitalize">
{{current_tags.first | replace: '-', ' '}}
</span>