From a55698806c50bce09d786bbc35207fb580634278 Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Tue, 25 Nov 2025 17:16:45 +0800 Subject: [PATCH 1/4] feat: support condition field on $:/tags/ViewToolbar button --- core/ui/ViewTemplate/title.tid | 10 ++++++--- .../ui/ViewToolbar/convert-markdown.tid | 22 +++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid diff --git a/core/ui/ViewTemplate/title.tid b/core/ui/ViewTemplate/title.tid index 56b92efe8..98a75c7cf 100644 --- a/core/ui/ViewTemplate/title.tid +++ b/core/ui/ViewTemplate/title.tid @@ -11,9 +11,13 @@ tags: $:/tags/ViewTemplate storyview="pop" variable="listItem" > - <$set name="tv-config-toolbar-class" filter="[] [encodeuricomponent[]addprefix[tc-btn-]]"> - <$transclude tiddler=<>/> - + <$let condition={{{ [get[condition]] }}}> + <$list filter="[!is[blank]] :and[subfilterlimit[1]] :else[is[blank]then[true]]" variable="ignore"> + <$set name="tv-config-toolbar-class" filter="[] [encodeuricomponent[]addprefix[tc-btn-]]"> + <$transclude tiddler=<>/> + + + <$set name="tv-wikilinks" value={{$:/config/Tiddlers/TitleLinks}}> diff --git a/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid b/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid new file mode 100644 index 000000000..545d74730 --- /dev/null +++ b/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid @@ -0,0 +1,22 @@ +title: $:/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown +tags: $:/tags/ViewToolbar +caption: {{$:/plugins/tiddlywiki/wikitext-serialize/images/convert-markdown}} {{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}} +description: {{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Hint}} +condition: [type[text/x-markdown]] [type[text/markdown]] + +\whitespace trim +<$button + tooltip={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Hint}} + aria-label={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}} + class=<> +> + <$list filter="[match[yes]]"> + {{$:/plugins/tiddlywiki/wikitext-serialize/images/convert-markdown}} + + <$list filter="[match[yes]]"> + + <$text text={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}}/> + + + <$action-convert-markdown $tiddler=<>/> + From 5148182ad6ea4abb18f1f91c08bfd217c73f2388 Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Thu, 27 Nov 2025 18:22:40 +0800 Subject: [PATCH 2/4] Delete convert-markdown.tid --- .../ui/ViewToolbar/convert-markdown.tid | 22 ------------------- 1 file changed, 22 deletions(-) delete mode 100644 plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid diff --git a/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid b/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid deleted file mode 100644 index 545d74730..000000000 --- a/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown.tid +++ /dev/null @@ -1,22 +0,0 @@ -title: $:/plugins/tiddlywiki/wikitext-serialize/ui/ViewToolbar/convert-markdown -tags: $:/tags/ViewToolbar -caption: {{$:/plugins/tiddlywiki/wikitext-serialize/images/convert-markdown}} {{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}} -description: {{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Hint}} -condition: [type[text/x-markdown]] [type[text/markdown]] - -\whitespace trim -<$button - tooltip={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Hint}} - aria-label={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}} - class=<> -> - <$list filter="[match[yes]]"> - {{$:/plugins/tiddlywiki/wikitext-serialize/images/convert-markdown}} - - <$list filter="[match[yes]]"> - - <$text text={{$:/plugins/tiddlywiki/wikitext-serialize/language/Buttons/ConvertMarkdown/Caption}}/> - - - <$action-convert-markdown $tiddler=<>/> - From 701e963fd421dbfb8858e724ebd6c25cb2aad078 Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Thu, 27 Nov 2025 18:26:32 +0800 Subject: [PATCH 3/4] Create #9466.tid --- .../tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 editions/tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid diff --git a/editions/tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid b/editions/tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid new file mode 100644 index 000000000..2a661ceb9 --- /dev/null +++ b/editions/tw5.com/tiddlers/releasenotes/5.4.0/#9466.tid @@ -0,0 +1,15 @@ +title: $:/changenotes/5.4.0/#9466 +description: ViewToolbar buttons now support condition field +tags: $:/tags/ChangeNote +release: 5.4.0 +change-type: feature +change-category: hackability +github-links: https://github.com/TiddlyWiki/TiddlyWiki5/pull/9466 +github-contributors: linonetwo + +ViewToolbar buttons can now be conditionally displayed based on the currentTiddler using a `condition` field. Similar to how `$:/tags/Exporter` and `$:/tags/EditorTools` already have. An example would be: + +```tid +tags: $:/tags/ViewToolbar +condition: [type[text/x-markdown]] [type[text/markdown]] +``` From b5d2b79ca84dd010eb817bc42d2cf44829f36edd Mon Sep 17 00:00:00 2001 From: lin onetwo Date: Thu, 27 Nov 2025 18:31:52 +0800 Subject: [PATCH 4/4] Update title.tid --- core/ui/ViewTemplate/title.tid | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/ui/ViewTemplate/title.tid b/core/ui/ViewTemplate/title.tid index 98a75c7cf..71b049124 100644 --- a/core/ui/ViewTemplate/title.tid +++ b/core/ui/ViewTemplate/title.tid @@ -12,11 +12,11 @@ tags: $:/tags/ViewTemplate variable="listItem" > <$let condition={{{ [get[condition]] }}}> - <$list filter="[!is[blank]] :and[subfilterlimit[1]] :else[is[blank]then[true]]" variable="ignore"> + <%if [!is[blank]] :and[subfilterlimit[1]] :else[is[blank]then[true]] %> <$set name="tv-config-toolbar-class" filter="[] [encodeuricomponent[]addprefix[tc-btn-]]"> <$transclude tiddler=<>/> - + <%endif%>