aboutsummaryrefslogtreecommitdiffstats
path: root/src/styles/abstracts/functions/_encode.scss
diff options
context:
space:
mode:
authorArmand Philippot <git@armandphilippot.com>2021-12-13 00:51:39 +0100
committerArmand Philippot <git@armandphilippot.com>2021-12-13 00:51:39 +0100
commitab29d725320ff8e883394aee536ea37b74018009 (patch)
tree3f4cdb605abc4ded03d8f3399eacf6d7f9b69851 /src/styles/abstracts/functions/_encode.scss
parent5299774837aa2be2c0f26e766ead20e9dd17e18a (diff)
chore: define Sass functions, mixins, placeholders and variables
Diffstat (limited to 'src/styles/abstracts/functions/_encode.scss')
-rw-r--r--src/styles/abstracts/functions/_encode.scss14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/styles/abstracts/functions/_encode.scss b/src/styles/abstracts/functions/_encode.scss
new file mode 100644
index 0000000..4350185
--- /dev/null
+++ b/src/styles/abstracts/functions/_encode.scss
@@ -0,0 +1,14 @@
+@use "str-replace" as fun;
+
+/// Encode a SVG.
+/// @param {String} $svg A complete svg (`<svg>...</svg>`).
+/// @return The encoded svg, ready to use for background-image.
+@function encode-svg($svg) {
+ $svg-encoding: (("<", "%3C"), (">", "%3E"), ("#", "%23"));
+
+ @each $char, $encoded in $svg-encoding {
+ $svg: fun.str-replace($svg, $char, $encoded);
+ }
+
+ @return "data:image/svg+xml;utf8," + $svg;
+}