Did you look at STON ?

Stef

On Oct 4, 2013, at 12:55 AM, Esteban A. Maringolo <[email protected]> wrote:

> So basically you have a Mustache based XML template to consume/produce
> SOAP requests. Good idea :)
> 
> 
> Regarding the JS syntax, Several times I found myself writing a lot of
> dictionary like expressions that got converted into Dictionaries and
> then to JSON strings, so I daydreamed about having something as close
> to JSON syntax as possible (it is, JS syntax) embedded in the
> smalltalk code.
> The analogous to the {exp1. exp2} syntax, but to create "hash maps"
> (it is, Dictionaries) right from the syntax.
> 
> Regards!
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Esteban A. Maringolo
> 
> 
> 2013/10/3 Norbert Hartl <[email protected]>:
>> 
>> Am 03.10.2013 um 22:42 schrieb Esteban A. Maringolo <[email protected]>:
>> 
>>> Excellent!
>>> 
>>> Mustache is broadly used in the JS world (both web and node). I wonder
>>> what do you use it for.
>>> 
>> At the moment mostly for generating SOAP requests :) But I often have 
>> template-like stuff for what I'm hacking something stupid together. I 
>> thought it should come to an end.
>> 
>>> I'd love an extension to the syntax to deal with JSON like structures
>>> (it is scalars, arrays and dictionaries). :)
>>> 
>> What have those to do with the syntax? Can you elaborate on that?
>> 
>> Norbert
>>> 
>>> 
>>> 
>>> 
>>> Esteban A. Maringolo
>>> 
>>> 
>>> 2013/10/3 Norbert Hartl <[email protected]>:
>>>> I like to announce my smalltalk port of mustache templates.
>>>> 
>>>> Mustache is a popular templating engine that is supported in many
>>>> programming languages. I know at least that is quite common to be used in
>>>> javascript but see at the languages it supported yourself [1].
>>>> 
>>>> A basic usage is something like (just paste it to workspace after loading
>>>> Mustache):
>>>> 
>>>> ---
>>>> templateString := 'Hello {{name}},
>>>> this is {{templatingEngine}} for {{recipient}}.
>>>> {{# cheerUp }}
>>>> Have fun!
>>>> {{/  cheerUp }}'.
>>>> 
>>>> context := {
>>>> 'name' -> 'pharo community'.
>>>> 'templatingEngine' -> 'mustache'.
>>>> 'recipient' -> 'you'.
>>>> 'cheerUp' -> true } asDictionary.
>>>> templateString asMustacheTemplate value: context
>>>> ---
>>>> 
>>>> Context objects can be Dictionaries or regular objects. It is also easy to
>>>> feed via json e.g. using NeoJSON
>>>> 
>>>> templateString asMustacheTemplate value: (NeoJSONReader fromString: …)
>>>> 
>>>> I wrote a blog article about it and the usage in smaltlalk on my blog [2].
>>>> The code I have just released on smalltalkhub [3]. Documentation about the
>>>> syntax to use is available under [4]. To load it do
>>>> 
>>>> Gofer it
>>>> smalltalkhubUser: 'NorbertHartl' project: 'Mustache';
>>>> configurationOf: 'Mustache';
>>>> loadStable.
>>>> 
>>>> The code is not very old so there might be bugs (this is supposed to be the
>>>> standard disclaimer). If you find something not working as expected just
>>>> drop me a note. The engine produces at the moment more whitespaces than you
>>>> can see in the examples. I need to figure out the rule first and will
>>>> release a new version. Nevertheless I consider it useful by now. But you
>>>> decide and hopefully give me feedback.
>>>> 
>>>> Norbert
>>>> 
>>>> [1] http://mustache.github.io/
>>>> [2]
>>>> http://norbert.hartl.name/blog/2013/10/03/mustache-templates-for-smalltalk/
>>>> [3] http://smalltalkhub.com/#!/~NorbertHartl/Mustache
>>>> [4] http://mustache.github.io/mustache.5.html
>>> 
>> 
>> 
> 


Reply via email to