Hi!

Well, we have this secret really not mature project we started with stef a
couple of weeks ago.

https://github.com/guillep/Ecstatic

For now it has some simple features:
  - you open an image and it will start serving your site + regenerating it
every couple of seconds (nice to debug and forget about running pillar
commands)
  - we made some themes based on the one I made for dbxtalk, the one from
stef's personal website and esug website.
  - we tried to push site configuration to the pillar.conf (title,
menu/navigation information, author/contact info)
  - another thing we wanted to push was the writing of plugins for the
moment taking benefit from the [[[eval=true]]]. We were thinking however on
making a special annotation for it. We have two really simple stupid
"plugins", one that shows a list of news/blog feed, one that generates a
list of publications based on a bib file using citezen.

I originally started this for the new dbxtalk site which is written
basically in pillar.

http://dbxtalk.smallworks.eu/

You can see the source code of this site in here:

https://github.com/guillep/DBXTalk/tree/gh-pages

Of course, there you will notice a lot of *workarounds* to make it work.
I've made a list of those workarounds and sent them to Cyril to see if we
can have better support for them in pillar.

I'd be pleased if you contribute and push it :). We have this trello board
to add ideas and manage our backlog

https://trello.com/b/2t7qTWpp/ecstatic

Guille


El jue., 21 de may. de 2015 a la(s) 1:10 a. m., Cyril Ferlicot <
[email protected]> escribió:

> Guille asked me to add some feature for that, I added it to the TODO
> list of Pillar but I don't have the time to do it now.
>
> On 21 May 2015 at 00:40, Norbert Hartl <[email protected]> wrote:
> > Good. I would be pleased if you could show me what you've done so far so
> I don't waste time on things already solved.
> >
> > Norbert
> >
> >> Am 21.05.2015 um 00:03 schrieb stepharo <[email protected]>:
> >>
> >> We did the same with guillermo but we are bullet profing the code
> before announcing it.
> >>
> >> Stef
> >>
> >>
> >> Le 20/5/15 21:45, Norbert Hartl a écrit :
> >>> 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
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
> >
>
>
>
> --
> Cheers
> Cyril Ferlicot
>
>

Reply via email to