From ce5ba7123bc4c4dcaeeb0b94d4aba36ed26b4ae3 Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 11 Apr 2025 18:18:50 +0200 Subject: [PATCH] template: fix name handling for icons. --- libervia/backend/tools/common/template.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libervia/backend/tools/common/template.py b/libervia/backend/tools/common/template.py index 21aed4ef..9da1deaa 100644 --- a/libervia/backend/tools/common/template.py +++ b/libervia/backend/tools/common/template.py @@ -1012,13 +1012,15 @@ class Renderer(object): if "/" in name: raise ValueError("SVG name must not have a `/` in it.") if name.startswith("regular "): - name = name[8:] - path = self.fa_svgs_path / f"regular/{name}.svg" + filename = name[8:] + path = self.fa_svgs_path / f"regular/{filename}.svg" else: if name.startswith("solid "): # "solid" can be explicitely specified, and it's the default value. - name = name[6:] - path = self.fa_svgs_path / f"solid/{name}.svg" + filename = name[6:] + else: + filename = name + path = self.fa_svgs_path / f"solid/{filename}.svg" # Parse the source SVG try: @@ -1038,7 +1040,7 @@ class Renderer(object): symbol = etree.SubElement( defs_elt, "symbol", - id=name, + id=name.replace(" ", "_"), viewBox=viewbox, ) @@ -1060,7 +1062,7 @@ class Renderer(object): 'width="1em" height="1em" fill="currentColor" >\n' ' ' "\n".format( - name=name, + name=name.replace(" ", "_"), cls=(" " + cls) if cls else "", extra_attrs=" " + extra_attrs if extra_attrs else "", )