liquid
liquid copied to clipboard
Shift all Tag parsing into parse method
This is a clean up that accomplishes a few things. It doesn't add any new methods, it just shifts parsing logic inside initialize
to parse
which is pre-existing functionality.
Tag initialization is now lightweight and universal
There are no tags that need an initialize
method. By removing this it opens up the ability to dynamically create Tags outside of the normal parsing process. There is a current overlap of functionality between some tags and this moves towards the path of possibly allowing Tag A
to wrap itself in Tag B
.
Example: render
wrapping itself with for
Separation between Object creation and Parsing
By moving away from the initialize
method, it will be easier to move tag parsing to liquid-c
@pushrax @Thibaut @Shopify/guardians-of-the-liquid @Shopify/liquid
Yeah, it just makes it easier to replace the method. This is just a tiny step to improve things. I've been playing around a bit with replacing Tag
and Block
with a new Node
that has properties
and children
and handles all the logic it does now.
Just a comment here to remember, this will likely mess with Tags that extend the core tags.