Re: [Pharo-users] Fun with pillar and mustache

2015-05-21 Thread Norbert Hartl
Guille,

thanks for revealing the secret project :) I can see what it is doing. I'll 
experiment a little more with my own stuff and then I can see what might match. 
At the moment ecstatic and cocoon appear to be rather file centric. My approach 
is doing everything in the image first and export it then to somewhere. So I 
need to learn what I need and then I'll need cocoon and such as exports to be 
able to do commandline generation. I'm sure we can exchange some ideas and 
code. The rest is open.

thanks again,

Norbert

> Am 21.05.2015 um 10:51 schrieb Guillermo Polito :
> 
> 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 
> mailto:cyril.ferli...@gmail.com>> 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  > 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  >> >:
> >>
> >> 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 := '
> >>> {{{title}}}
> >>> 
> >>>  {{{content}}}
> >>> 
> >>> '.
> >>>
> >>> 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
> >>>
> >>> 
> >>> This is the title of the master!

Re: [Pharo-users] [Pharo-dev] Next Pharo sprint & Moose dojo

2015-05-21 Thread Jean-Christophe Bach
* Tudor Girba  [21.05.2015. @13:04:19 +0200]:

> Great!
> 
> It would be great if you could test Moose 5.1 (stable) and let us know if
> you encounter problems or if you commit new changes so that we can finally
> release it. Do you think this would fit in your sprint/dojo?
> 
> Cheers,
> Doru

OK, I note it. I think it is possible: it will depend on the available
people but I think it can be the focus for Moose sprinters.

JC



Re: [Pharo-users] Fun with pillar and mustache

2015-05-21 Thread Cyril Ferlicot
Cocoon allow you to manage configuration with a .conf file and a STON syntax.
You can see how Cocoon work with the class PRCocoonConfiguration of Pillar.
I'll try to create a demo of Cocoon when I'll have the time.

But to make simple you can define some parameters on your
configuration and you give them a default value. Then if the user
define a configuration Cocoon will change the default value for the
value of the user. You can also use the value to create something else
with CocoonSTONInterpreter. (For example on Pillar we check the
outputType parameter and we choose or Writer in the
PRCocoonInterpreter).

And after you can use Cocoon parameters in your application.

On 21 May 2015 at 14:01, Norbert Hartl  wrote:
>
> Am 21.05.2015 um 10:51 schrieb Guillermo Polito :
>
> 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)
>
>
> Cool. I was thinking about in-image editing of pillar with Rubric (or the
> best available choice). Then you can generate on save.
>
>   - 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)
>
>
> I had a look at Cocoon but I'm not sure what purpose it serves. Maybe I need
> to get to used to it.
>
>   - 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.
>
> YES! That is exactly what I was looking for. Something that can be evaluated
> dynamically. That opens a wide range of possibilities.
>
> 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
>
> Nice!
>
> 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
>
> Thanks. I think I'll find some time this weekend to see how your project
> fits into my needs. I'll be happy nagging you about some things ;)
>
> Norbert
>
> Guille
>
>
> El jue., 21 de may. de 2015 a la(s) 1:10 a. m., Cyril Ferlicot
>  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  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 :
>> >>
>> >> 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 := '
>> >>> {{{title}}}
>> >>> 
>> >>>  {{{content}}}
>> >>> 
>> >>> '.
>> >>>
>> >>> 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 

Re: [Pharo-users] [OT] Pharo pi machine

2015-05-21 Thread Pierce Ng
On Sun, May 17, 2015 at 02:26:12PM +0200, Torsten Bergmann wrote:
> Got my Raspberry Pi B+ with a Tontec® 3.5 touch screen display
> to bootstrap into Pharo.
> 
> The Raspberry Pi from CI (https://ci.inria.fr/pharo/view/RaspberryPi/)
> worked out of the box on Raspbian. Nice!

Nice! My Pi 2 just arrived but I didn't order a touch screen display
though. Must get that!

Scratch is shipped with Raspbian and there are actually two versions of the
Squeak VM in the distro; see /usr/lib/squeak. The newer version started the
Pharo 4 image fine. 

Pierce



Re: [Pharo-users] Fun with pillar and mustache

2015-05-21 Thread Norbert Hartl

> Am 21.05.2015 um 10:51 schrieb Guillermo Polito :
> 
> 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)

Cool. I was thinking about in-image editing of pillar with Rubric (or the best 
available choice). Then you can generate on save.

>   - 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)

I had a look at Cocoon but I'm not sure what purpose it serves. Maybe I need to 
get to used to it.

>   - 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.
> 
YES! That is exactly what I was looking for. Something that can be evaluated 
dynamically. That opens a wide range of possibilities. 

> 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 
> 
> 
Nice!

> 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 
> 
> 
Thanks. I think I'll find some time this weekend to see how your project fits 
into my needs. I'll be happy nagging you about some things ;)

Norbert

> Guille
> 
> 
> El jue., 21 de may. de 2015 a la(s) 1:10 a. m., Cyril Ferlicot 
> mailto:cyril.ferli...@gmail.com>> 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  > 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  >> >:
> >>
> >> 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 := '
> >>> {{{title}}}
> >>> 
> >>>  {{{content}}}
> >>> 
> >>> '.
> >>>
> >>> 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
> >>>
> >>> 
> >>> This is the title of the master!
>

Re: [Pharo-users] Spec TreeModel dynamic contents

2015-05-21 Thread webwarrior
Actually, I may be using slightly newer version of Spec straight from github
repository



--
View this message in context: 
http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827820.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] Spec TreeModel dynamic contents

2015-05-21 Thread webwarrior
version 30854

On 21.05.2015 14:16, Nicolai Hess [via Smalltalk] wrote:
>
>
> 2015-05-21 13:05 GMT+02:00 webwarrior <[hidden email]
> >:
>
> Using lots of trial and error, I finally found a solution. Or,
> rather a hack.
>
> In Pharo 3:
> Just set autoRefreshOnExpand to true, and then when there is need for
> update, do:
>
>
> I can not find autoRefreshOnExpand anywhere in Pharo3.0. What version?
> (I have 30645)
>
> self widget treeModel updateList
>
> In Pharo 4:
> For some reason autoRefreshOnExpand was removed, and now we also have to
> manually reset children of all (at least all affected nodes).
> Something like
> this:
>
> node widget widget setChildren: node widget childrenBlock
>
> (where node is instance of TreeNodeModel; root nodes can be obtained by
> calling self widget treeModel rootNodes collect: #nodeModel)
>
> However as this solution uses some implementation details, expect it to
> break at any time. Hey, they even change public API without warning
> (like
> mentioned autoRefreshOnExpand).
>
>
>
> --
> View this message in context:
> 
> http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827812.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>
>
>
> 
> If you reply to this email, your message will be added to the discussion
> below:
> http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827816.html
>
> To unsubscribe from Spec TreeModel dynamic contents, click here
> .
> NAML
> 
>




--
View this message in context: 
http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827818.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.

Re: [Pharo-users] Spec TreeModel dynamic contents

2015-05-21 Thread Nicolai Hess
2015-05-21 13:05 GMT+02:00 webwarrior :

> Using lots of trial and error, I finally found a solution. Or, rather a
> hack.
>
> In Pharo 3:
> Just set autoRefreshOnExpand to true, and then when there is need for
> update, do:
>
>
I can not find autoRefreshOnExpand anywhere in Pharo3.0. What version?
(I have 30645)



> self widget treeModel updateList
>
> In Pharo 4:
> For some reason autoRefreshOnExpand was removed, and now we also have to
> manually reset children of all (at least all affected nodes). Something
> like
> this:
>
> node widget widget setChildren: node widget childrenBlock
>
> (where node is instance of TreeNodeModel; root nodes can be obtained by
> calling self widget treeModel rootNodes collect: #nodeModel)
>
> However as this solution uses some implementation details, expect it to
> break at any time. Hey, they even change public API without warning (like
> mentioned autoRefreshOnExpand).
>
>
>
> --
> View this message in context:
> http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827812.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
>
>


Re: [Pharo-users] Spec TreeModel dynamic contents

2015-05-21 Thread webwarrior
Using lots of trial and error, I finally found a solution. Or, rather a hack.

In Pharo 3:
Just set autoRefreshOnExpand to true, and then when there is need for
update, do:

self widget treeModel updateList

In Pharo 4:
For some reason autoRefreshOnExpand was removed, and now we also have to
manually reset children of all (at least all affected nodes). Something like
this:

node widget widget setChildren: node widget childrenBlock

(where node is instance of TreeNodeModel; root nodes can be obtained by
calling self widget treeModel rootNodes collect: #nodeModel)

However as this solution uses some implementation details, expect it to
break at any time. Hey, they even change public API without warning (like
mentioned autoRefreshOnExpand).



--
View this message in context: 
http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440p4827812.html
Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.



Re: [Pharo-users] [Pharo-dev] Next Pharo sprint & Moose dojo

2015-05-21 Thread Tudor Girba
Great!

It would be great if you could test Moose 5.1 (stable) and let us know if
you encounter problems or if you commit new changes so that we can finally
release it. Do you think this would fit in your sprint/dojo?

Cheers,
Doru


On Thu, May 21, 2015 at 1:00 PM, Jean-Christophe Bach <
jeanchristophe.b...@inria.fr> wrote:

> * Jean-Christophe Bach  [01.05.2015.
> @19:59:08 +0200]:
>
> > Hello Pharoers,
> >
> > We propose a Pharo sprint / Moose dojo on Friday, 22nd May, starting at
> > 10:00am. (Local Time Lille).
> >
> > It will be at the Inria Lille, Building B, third floor (RMoD offices).
> > Remotely, you can join us on the official IRC channel #pharo on
> > irc.freenode.net server. During the sprint, we will try to synchronize
> > local and remote Pharo sprinters.
> >
> > As the building is not open to the public, please contact us before if
> > you plan to come.
> >
> > JC
>
> Hello Pharoers,
>
> This email to remind you that there is a Pharo sprint / Moose dojo
> tomorrow.
>
> JC
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"


Re: [Pharo-users] Next Pharo sprint & Moose dojo

2015-05-21 Thread Jean-Christophe Bach
* Jean-Christophe Bach  [01.05.2015. @19:59:08 
+0200]:

> Hello Pharoers,
> 
> We propose a Pharo sprint / Moose dojo on Friday, 22nd May, starting at
> 10:00am. (Local Time Lille). 
> 
> It will be at the Inria Lille, Building B, third floor (RMoD offices).
> Remotely, you can join us on the official IRC channel #pharo on
> irc.freenode.net server. During the sprint, we will try to synchronize
> local and remote Pharo sprinters.
> 
> As the building is not open to the public, please contact us before if
> you plan to come.
> 
> JC

Hello Pharoers,

This email to remind you that there is a Pharo sprint / Moose dojo
tomorrow.

JC



Re: [Pharo-users] Spec TreeModel dynamic contents

2015-05-21 Thread Christophe Demarey

Le 19 mai 2015 à 18:04, webwarrior a écrit :

> I want to make a tree using TreeModel that reacts to changes in underlying
> data - when an item changes, tree node for that item should update its state
> (recompute its children, etc.).
> 
> Rebuilding the whole tree is ok, as long as selections and
> collapsed/expanded state of nodes are preserved.

yes but not very efficient if you have a big tree

> Using #updateTree however resets all these things. And there is no easy way
> to save/load them either - #selectedItems/#selectedItems: work with TreeNode
> instances that get reset, and collapsed/expanded states of nodes are simply
> unaccessible from TreeModel.

did you check the implementation of Komitter?
It keeps the state of your tree (selected items, collapsed/expanded).  So maybe 
it is doable.

> I also tried subclassing TreeNodeModel. But I found no way to update
> underlying UI widget. There is a huge mess involving TreeNodeModel,
> MorphicTreeNodeAdapter, SpecTreeNodeModel, and MorphTreeNodeMorph.
> 
> The only option left is to extract all needed information from TreeNodeModel
> hierarchy (preserving the tree structure) before update, and then try to
> reapply it to newly created hierarchy.
> 
> Or is there an easier way?
> 
> 
> 
> --
> View this message in context: 
> http://forum.world.st/Spec-TreeModel-dynamic-contents-tp4827440.html
> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
> 



smime.p7s
Description: S/MIME cryptographic signature


Re: [Pharo-users] Fun with pillar and mustache

2015-05-21 Thread Guillermo Polito
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 <
cyril.ferli...@gmail.com> 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  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 :
> >>
> >> 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 := '
> >>> {{{title}}}
> >>> 
> >>>  {{{content}}}
> >>> 
> >>> '.
> >>>
> >>> 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
> >>>
> >>> 
> >>> This is the title of the master!
> >>> 
> >>>  masterheading
> >>> This text is contained in the master pillar template
> >>> A partial title
> >>> Some text in the partial template before the content...
> >>> 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}
> >>> ... and after
> >>> 
> >>> 
> >>>
> >>> That is really cool. Actually pillar and mustache are a good match.
> >>>
> >>> FYI,
> >>>
> >>> Norbert
> >>>
> >>>
> >>>
> >>>
> >>
> >>
> >
> >
>
>
>
> --
> Cheers
> Cyril Ferlicot
>
>