一个简单的 Liquid CamelCase 不能完成它的工作
A simple Liquid CamelCase does not do its job
一个简单的 CamelCase 转换似乎在我们这边不起作用。
这是来自 Shopify 的示例,应该 return ComingSoon
。
{{ 'coming-soon' | camelcase }}
我们没有使用 Shopify,但该工具支持 Liquid,我们已经用它完成了其他 Liquid 工作。
但是上面的代码并没有改变文本 returns coming-soon
.
更新:
我正在尝试代码 in an online sandbox 但它给了我相同的结果。所以现在我真的很迷茫。
不幸的是,camelcase
或 camelize
过滤器只是 Shopify。请参阅此 Github 错误报告:
https://github.com/Shopify/liquid/issues/755
编辑:
如果您想在 Shopify 中模仿这一点,您可以这样做:
{%- assign input = 'long-camel-case-string' -%}
{%- assign parts = input | replace: ' ', '-' | split: '-' -%}
{%- capture camel -%}
{%- for part in parts -%}
{%- if forloop.index == 1 -%}
{{ part }}
{%- else -%}
{{ part | capitalize }}
{%- endif -%}
{%- endfor -%}
{%- endcapture -%}
{{ camel }}
如果你打算经常使用它,你可以把它全部放在一个片段中,然后使用另一个捕获来抓取它,例如:
{%- capture output -%}{%- render 'camelize', input: 'long-camel-case-string' -%}{%- endcapture -%}
{{ output }}
一个简单的 CamelCase 转换似乎在我们这边不起作用。
这是来自 Shopify 的示例,应该 return ComingSoon
。
{{ 'coming-soon' | camelcase }}
我们没有使用 Shopify,但该工具支持 Liquid,我们已经用它完成了其他 Liquid 工作。
但是上面的代码并没有改变文本 returns coming-soon
.
更新: 我正在尝试代码 in an online sandbox 但它给了我相同的结果。所以现在我真的很迷茫。
不幸的是,camelcase
或 camelize
过滤器只是 Shopify。请参阅此 Github 错误报告:
https://github.com/Shopify/liquid/issues/755
编辑:
如果您想在 Shopify 中模仿这一点,您可以这样做:
{%- assign input = 'long-camel-case-string' -%}
{%- assign parts = input | replace: ' ', '-' | split: '-' -%}
{%- capture camel -%}
{%- for part in parts -%}
{%- if forloop.index == 1 -%}
{{ part }}
{%- else -%}
{{ part | capitalize }}
{%- endif -%}
{%- endfor -%}
{%- endcapture -%}
{{ camel }}
如果你打算经常使用它,你可以把它全部放在一个片段中,然后使用另一个捕获来抓取它,例如:
{%- capture output -%}{%- render 'camelize', input: 'long-camel-case-string' -%}{%- endcapture -%}
{{ output }}