Hi Mark.
Sorry I realize that I had made my post more convoluted than it needed to
be.
*What I want to do is apply a filter to only a specific tiddler and its
descendants within a TOC. Any tiddlers higher up in the hierarchy should
not be subject to the filter.*
By adapting your solution I am able to do this for a filter that *excludes*
certain
tags, but not for a filter that returns *only* tiddlers with a certain tag.
Thank you for your patience. Si
On Tuesday, January 21, 2020 at 4:10:20 PM UTC, Mark S. wrote:
>
> !!tag-filter will use the tag-filter field of the tiddler from which the
> TOC macro is launched.
>
> It's unclear where you want the tag-filter field to be coming from.
>
> It seems like you want a tiddler to have a tag-filter field AND be marked
> "spam", which doesn't quite make sense to me.
>
> Sometimes it helps to explain the big picture of what you want to do,
> rather than look narrowly at a particular technological solution.
>
> Good luck!
>
> On Tuesday, January 21, 2020 at 7:49:17 AM UTC-8, si wrote:
>>
>> Thank you Mark, that works perfectly, but I have realized that it is less
>> adaptable than I initially thought.
>>
>> I have tried adapting it to filter for *only* tiddlers tagged with
>> "spam".
>>
>> I first tried the following with the field "tag-filter=spam" in the
>> section I want to filter:
>>
>> <<toc-selective-expandable 'Section'
>> sort:"sort[title]]+[tag{!!tag-filter}">>
>>
>> The problem is that in other sections without a "tag-filter" field the
>> filter becomes "[sort[title]]+[tag[]]" which returns nothing.
>>
>> I've spent the last hour trying to figure out another way of doing it to
>> no avail. Can you see a way to do this?
>>
>> Thanks again for your help.
>> On Monday, January 20, 2020 at 6:33:46 PM UTC, Mark S. wrote:
>>>
>>> You can use the sort attribute to insert whole filter runs. However, the
>>> syntax will look lopsided:
>>>
>>> <<toc-selective-expandable 'Section' sort:"sort[title]]+[!tag[spam]">>
>>>
>>> Notice that the brackets are not balanced. Basically the macro is
>>> providing the final, right-hand square bracket. You need to provide sort
>>> criteria because you're over-riding the default.
>>>
>>> This seemed to work in my tests. Topmost elements were tagged with
>>> "Section" so that they all hung together.
>>>
>>> Good luck!
>>>
>>> On Monday, January 20, 2020 at 6:08:24 AM UTC-8, si wrote:
>>>>
>>>> Hi folks.
>>>>
>>>> How could you exclude all tiddlers with a certain tag from a
>>>> Table-of-Contents, but *only* within a specific sub-section of the
>>>> hierarchy?
>>>>
>>>> For example, say that I have a the following table of contents:
>>>>
>>>> - Section1
>>>> - Subitem
>>>> - Subitem
>>>> - Section2
>>>> - Subitem
>>>> - Subitem
>>>> - Section3
>>>> - Subitem
>>>> - Subitem
>>>>
>>>> How could I apply a filter to the macro that excludes all tiddlers with
>>>> the tag "spam", but only apply it to the descendants of "Section2"?
>>>>
>>>> I have tried a couple of things so far:
>>>>
>>>> First I tried creating separate Table-of-Contents macros for each
>>>> Section:
>>>>
>>>> <div class="tc-table-of-contents">
>>>>
>>>> <<toc-selective-expandable 'Section1Tag'>>
>>>> <<toc-selective-expandable 'Section2Tag' sort:"!tag[spam]">>
>>>> <<toc-selective-expandable 'Section3Tag'>>
>>>>
>>>> </div>
>>>>
>>>> This works but puts a blank line between each section in the TOC. Maybe
>>>> I'm being nitpicky but it makes the TOC look much uglier than it needs to
>>>> and takes up an impractical amount of space when you have a lot of
>>>> sections.
>>>>
>>>> I have also tried using the following:
>>>>
>>>> <div class="tc-table-of-contents">
>>>>
>>>> <<toc-selective-expandable 'TableOfContents' sort:"!tag{!!exclude-tag}"
>>>> >>
>>>>
>>>> </div>
>>>>
>>>> And then adding the field "exclude-tag=spam" to the "Section2" tiddler.
>>>> This didn't work at all.
>>>>
>>>> Does anyone know of a tidy way to do this?
>>>>
>>>> Thanks a lot for your help. Si
>>>>
>>>
--
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/1d0e55d8-4564-4b95-989b-c5b382998b52%40googlegroups.com.