UNPKG

basb-cli

Version:
51 lines (48 loc) 1.56 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>KaTeX Renderer</title> <style> #render-target { width: fit-content; padding: 4px; } </style> <link rel="stylesheet" href="../../../frontend/libs/katex/katex.css"> </head> <body> <div id="render-target"></div> <script type="module"> import katex from "../../../frontend/libs/katex/katex.js" window.katex = katex </script> <script> const { ipcRenderer } = require("electron") const html2canvas = require("html2canvas") const { writeFileSync } = require("node:fs") ipcRenderer.once("chart-content", async (_, { chartContent, renderOptions, savePath, }) => { const targetEl = document.querySelector("#render-target") try { katex.render(chartContent, targetEl, renderOptions) } catch(err) { ipcRenderer.send("render-error", err.message) return } const canvas = await html2canvas(targetEl) document.body.appendChild(canvas) canvas.toBlob(async blob => { const buffer = await blob.arrayBuffer() const viewer = new DataView(buffer) writeFileSync(savePath, viewer) ipcRenderer.send("render-ended") }) }) </script> </body> </html>