This commit is contained in:
Vanessa 2022-12-08 00:33:39 +08:00
parent bed8b3f5a0
commit ec92c7837b

View File

@ -116,7 +116,6 @@ const renderPDF = (id: string) => {
#preview > .code-block { #preview > .code-block {
margin-left: auto; margin-left: auto;
margin-right: auto; margin-right: auto;
width: 800px;
} }
#preview.exporting { #preview.exporting {
@ -221,7 +220,34 @@ const renderPDF = (id: string) => {
<script> <script>
let pdfLeft = 0; let pdfLeft = 0;
let pdfTop = 0; let pdfTop = 0;
const setPadding = (previewElement) => { const previewElement = document.getElementById('preview');
const setLineNumberWidth = (element) => {
let width = 800
switch (element.value) {
case "A3":
width = 842
break;
case "A4":
width = 595
break;
case "A5":
width = 420
break;
case "Legal":
case "Letter":
width = 612
break;
case "Tabloid":
width = 792
break;
}
previewElement.querySelectorAll('.hljs.protyle-linenumber').forEach((item) => {
item.parentElement.style.width = width + "px";
item.removeAttribute('data-render');
})
Protyle.highlightRender(previewElement, "${servePath}/stage/protyle");
}
const setPadding = () => {
const isLandscape = document.querySelector("#landscape").checked; const isLandscape = document.querySelector("#landscape").checked;
switch (document.querySelector("#marginsType").value) { // none switch (document.querySelector("#marginsType").value) { // none
case "0": case "0":
@ -260,10 +286,6 @@ const renderPDF = (id: string) => {
item.parentElement.style.overflow = "hidden"; item.parentElement.style.overflow = "hidden";
} }
}) })
previewElement.querySelectorAll('.hljs.protyle-linenumber').forEach((item) => {
item.removeAttribute('data-render');
})
Protyle.highlightRender(previewElement, "${servePath}/stage/protyle");
}, 300); }, 300);
} }
const fetchPost = (url, data, cb) => { const fetchPost = (url, data, cb) => {
@ -276,7 +298,7 @@ const renderPDF = (id: string) => {
cb(response); cb(response);
}) })
} }
const renderPreview = (previewElement, html) => { const renderPreview = (html) => {
previewElement.innerHTML = html; previewElement.innerHTML = html;
Protyle.mathRender(previewElement, "${servePath}/stage/protyle", true); Protyle.mathRender(previewElement, "${servePath}/stage/protyle", true);
Protyle.mermaidRender(previewElement, "${servePath}/stage/protyle"); Protyle.mermaidRender(previewElement, "${servePath}/stage/protyle");
@ -286,6 +308,10 @@ const renderPDF = (id: string) => {
Protyle.mindmapRender(previewElement, "${servePath}/stage/protyle"); Protyle.mindmapRender(previewElement, "${servePath}/stage/protyle");
Protyle.abcRender(previewElement, "${servePath}/stage/protyle"); Protyle.abcRender(previewElement, "${servePath}/stage/protyle");
Protyle.plantumlRender(previewElement, "${servePath}/stage/protyle"); Protyle.plantumlRender(previewElement, "${servePath}/stage/protyle");
Protyle.highlightRender(previewElement, "${servePath}/stage/protyle");
setTimeout(() => {
setLineNumberWidth(document.querySelector("#action #pageSize"));
}, 600);
} }
fetchPost("/api/export/exportPreviewHTML", { fetchPost("/api/export/exportPreviewHTML", {
id: "${id}", id: "${id}",
@ -309,7 +335,6 @@ const renderPDF = (id: string) => {
}, },
languages: {copy:"${window.siyuan.languages.copy}"} languages: {copy:"${window.siyuan.languages.copy}"}
}; };
const previewElement = document.getElementById('preview');
previewElement.addEventListener("click", (event) => { previewElement.addEventListener("click", (event) => {
let target = event.target; let target = event.target;
while (target && !target.isEqualNode(previewElement)) { while (target && !target.isEqualNode(previewElement)) {
@ -343,18 +368,22 @@ const renderPDF = (id: string) => {
alert(response2.msg) alert(response2.msg)
return; return;
} }
setPadding(previewElement); setPadding();
renderPreview(previewElement, response2.data.content); renderPreview(response2.data.content);
}) })
}) })
actionElement.querySelector("#scale").addEventListener("input", () => { actionElement.querySelector("#scale").addEventListener("input", () => {
actionElement.querySelector("#scaleTip").innerText = actionElement.querySelector("#scale").value; actionElement.querySelector("#scaleTip").innerText = actionElement.querySelector("#scale").value;
}) })
const pageSizeElement = actionElement.querySelector("#pageSize")
pageSizeElement.addEventListener('change', () => {
setLineNumberWidth(pageSizeElement);
});
actionElement.querySelector("#marginsType").addEventListener('change', () => { actionElement.querySelector("#marginsType").addEventListener('change', () => {
setPadding(previewElement); setPadding();
}); });
actionElement.querySelector("#landscape").addEventListener('change', () => { actionElement.querySelector("#landscape").addEventListener('change', () => {
setPadding(previewElement); setPadding();
}); });
actionElement.querySelector('.b3-button--cancel').addEventListener('click', () => { actionElement.querySelector('.b3-button--cancel').addEventListener('click', () => {
const {ipcRenderer} = require("electron"); const {ipcRenderer} = require("electron");
@ -386,8 +415,8 @@ const renderPDF = (id: string) => {
previewElement.style.paddingTop = "0"; previewElement.style.paddingTop = "0";
previewElement.style.paddingBottom = "0"; previewElement.style.paddingBottom = "0";
}); });
setPadding(previewElement); setPadding();
renderPreview(previewElement, response.data.content); renderPreview(response.data.content);
}); });
</script></body></html>`; </script></body></html>`;
const mainWindow = getCurrentWindow(); const mainWindow = getCurrentWindow();