-
Simon authored
I copied Jinja2 syntax for my PoC, but Jinja2 and D both use curly braces a lot, making templates hard to read when they're mixed together. The new syntax comes from balancing the following criteria: * Easy to read when mixed with D code * Easy to remember * Easy to type for common cases * Rare syntax collisions with common use cases (i.e, templating D, YAML/JSON, XML-like languages, etc) Some collisions are bound to happen. [< can be confused with common CDATA usage. [: can be confused with IPv6 addresses and a common regex character class syntax not used in D. `raw` and `endraw` will need to be used in these cases. I hope there aren't any seriously annoying cases.
37ebcebbSimon authoredI copied Jinja2 syntax for my PoC, but Jinja2 and D both use curly braces a lot, making templates hard to read when they're mixed together. The new syntax comes from balancing the following criteria: * Easy to read when mixed with D code * Easy to remember * Easy to type for common cases * Rare syntax collisions with common use cases (i.e, templating D, YAML/JSON, XML-like languages, etc) Some collisions are bound to happen. [< can be confused with common CDATA usage. [: can be confused with IPv6 addresses and a common regex character class syntax not used in D. `raw` and `endraw` will need to be used in these cases. I hope there aren't any seriously annoying cases.
Loading