solid
solid copied to clipboard
Liquid template engine in Elixir
render with ```liquid {% assign featured_product = all_products["product_handle"] %} {% render "product" with featured_product as product %} ```
Apologies for using the issue tracker for help. I am wondering if you see any way to detect whether a tag results in no value? I have a use case...
Currently if parsing failed, solid the return message ``` Reason: expected end of string, line: xxx ``` It does not provide much detail so you don't know where to fix...
``` Render result was different! Input: ######################## this should print {%- break -%} this should not print ######################## code: liquid_output == solid_output left: "########################\n\nthis should print\n" right: "########################\n\nthis should print"...
input.liquid ```liquid {% increment my_number %} {% increment my_number %} {% increment my_number %} {{ my_number }} ``` input.json ```json { "my_number": 4 } ``` ``` Render result was different!...
We want to limit how deep a liquid template can get to just like the Liquid gem does: https://github.com/Shopify/liquid/blob/efef03d944157db323f1aed5e19861bf66fe256f/test/integration/security_test.rb#L82-L88
It would be nice to have a basic benchmark suite so we could analyse changes on the parser.
This is a super strange one that gets into some stuff I'm not sure about. I am seeing filters not being applied, sometimes, which made me look into root cause....
More info: https://shopify.dev/docs/themes/liquid/reference/tags/theme-tags#liquid ```liquid {% liquid case section.blocks.size when 1 assign column_size = '' when 2 assign column_size = 'one-half' when 3 assign column_size = 'one-third' else assign column_size =...
```liquid {% assign variants = product.variants %} {% render "product_variant" for variants as variant %} ```