In #518, I made the suggestion to have a way to interpolate curly brackets in field content. So, for example, if you have the following content:
Title: Home
----
Myfield: Welcome to the {{ page.title }} page
…and the following template:
echo $page->myField()->replace(['page' => $page]);
…the echoed result would be:
Welcome to the Home page
What if this syntax is merged with the KirbyTags syntax and the kirbytext()
method replaces both KirbyTags and interpolates curly brackets?
While having (link: https://example.com text: my link)
is sleek, I believe it’s also unnecessarily smart. “Mustache syntax” is more common and recognized for text substitution. It’s also a lot more noticeable when quickly going through content. Wouldn’t it be easier to have a single syntax and have:
{{ page.title }} outputs the page title
{{ link: https://example.com text: my link }} outputs a link
I’m pretty confident it would also be faster to parse, since {
is much more rarely seen, compared to (
, making the regex quicker.
It would be cool to be able to do $page->myField->kt()
and automatically interpolate {{
and }}
, parsing kirbytags and properties of $page
and $site
.