let tmpf = tmp.fileSync({ postfix: ".pdf" }); | let tmpf = tmp.fileSync({ postfix: ".pdf" }); | ||||
let child = spawn("pandoc", | let child = spawn("pandoc", | ||||
[ "--standalone", "--pdf-engine=pdflatex", "--output", tmpf.name ]); | |||||
[ "--standalone", "--output", tmpf.name ]); | |||||
child.on("error", err => { | child.on("error", err => { | ||||
res.writeHead(500); | res.writeHead(500); | ||||
res.end(err); | |||||
res.end(JSON.stringify({ output: err.toString() })); | |||||
tmpf.removeCallback(); | tmpf.removeCallback(); | ||||
}); | }); | ||||
<canvas id="preview"></canvas> | <canvas id="preview"></canvas> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div id="pandoc-output"> | |||||
Test | |||||
</div> | |||||
<div id="pandoc-output"></div> | |||||
</div> | </div> | ||||
<script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script> | <script src="https://cdn.jsdelivr.net/simplemde/latest/simplemde.min.js"></script> |
grid-template-rows: auto 100px; | grid-template-rows: auto 100px; | ||||
grid-template-areas: | grid-template-areas: | ||||
'left-pane right-pane' | 'left-pane right-pane' | ||||
'footer footer'; | |||||
'footer right-pane'; | |||||
} | } | ||||
#editor-container { | #editor-container { | ||||
overflow: auto; | overflow: auto; | ||||
} | } | ||||
#preview-controls { | |||||
line-height: 50px; | |||||
} | |||||
#pandoc-output { | #pandoc-output { | ||||
grid-area: footer; | grid-area: footer; | ||||
min-height: 0px; | |||||
white-space: pre; | |||||
overflow: auto; | |||||
} | } |