From 530b893710fb4e6cc72f8001beb0888d77f61be7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Th=C3=A9ophile=20Desmedt?=
<34781168+DesignThinkerer@users.noreply.github.com>
Date: Sun, 8 Dec 2024 20:56:35 +0100
Subject: [PATCH] Add another example to the wikify widget : use core svg to
show an icon next to links (#8806)
* Add another example to the wikify widget : use core svg to show an icon next to links
* improve wikitext
* fix css
* limit example to svg core tiddlers
* fix typo + use <<.wid wikify>> when mentioning the wikify widget
* simplify a bit more the procedure that add a namespace to the svg
---
.../TestCases_WikifyWidget_RenderSVGURI.tid | 48 +++++++++++++++++++
.../tw5.com/tiddlers/widgets/WikifyWidget.tid | 10 ++--
2 files changed, 55 insertions(+), 3 deletions(-)
create mode 100644 editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderSVGURI.tid
diff --git a/editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderSVGURI.tid b/editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderSVGURI.tid
new file mode 100644
index 00000000000..e809c789161
--- /dev/null
+++ b/editions/tw5.com/tiddlers/TestCases_WikifyWidget_RenderSVGURI.tid
@@ -0,0 +1,48 @@
+created: 20241206225533517
+description: Rendering parameterised SVG for use in stylesheets
+tags: $:/tags/wiki-test-spec
+title: TestCases/WikifyWidget/RenderSVGURI
+type: text/vnd.tiddlywiki-multiple
+
+title: Narrative
+
+The core svg icons use a parameter widget, making their use in stylesheets impossible without wikify.
++
+title: Output
+
+* https://tiddlywiki.com/
+* [[TW5|http://tiddlywiki.com/]]
+* [[Mail me|mailto:me@where.net]]
+* [[Open file|file:///c:/users/me/index.html]]
+
+
++
+title: Stylesheet
+
+\rules except dash
+\procedure link-icon(protocol,img)
+<$tiddler tiddler=<> >
+ <$wikify name="svg" text={{!!text}} mode="inline" output="html">
+ <$text text=`
+ [href*="$(protocol)$"]{
+ --mask:url('data:image/svg+xml;utf8,');
+ }
+ `/>
+ $wikify>
+$tiddler>
+\end
+
+.tc-tiddlylink-external:after{
+ width:.7rem;
+ aspect-ratio:1;
+ background:currentColor;
+ display: inline-block;
+ mask: center / contain no-repeat var(--mask);
+ margin-inline:.5ch;
+ content:"";
+}
+
+<>
+<>
+<>
+<>
\ No newline at end of file
diff --git a/editions/tw5.com/tiddlers/widgets/WikifyWidget.tid b/editions/tw5.com/tiddlers/widgets/WikifyWidget.tid
index e8af7ef8297..198c5d64e2f 100644
--- a/editions/tw5.com/tiddlers/widgets/WikifyWidget.tid
+++ b/editions/tw5.com/tiddlers/widgets/WikifyWidget.tid
@@ -1,17 +1,17 @@
caption: wikify
created: 20160321144949700
-modified: 20241202014354100
+modified: 20241206233352509
tags: Widgets
title: WikifyWidget
type: text/vnd.tiddlywiki
! Introduction
-The <<.wid wikify>> widget parses and renders a string of text and assigns the result to a specified [[variable|Variables]]. The new value of the variable is available to the content within the wikify widget.
+The <<.wid wikify>> widget parses and renders a string of text and assigns the result to a specified [[variable|Variables]]. The new value of the variable is available to the content within the <<.wid wikify>> widget.
! Content and Attributes
-The content of the `<$wikify>` widget is the scope for the value assigned to the variable.
+The content of the <<.wid wikify>> widget is the scope for the value assigned to the variable.
|!Attribute |!Description |
|name |The name of the variable to assign |
@@ -44,3 +44,7 @@ The available output types are:
!! Exporting rendered html
<>
+
+!! Rendering parameterised SVG for use in stylesheets
+
+<>
\ No newline at end of file