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.

Reply via email to