I've found some minutes today to play with pillar and mustache. I wanted to know how far I can go when doing some static site generation. The exercise was to simulate a page that has multiple components either in mustache or pillar format. I could do this
| masterTemplate masterPillar masterDocument partialPillar partialTemplate finalPillar | masterTemplate := '<master> <head>{{{title}}}</head> <masterContent> {{{content}}} </masterContent> </master>'. masterPillar := '{{title: This is the title of the master!}} !masterheading This text is contained in the master pillar template {{{{{>phase2Template}}}}}'. partialPillar := '!{{{{{{title}}}}}} Some text in the partial template before the content... {{{{{{content}}}}}}} ... and after'. finalPillar := 'I''m a text in pillar format that was inserted in a partial mustache template generated from pillar that was inserted in a mustache master template in pillar format that was inserted in a master mustache template'. masterDocument := PRDocumentParser parse: masterPillar readStream. partialTemplate := PRHTMLWriter write: (PRDocumentParser parse: partialPillar readStream). phase1Result := masterTemplate asMustacheTemplate value: masterDocument properties, { 'content' -> (PRHTMLWriter write: masterDocument) } asDictionary. phase2Result := phase1Result asMustacheTemplate value: { 'title' -> 'A partial title'. 'content' -> (PRHTMLWriter write: (PRDocumentParser parse: finalPillar readStream)) } asDictionary partials: { 'phase2Template' -> partialTemplate } asDictionary. and got <master> <head>This is the title of the master!</head> <masterContent> <h1>masterheading</h1> <p>This text is contained in the master pillar template</p> <p><h1>A partial title</h1> <p>Some text in the partial template before the content...</p> <p><p>I'm a text in pillar format that was inserted in a partial mustache template generated from pillar that was inserted in a mustache master template in pillar format that was inserted in a master mustache template</p>}</p> <p>... and after</p></p> </masterContent> </master> That is really cool. Actually pillar and mustache are a good match. FYI, Norbert