/** * Encode SVG for use in url() * * Short alternative to encodeURIComponent() that encodes only stuff used in SVG, generating * smaller code. */ function encodeSVGforURL(svg) { return svg.replace(/"/g, "'").replace(/%/g, "%25").replace(/#/g, "%23").replace(//g, "%3E").replace(/\s+/g, " "); } /** * Generate data: URL from SVG */ function svgToData(svg) { return "data:image/svg+xml," + encodeSVGforURL(svg); } /** * Generate url() from SVG */ function svgToURL(svg) { return "url(\"" + svgToData(svg) + "\")"; } export { encodeSVGforURL, svgToData, svgToURL };