I like https://github.com/rust-sailfish/sailfish more. It accepts arbitrary Rust code in the template so you don't need to learn another syntax.
Conformant: Incompatibilities with strict shopify/liquid are bugs to be fixed.
Flexible: Liquid embraces variants for different domains and we want to follow in that spirit.
Performant: Do the best we can within what is conformant.
This has potential to replace Github Pages ruby-based Jekyll+Liquid, which is unusably slow on iOS without JIT.Compiled cobalt with liquid-rust on iSH is fast enough for static blog publishing and browser-based offline site preview on iOS/iPadOS, https://news.ycombinator.com/item?id=46220227
Ah nice! I should integrate this into https://github.com/SaynaAI/sayna
``` Performant. Do the best we can within what is conformant. ```
Would be great to have benchmarks like ops/second
I thought it is something like Liquid Haskell...
Why they call pipes filter? And if... endif? Not for me
Ah, I thought this was adding refinement types to Rust based on Liquid Haskell. Disappointed.
Huh, of all of my projects, I never expected this to make it to HN. Not the original author but the maintainer, so ask away.
Unfortunately, I've not had as much time to devote to this for a while. There are also a lot of weird cases that aren't too well defined or that the Ruby implementation shines through that also have me dissatisfied with Liquid. That and wanting to make it easier to extend with an embedded language. A way to solve this and my annoyance is to create a template language using an existing embedded language. I'm tempted by koto because it already has something like `|` operator (`->`) and isn't just "Rust, but embeddable" (Rust is an implementation detail; it shouldn't bleed through).
[0] https://koto.dev/