diff --git a/src/components/Links.svelte b/src/components/Links.svelte
old mode 100644
new mode 100755
index 703aa4a5..b01cfb1a
--- a/src/components/Links.svelte
+++ b/src/components/Links.svelte
@@ -8,29 +8,31 @@
onMount(async () => {});
-export const onDownloadPNG = event => {
- var canvas = document.createElement('canvas');
- const container = document.getElementById('container');
- const svg = document.querySelector('#container svg');
- const box = svg.getBoundingClientRect();
- canvas.width = box.width;
- canvas.height = box.height;
- if(imagemodeselected === "width") {
- const ratio = box.height/box.width;
- canvas.width = userimagewidth;
- canvas.height = userimagewidth * ratio;
- } else if(imagemodeselected === "height") {
- const ratio = box.width/box.height;
- canvas.width = userimageheight * ratio;
- canvas.height = userimageheight;
- }
- const context = canvas.getContext('2d');
- context.fillStyle = "white";
- context.fillRect(0, 0, canvas.width, canvas.height);
+ const fixBrTag = (svg) => svg.replaceAll('
', '
');
- var image = new Image();
- image.onload = function () {
- context.drawImage(image, 0, 0, canvas.width, canvas.height);
+ export const onDownloadPNG = event => {
+ var canvas = document.createElement('canvas');
+ const container = document.getElementById('container');
+ const svg = document.querySelector('#container svg');
+ const box = svg.getBoundingClientRect();
+ canvas.width = box.width;
+ canvas.height = box.height;
+ if(imagemodeselected === "width") {
+ const ratio = box.height/box.width;
+ canvas.width = userimagewidth;
+ canvas.height = userimagewidth * ratio;
+ } else if(imagemodeselected === "height") {
+ const ratio = box.width/box.height;
+ canvas.width = userimageheight * ratio;
+ canvas.height = userimageheight;
+ }
+ const context = canvas.getContext('2d');
+ context.fillStyle = "white";
+ context.fillRect(0, 0, canvas.width, canvas.height);
+
+ var image = new Image();
+ image.onload = function () {
+ context.drawImage(image, 0, 0, canvas.width, canvas.height);
var a = document.createElement("a");
a.download = `mermaid-diagram-${moment().format(
@@ -42,9 +44,9 @@ export const onDownloadPNG = event => {
a.click();
};
- console.warn("SVG", container.innerHTML);
+ console.warn("SVG", fixBrTag(container.innerHTML));
image.src = `data:image/svg+xml;base64,${Base64.encode(
- container.innerHTML
+ fixBrTag(container.innerHTML)
)}`;
event.stopPropagation();
event.preventDefault();
@@ -56,7 +58,7 @@ export const onDownloadPNG = event => {
console.log("event", event.target);
const container = document.getElementById("container");
event.target.href = `data:image/svg+xml;base64,${Base64.encode(
- container.innerHTML
+ fixBrTag(container.innerHTML)
)}`;
event.target.download = `mermaid-diagram-${moment().format(
"YYYYMMDDHHmmss"
@@ -68,14 +70,14 @@ export const onDownloadPNG = event => {
document.execCommand("Copy");
};
-let url = '/mermaid-live-editor/#/view';
-let b64Code;
-let iUrl;
-let svgUrl;
-let mdCode;
-let imagemodeselected = "auto";
-let userimagewidth = 1920;
-let userimageheight = 1080;
+ let url = '/mermaid-live-editor/#/view';
+ let b64Code;
+ let iUrl;
+ let svgUrl;
+ let mdCode;
+ let imagemodeselected = "auto";
+ let userimagewidth = 1920;
+ let userimageheight = 1080;
const unsubscribe = codeStore.subscribe((state) => {
b64Code = Base64.encodeURI(JSON.stringify(state));