Wow. That is much more than the slight 'itch' I was mentioning ... really
impressive. I will study more. Great work!
Regards
J^n
On Saturday, September 20, 2025 at 6:42:47 PM UTC+1 Félix wrote:
> Although I wholeheartedly agree with Mike, Thomas and Jkn, I wanted to
> distinguish between that clean and self-contained approach, and a
> job-related/commercial requirement that might be requiring to stick with
> the standards in place for that particular case... (their in-house styling
> with such and such external library, their in-house usage of react or other
> big framework for integration purposes into their existing web-portal
> infrastructure) the corporate and business world is full of such
> idiosyncrasies and red-tape to be respected. (the ugly side of
> web-development) :)
>
>
>
> *Note: Using either a clean approach, or a bulky 'external frameworks and
> libraries' approach, a bottleneck that is not to be overlooked is that for
> a large outline, outputting each and every node to the browser's DOM will
> give a sluggish and problematic performance!The trick is to use
> 'tree-node-virtualisation' where only the visible nodes are to be built in
> the DOM. (Not many frameworks offer this kind of components out-of-the-box)*
>
> That being said, I was inspired by Brian's original inquiry about how to
> "*export
> an outline in an html format where the format of the html is similar to the
> desktop version of Leo with the expands and collapses.*"
>
> So I cooked up a script, *with virtualisation*, that does just that: A
> clean, self-contained with inline css and script, without any external
> frameworks or libraries, version of an working 'Leo Outline' in read-only,
> interactive form. (meaning an interactive tree browsing experience like the
> real Leo)
>
> Also, *thanks to Thomas's example above *on how to use 'webbrowser.open',
> I've also made the script output the resulting HTML file in the user's
> home/.leo folder, and open it in the browser automatically.
>
> I've even tested it with LeoPyRef itself! No problem at all with big
> outlines! - And unlike LeoJS or LeoInteg, this offers a snappy and quick
> real-time interactive response, similar to the original Leo.
>
> Again, to try it out, copy the @button node into your 'myLeoSettings'
> under the @settings/@buttons node like so (see attached
> *demo-export-html.leo* Leo file for the @button node itself)
>
> This screenshot shows where to paste it:
> [image: myLeoSettings.png]
>
> Please give it a try (use the 'gear' button to adjust visible icons and
> settings) and share your feedback!
>
> Félix
>
> On Tuesday, September 16, 2025 at 3:01:56 AM UTC-4 jkn wrote:
>
>> My two cents: I would tend to agree with Mike/Thomas, to aim towards a
>> more 'standalone' HTML file. But I am not necessarily the target audience.
>>
>> J^n
>>
>>
>> On Monday, September 15, 2025 at 10:33:31 PM UTC+1 [email protected]
>> wrote:
>>
>>>
>>>
>>> On Mon, Sep 15, 2025, 15:22 Thomas Passin <[email protected]> wrote:
>>>
>>>>
>>>> On Monday, September 15, 2025 at 1:55:16 PM UTC-4 Félix wrote:
>>>>
>>>>
>>>> *About using external libraries: *In modern web development and front
>>>> end production, those 'bootstrap', 'react', 'tailwind' are common usage.
>>>>
>>>>
>>>> Yes, I know. And they can be overkill, too. Of course, it depends on
>>>> what you want to do.
>>>>
>>>
>>> My two cents:
>>>
>>> Inline whatever CSS and JavaScript you might need as opposed to calling
>>> third-party resources. Compile tailwind locally and simply have it as a
>>> part of the header of the page. Once it's compiled you probably never have
>>> to compile it again and can simply distribute the CSS as compiled.
>>> Similarly with bootstrap, it should be minified and inlined if you are
>>> going to simply distribute an HTML file.
>>>
>>> React, now that is a bit of a large framework... If at all possible I
>>> would avoid React.
>>>
>>> But then again I grew up making websites with PHP on the server side and
>>> very little client side CSS except to decorate a few tags, and only enough
>>> JavaScript to support simple dynamic elements in the page.
>>>
>>> Mike
>>>
>>>
--
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 visit
https://groups.google.com/d/msgid/leo-editor/be5810d9-cbb1-4302-8c18-59c32c9088d0n%40googlegroups.com.