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 [email protected] 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 <[email protected]> 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 <[email protected]> wrote:
>>
>>> with capture:
>>>
>>> On Sat, 17 Jul 2021 at 09:05, Frédéric Demers <[email protected]> 
>>> 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 <[email protected]> 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 
>>>>> [email protected].
>>>>> 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 the Google Groups 
"TiddlyWiki" 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/tiddlywiki/73a8e0c1-0318-4132-bd78-0a339c93e611n%40googlegroups.com.

Reply via email to