Ok Stef. Happy that we're exploring different paths ;-). Cheers,
Offray On 05/06/17 13:56, Stephane Ducasse wrote: > Hi offray > > Thanks but pillar ha a conf since several years and it is working > well. Now I'm revisiting the implementation of cocoon > because I want to have it simpler independent of magritte and better > tested. > > Now I just want to add a new functionality to output a configuration > file from the > objects and in Pillar the configuration objects hold more complex > ***objects***. > So just taking the object and turning it in ston does not work. > > Stef > > On Mon, Jun 5, 2017 at 6:23 PM, Offray Vladimir Luna Cárdenas > <offray.l...@mutabit.com <mailto:offray.l...@mutabit.com>> wrote: > > Hi, > > Maybe what I'm doing in Grafoscopio could help. > > I have a %metadata node which contains all configuration options > for the production of the document (as shown in the image below). > Exporting a document consist in looking for these nodes while > traversing the notebook tree and applying that options in the > proper place. You can see the source code of the current notebook > STON file at [1], the exported markdown file at [2] and the > exported PDF at [3]. As you can see I have pretty good control of > the configuration of the document using this option (and a single > place to manage all, without endless small files and folders for a > document, but event that exporting options as split folders and > docs, could be added also). > > [1] > http://mutabit.com/repos.fossil/grafoscopio/artifact/fb25442038a0d4a1 > <http://mutabit.com/repos.fossil/grafoscopio/artifact/fb25442038a0d4a1> > [2] > > http://mutabit.com/repos.fossil/grafoscopio/artifact?name=59245142cf93590b&txt=1 > > <http://mutabit.com/repos.fossil/grafoscopio/artifact?name=59245142cf93590b&txt=1> > [3] > > http://mutabit.com/repos.fossil/grafoscopio/doc/tip/Docs/En/Books/Manual/manual.pdf > > <http://mutabit.com/repos.fossil/grafoscopio/doc/tip/Docs/En/Books/Manual/manual.pdf> > > > > Cheers, > > Offray > > > On 05/06/17 01:58, Stephane Ducasse wrote: >> Sven I know what Ston is :) >> >> Now Pillar dev used Ston as input and it works. Then with some >> hooks they let the user convert the strings >> into specific objects and this is ok. >> Now I want to add export in Ston and for configurations I need to >> control for the application and not as a ston object the value saved. >> For example a file reference should not be just a file reference >> in Ston but >> a string relative the the baseDirectory of the configuration. >> >> So I thought that I can build a hook and control the call to Ston >> (convert the object before to the correct values) and export. >> It should be working now doing this I found myself redoing the >> output of Ston. >> So I will do it. Then I thought that may be I could reuse this >> logic. >> >> Stef >> >> >> >> On Sun, Jun 4, 2017 at 11:49 PM, Sven Van Caekenberghe >> <s...@stfx.eu <mailto:s...@stfx.eu>> wrote: >> >> Stef, >> >> STON is like FUEL, it can write any object to a stream and >> read it back. Although you can customise how this is done, >> only one way of doing so is supported (i.e. you cannot change >> the format for each application). >> >> People have used STON for various applications now, including >> for configuration stuff (because it is a textual format that >> is easy to read). >> >> I would suggest you just try to see what your config looks >> like once you have the objects in Pharo. >> >> STON toStringPretty: myConfig. >> >> Then we can see how to tune the representation. >> >> Sven >> >> > On 4 Jun 2017, at 22:58, Stephane Ducasse >> <stepharo.s...@gmail.com <mailto:stepharo.s...@gmail.com>> wrote: >> > >> > Hi sven >> > >> > I'm working on a new configuration frameworks similar to >> the one use pillar.conf. >> > >> > So basically I have >> > >> > ston := '{ >> > "newLine":#unix, >> > "separateOutputFiles":true >> > }'. >> > and I want to recreate it. >> > >> > So I did >> > >> > Object >> toConfigurationString >> > >> > ^ STON toString: self >> > >> > SimpleConfiguration >> exportStream >> > >> > ^ String streamContents: [ :str | >> > str << '{' . >> > self propertiesKeysAndValuesDo: [ :key :value| >> > str << key toConfigurationString. >> > str << ':'. >> > str << value toConfigurationString. >> > str << ','. >> > str lf. >> > ]. >> > str << '}'. >> > str contents >> > ] >> > >> > The idea is that for special configuration values people >> should be able to define >> > how to go from the object to configuration. >> > For example for some FileReference I want to have just the >> path up to the baseDirectory. >> > >> > Now I wonder if I could not better reuse ston. >> > I saw the stonOn: >> > but I did not look further because I was wondering how the >> writer where passed. >> > >> > Any feedback is welcome. >> > >> > Stef (now bed time). >> > >> >> >> > >