Nice job, @Fred; it renders outlines from Streams not only faithfully, but beautifully!
One question, before i install this in my primary desktop wiki: you say in your Credits that it borrows from -and is incompatible with- Jan's streams-to-text addon <https://szen.io/stream/>... Does this mean i should first remove the several bits that make up that addon before installing streams-fusion plugin? Or does your plugin do its own proper house-cleaning? /walt On Wednesday, July 21, 2021 at 12:45:48 PM UTC+1 fred....@gmail.com wrote: > ok, here's a beta streams-fusion addon: > https://fastfreddy.gitlab.io/streams-fusion/ > please note the troubleshooting step is required until the next Streams > release; beta users beware.... > > very open to constructive feedback; and/or different ways of shipping such > as rolled in the Streams plugin itself if it is good enough. > > On Wed, 21 Jul 2021 at 06:59, Saq Imtiaz <saq.i...@gmail.com> wrote: > >> That is definitely an oversight from when I added that at Jan's request. >> If you open an issue on Github, it will be resolved for the next release. >> >> On Wednesday, July 21, 2021 at 3:15:33 AM UTC+2 fred....@gmail.com wrote: >> >>> @saq >>> quick question: am trying to package my addon, am a bit of a newbie >>> unfortunately. >>> is it possible we need to modify this line (bold insert) >>> <$list filter="[*all[shadows+tiddlers]*tag[$:/tags/streams/root-buttons]]" >>> variable="btnTiddler"> >>> >>> in $:/plugins/sq/streams/nodes-list-template ? >>> otherwise, it feels like my new button does not take when it is >>> contained within a plugin....even with the $:/tags/streams/root-buttons >>> tag.... >>> >>> thanks much... >>> >>> On Tue, 20 Jul 2021 at 07:58, Frédéric Demers <fred....@gmail.com> >>> wrote: >>> >>>> a quick update to everyone; >>>> >>>> I am making steady progress on packaging this merging solution, hoping >>>> to release as a Streams plugin addon. I have repurposed the button from >>>> https://szen.io/stream/. I now have it also working as a Streams >>>> context menu, with keyboard shortcuts, and it can export sub-trees >>>> correctly by adjusting the depth levels of the bulleted/numbered lists. >>>> >>>> A few ideas I am going to try to roll in and release a beta by the end >>>> of this week.... >>>> >>>> Cheers >>>> >>>> On Sat, 17 Jul 2021 at 09:06, Frédéric Demers <fred....@gmail.com> >>>> wrote: >>>> >>>>> with capture: >>>>> >>>>> On Sat, 17 Jul 2021 at 09:05, Frédéric Demers <fred....@gmail.com> >>>>> wrote: >>>>> >>>>>> nevermind, I think I solved it.... at least, significant progress >>>>>> >>>>>> here's the wikitext for the challenging nodes; renders pretty well: >>>>>> >>>>>> * <div> >>>>>> >>>>>> ''Streams'' uses the following tiddler fields to maintain the >>>>>> structure of a stream: >>>>>> >>>>>> * each node tiddler has a field `stream-type` >>>>>> * each node that has children, contains their titles in a list in the >>>>>> field `stream-list` >>>>>> * each node that has a parent, contains the parent's title in the >>>>>> field `parent` >>>>>> >>>>>> ''You can manipulate these tiddlers just as you would any other >>>>>> tiddlers, with filters and list and action widgets'' >>>>>> >>>>>> </div> >>>>>> * To make it easier to work with Streams tiddlers and their nodes, >>>>>> two filters have been introduced. See [[Streams 0.2 >>>>>> improvements/Filters]] >>>>>> * <div> >>>>>> >>>>>> This is an example of a button that can export the content of the >>>>>> nodes of a tiddler whose title is in the variable `myTiddler` and save >>>>>> the >>>>>> combined text to a single tiddler: >>>>>> >>>>>> ``` >>>>>> <$button> save to a single tiddler >>>>>> <$vars lb=" >>>>>> >>>>>> "> >>>>>> <$action-setfield $tiddler="report" text={{{ >>>>>> [<myTiddler>get-stream-nodes[]] >>>>>> :reduce[get[text]addprefix<lb>addprefix<accumulator>] }}}/> >>>>>> </$vars> >>>>>> </$button> >>>>>> ``` >>>>>> Note that this disregards the node hierarchy.</div> >>>>>> * <div> >>>>>> >>>>>> Similarly to export the combined text of the nodes as HTML you can >>>>>> use the `<$wikify>` widget: >>>>>> >>>>>> ``` >>>>>> <$button> export as HTML >>>>>> <$wikify name="text" text="""<$list >>>>>> filter="[<myTiddler>get-stream-nodes[]]"> >>>>>> <$transclude mode=block/> >>>>>> </$list>""" output="html"> >>>>>> <$action-setfield $tiddler="report" text=<<text>>/> >>>>>> </$wikify> >>>>>> </$button> >>>>>> ``` >>>>>> >>>>>> </div> >>>>>> * <div> >>>>>> >>>>>> Here is an example of a macro that can be used to export a stream >>>>>> using a custom HTML structure: >>>>>> >>>>>> ``` >>>>>> \define print-row() >>>>>> \whitespace trim >>>>>> <$(innerTag)$>{{!!text}} >>>>>> <$list filter="[<currentTiddler>has[stream-list]]" variable="_NULL"> >>>>>> <$(outerTag)$> >>>>>> <$list filter="[enlist{!!stream-list}is[tiddler]]"> >>>>>> <<print-row>> >>>>>> </$list> >>>>>> </$(outerTag)$> >>>>>> </$list> >>>>>> </$(innerTag)$> >>>>>> \end >>>>>> >>>>>> \define print-stream() >>>>>> \whitespace trim >>>>>> <$(outerTag)$> >>>>>> <$list filter="[enlist{!!stream-list}is[tiddler]]"> >>>>>> <<print-row>> >>>>>> </$list> >>>>>> </$(outerTag)$> >>>>>> \end >>>>>> >>>>>> \define export-stream(tiddler:"" outerTag:"article" >>>>>> innerTag:"section") >>>>>> \whitespace trim >>>>>> <$vars outerTag="$outerTag$" innerTag="$innerTag$" >>>>>> currentTiddler="$tiddler$"> >>>>>> <<print-stream>> >>>>>> </$vars> >>>>>> \end >>>>>> >>>>>> ``` >>>>>> >>>>>> Try the following: >>>>>> >>>>>> * `<<export-stream tiddler:Roadmap>>` to export using article and >>>>>> section tags >>>>>> * `<<export-stream tiddler:Roadmap outerTag:ul innerTag:li>>` to >>>>>> export as a list in HTML >>>>>> >>>>>> If you need a copy to clipboard button it would look something like >>>>>> this: >>>>>> >>>>>> ``` >>>>>> <$button> >>>>>> <$wikify name="stream-html" text=<<export-stream tiddler:Roadmap>> >>>>>> output="html" > >>>>>> <$action-sendmessage $message="tm-copy-to-clipboard" >>>>>> $param=<<stream-html>>/> >>>>>> </$wikify> >>>>>> Copy stream to clipboard as HTML >>>>>> </$button> >>>>>> ``` >>>>>> >>>>>> Similarly you can write recursive macros to output as just flat text >>>>>> (with no structure or hierarchy) or wiki text list syntax (assuming you >>>>>> have no multi-line content).</div> >>>>>> >>>>>> On Sat, 17 Jul 2021 at 09:01, Saq Imtiaz <saq.i...@gmail.com> wrote: >>>>>> >>>>>>> @fred >>>>>>> >>>>>>> >>>>>>>> I noticed my solution does not work so well for complex node >>>>>>>> content, as those in: >>>>>>>> https://saqimtiaz.github.io/streams/#Working%20with%20streams%20tiddlers >>>>>>>> >>>>>>>> >>>>>>>> The reason is that wrapping in <div> tags mangles them badly; I >>>>>>>> tried a few alternatives (<span>, more white space, ..), no success >>>>>>>> yet. >>>>>>>> Any suggestions? >>>>>>>> >>>>>>> >>>>>>> This is actually the real challenge and why there currently isn't a >>>>>>> default export option from Streams. Depending on the nature of the >>>>>>> content, >>>>>>> it seems difficult to generalize a single export format that will work >>>>>>> and >>>>>>> one of the common pitfalls is to think of Streams nodes as a list,* >>>>>>> which they are not.* >>>>>>> >>>>>>> A stream node is a tiddler which can contain any kind of content, >>>>>>> and not all kinds of content can be mapped to a list item. It might be >>>>>>> easier to set limitations in one's usage as to what to put inside of a >>>>>>> node >>>>>>> and have an export format that works accordingly, rather than trying to >>>>>>> come up with a universal export format that works for all content. >>>>>>> Hence my >>>>>>> suggestion of gathering real world user data to drive the process. >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "TiddlyWiki" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/tiddlywiki/-xTFWPwzq6g/unsubscribe >>>>>>> . >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> tiddlywiki+...@googlegroups.com. >>>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/tiddlywiki/a0431024-302d-4433-95f0-021234984ab0n%40googlegroups.com >>>>>>> >>>>>>> <https://groups.google.com/d/msgid/tiddlywiki/a0431024-302d-4433-95f0-021234984ab0n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "TiddlyWiki" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/tiddlywiki/-xTFWPwzq6g/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> tiddlywiki+...@googlegroups.com. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/tiddlywiki/73a8e0c1-0318-4132-bd78-0a339c93e611n%40googlegroups.com >> >> <https://groups.google.com/d/msgid/tiddlywiki/73a8e0c1-0318-4132-bd78-0a339c93e611n%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To unsubscribe from this group and stop receiving emails from it, send an email to tiddlywiki+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/tiddlywiki/c49364c4-baf5-4d16-92fd-5ee447572541n%40googlegroups.com.