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