plmustache icon indicating copy to clipboard operation
plmustache copied to clipboard

handle partials by calling other (plmustache) functions

Open wolfgangwalther opened this issue 2 years ago • 1 comments

Since it doesn't make sense to load partials from file, it would be great if other functions could be called via partials:

create or replace function hello() returns text as $$
Hello, {{>world}}
$$ language plmustache;

create or replace function world() returns text as $$
World
$$ language plmustache;

select hello();
Hello, World

It should even be possible to pass arguments to those functions via blocks and parents:

create or replace function hello(subject text) returns text as $$
Hello, {{subject}}
$$ language plmustache;

create or replace function hello_world() returns text as $$
{{<hello}}
  {{$subject}}World{{/subject}}
{{/hello}}
$$ language plmustache;

select hello();
Hello, World

Neither blocks, nor parents are supported by jobol/mustach, yet. I opened an issue about it.

I don't think it's possible to override the default "file loader" either, so that probably needs some changes in jobol/mustach, too.

wolfgangwalther avatar Jan 06 '24 13:01 wolfgangwalther

Upstream started development on partials and blocks and is asking for feedback: https://gitlab.com/jobol/mustach/-/issues/46#note_1856323871

@steve-chavez maybe you have time to try how that would work with plmustache?

wolfgangwalther avatar Apr 11 '24 05:04 wolfgangwalther