diff --git a/lib/pptx/pptx.go b/lib/pptx/pptx.go
index d7e4b527d..f923276bb 100644
--- a/lib/pptx/pptx.go
+++ b/lib/pptx/pptx.go
@@ -241,25 +241,24 @@ func getAppXml(slides []*Slide, d2version string) string {
return builder.String()
}
-func getLinkXml(link *Link) string {
- var builder strings.Builder
+//go:embed xmlTemplates/link.xml
+var linkTemplate string
- builder.WriteString("")
- builder.WriteString(fmt.Sprintf(``, link.Index, link.Tooltip))
+func getLinkXml(link *Link) string {
var linkAction string
if !link.isExternal() {
linkAction = "ppaction://hlinksldjump"
}
- builder.WriteString(
- fmt.Sprintf(``,
- link.Id,
- linkAction,
- link.Tooltip,
- ),
+ return fmt.Sprintf(
+ linkTemplate,
+ link.Index,
+ link.Tooltip,
+ link.Id,
+ linkAction,
+ link.Tooltip,
+ link.Left,
+ link.Top,
+ link.Width,
+ link.Height,
)
- builder.WriteString("")
- builder.WriteString(fmt.Sprintf(``, link.Left, link.Top))
- builder.WriteString(fmt.Sprintf(``, link.Width, link.Height))
- builder.WriteString(``)
- return builder.String()
}
diff --git a/lib/pptx/xmlTemplates/link.xml b/lib/pptx/xmlTemplates/link.xml
new file mode 100644
index 000000000..645500adc
--- /dev/null
+++ b/lib/pptx/xmlTemplates/link.xml
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file