Oh thank you very very very very much. You workflow is really cool.
I was thinking about something similar but actually all I need - is to
adopt your ideas.
Not sure that I will be able to understand everything right now - but I am
going to try and try until succeed.
Thank you again.

сб, 20 июл. 2019 г. в 11:12, vitalije <[email protected]>:

> You can use clones. For example:
> --@settings
> ----my-shared-settings
> ------...
> ----some-specific-settings-for-this-outline
> ------....
>
> --@file my-shared-settings-somewhere.txt
> ----my-shared-settings
>
> where `my-shared-settings` node is cloned from the @file subtree.
>
> Quite often I use some script to combine some nodes, process them and
> generate some output file. And such script I put in a node with the
> following headline: `@button n-save @key=Ctrl-s`. Then whenever I open this
> outline and whenever I hit Ctrl-s to save the outline, this script is
> executed. Of course I put in this script `c.save()` call and on every save
> my files are regenerated.
>
> When working for a web I often use Coffeescript, some html template
> generators like Pug, Sass for generating css files, ... Now all of these
> command line tools have watching mode where they watch folders for file
> changes and whenever source file is changed they regenerate the output
> file. But then you also need to run some packaging tool to bundle all
> generated files. Instead of watching for file changes, my script bound to
> Ctrl-s regenerate source files in memory and without saving them execute
> suitable tool only on changed sources and produced outputs bundle in the
> final file. This makes the whole process much faster.
>
> Attached to this message is a Leo file that I have extracted from one of
> my projects. I hope that I didn't miss anything that the script require.
>
> In the outline you can find build server implemented in Coffeescript. You
> have to use npm or yarn to install necessary modules for this server to
> work. Once installed you start server by executing `coffee
> tools/build-server.coffee and it will start listening on port 8011. The
> script bound to Ctrl-s will search outline for nodes with the headlines
> like: @vendor, @pug, @coffee, @bulma and for each found node, it checks if
> the content of this node and its subtree has changed since last time and if
> it is, this content is sent to build server which transforms the source and
> returns result that script writes to output file.
>
> There is one more thing I use for sharing outlines. There are three
> commands `set-reference-file`, `update-ref-file` and `read-ref-file`. The
> first lets you choose a reference file for this outline, i.e. public shared
> outline. It adds a top level headline `---begin-private-area---` to the
> outline. In the body of this node is the path to the public Leo file.
> Everything below this node is private, and above is public. The public file
> should be added to version control (git, fossil,...) and the private file
> should be added to ignored files for version control tool. And then in the
> script bound to Ctrl-s you can add `c.fileCommands.save_ref()`, so every
> time you save your private Leo file, at the same time is updated the public
> Leo file. That way they never get out of sync.
>
> HTH Vitalije
>
> On Friday, July 19, 2019 at 10:16:28 PM UTC+2, gar wrote:
>>
>> And how it is possible to specify setings in @file? As I understand
>> every setting should be a single outline
>>
>> 2019-07-19 22:36 GMT+03:00, Chris George <[email protected]>:
>> > I can think of several approaches.
>> >
>> > @outline-data tree-abbreviations in myLeoSettings.leo that is available
>> to
>> > all Leo files.
>> > @button
>> > @command
>> > Point all files to an @file node and share the settings via a single
>> text
>> > file. ie. conf.py or a YAML file
>> >
>> > There may be reasons some of these approaches wouldn't work for your
>> case.
>> > But some might.
>> >
>> > HTH,
>> >
>> > Chris
>> >
>> > On Friday, July 19, 2019 at 11:09:33 AM UTC-7, gar wrote:
>> >>
>> >> Imagine you develop several tied software projects at the moment.
>> >> Imagine they all use the same settings (like basic paths, colors,
>> whatever
>> >>
>> >> else).
>> >>
>> >> In before-leo world you probably have several template files which you
>> >> fill with current values and include into your projects and reuse
>> settings
>> >>
>> >> in there
>> >> (file.cfg.in -> file.cfg idiom, where file.cfg.in is under source
>> control
>> >>
>> >> and file.cfg is ignored)
>> >> And how to deal with this in leo?
>> >> AFAIK it's impossible to include other .leo projects or their parts.
>> >>
>> >> How to implement settings/code reuse?
>> >> Put everything into myLeoSettings.leo?
>> >>
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "leo-editor" group.
>> > To unsubscribe from this group and stop receiving emails from it, send
>> an
>> > email to [email protected].
>> > To view this discussion on the web visit
>> >
>> https://groups.google.com/d/msgid/leo-editor/d03f3fa6-6ebb-4cf4-90f1-c73b128c44b7%40googlegroups.com.
>>
>> >
>>
> --
> You received this message because you are subscribed to the Google Groups
> "leo-editor" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/leo-editor/75b65033-8868-42f9-9954-f56e681fd3b6%40googlegroups.com
> <https://groups.google.com/d/msgid/leo-editor/75b65033-8868-42f9-9954-f56e681fd3b6%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/CAC%2B8SVwVC6EiWpmXfWgLJiXU%3D1nVDrziBVCcEQnri2rLuHJBDA%40mail.gmail.com.

Reply via email to