jeff @ dallien.net
March 19, 2009 05:42
The latest work on my chain is to extract the templating system from the Prolog Server Pages project so that it could be used to process Prolog inside any file, not just an HTML file, and also so that it could be used without the session management and other Prolog Server Pages specific features.
I’ve added the extracted templating code to the Prolog Blog code on GitHub, though it could probably become its own project in the future which can then be used as part of any new versions of Prolog Server Pages.
Here is an example template:
greeting_noun(Noun) :-
Noun = 'world'.
/*<html>
<body>
<?, greeting_noun(X) ,?>
Hello <?= X ?>
</body>
</html>*/
The file can contain both a section of normal Prolog code and a document to be processed, contained in comments (so that SWI-Prolog ignores it). Similar to ERB, there are special tags for embedding code, <? ?>, and for embedding code that will generate part of the page, <?= ?>.
As one would probably expect, the result of the processed file will be:
<html>
<body>
Hello world
</body>
</html>