This sort of thing, perhaps: https://stackoverflow.com/questions/5636375/how-to-create-a-collapsing-tree-table-in-html-css-js
On Wednesday, September 3, 2025 at 7:32:45 PM UTC+1 jkn wrote: > > ISTM that the OP just wants a 'style' of HTML output that will be rendered > with output text optionally expanded or collapsed, according to where a > viewer might click on the rendered output. > > This is often seen in modern web pages when looking at code-oriented > content. I haven't got an example to hand, but one should be easy to find. > > I'd have thought the main issue was understanding how such > HTML/CSS(+Javascript?) works ... once that is done, actually creating the > exporter should be fairly easy. > > Just my $.02 ... > J^n > > On Wednesday, September 3, 2025 at 6:18:17 PM UTC+1 [email protected] > wrote: > >> On Wednesday, September 3, 2025 at 11:23:48 AM UTC-4 brian wrote: >> >> I don't want the person to be able to modify the outline. That is what I >> meant by "read only". I want someone to view a representation in a browser >> that is similar to how it looks in the installed version of Leo and without >> having to install the leo executable. I do want expand and collapse. I >> know how to create expand and collapse in html but I'm not sure how to get >> the content out of Leo. >> >> >> Getting output from Leo is easy. You walk the tree and for each node >> output headline and body text with whatever format you like. The hard part >> is working out what the HTML should be, including how to manage and display >> the nesting level. >> ... >> > I'm only concerned about exporting the outlines I create. My outlines >> mostly have text but a few nodes have markdown. >> >> Do you want those markdown nodes to look as they do in the body editor, >> or do you want them rendered by a Markdown processor? >> >> > I'm not sure what you mean by "write the outline in RsT" and run >> rst3. When I ran Rst3, all the content in the html was on the left margin >> and it got confused about some of the node headlines (e.g., something like >> "I. Learn about leo"). I don't want a lot of constraints on the outlines >> I create. I'm fine with minor edits but I don't want have to rework every >> node. After trying Rst3, I assumed it could not do the task. If rst3 can >> do this, I'd rather not write a plugin. Can you point me in the right >> direction to get rst3 to do what I want? >> >> The rst3 command is oriented to creating an overall tree of >> RestructuredText (RsT) files in a form that Sphinx will be able to process >> to produce a set of documentation files, which are usually HTML but could >> also be pdf or other formats. The command by itself isn't going to create a >> nice finished HTML file. For this to make sense, the nodes in an @rst tree >> need to be written using RsT (Sphinx can be made to use Markdown files too, >> but the rst3 command only knows about RsT). >> >> > I looked at VR3 and I could figure out how to export my entire >> outline. The documentation I found was sparse and I didn't dig into the >> source code. >> >> VR3 renders the tree's body, creating headlines using the text of each >> node's headline. It sounds like you want to include an outline panel, and >> VR3 won't do that. >> >> > I've written the HTML with a hard coded outline where nodes will expand >> and collapse (used Bootstrap). I just need to get my data out of Leo and >> into my html. I planned on using the Django template engine to generate >> the html. I assumed this would be an easy task. LeoJS is a huge >> undertaking. It seems tweaking rst3 to export to the Django template >> engine would be simple tweak of rst3. If I'm missing something, let me >> know. >> >> As I said, you walk the tree of nodes in your outline, and output >> whatever you want based on the output format you want to create. Walking >> the tree is easy. I've never used Django templates and I don't know what >> they should look like. To process the tree starting at the currently >> selected node (c.p), your script could look like this: >> >> for p1 in c.p.subtree(): >> headline = p1.h >> text = p1.b >> # Do something with the the headline and text >> # Indentation level is p1.level() >> >> > I'm looking for the easiest path to go from my Leo outline to html in a >> format I want. >> ... It looks like I’ll have to write a plugin. Would RST3 be the best >> place to start? >> >> You don't need a plugin, as best I can see, certainly not for >> experimenting until you can produce what you want. You only need a Leo >> script, which you can attach to a button. Then select the top node you want >> to start from, and press the button to run the script. You could develop >> the whole thing in Leo's workbook. >> >> As I said, the hard part is figuring out what the output should look >> like. Anything that links two different nodes together is going to be >> harder. Anything that assembles several pieces of information (like >> tooltips that can optionally be made visible ) is going to be harder. But >> those are not Leo issues. They are format and output issues. That's what >> you need to figure out first. >> > -- 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/f265046c-f120-4900-bbe7-9539c7cff3d3n%40googlegroups.com.
