start over with nextjs

This commit is contained in:
Thomas Ruoff
2021-02-25 00:31:28 +01:00
parent 3a77e7f22b
commit 214d95d3d7
68 changed files with 3047 additions and 18576 deletions

51
lib/renderer.ts Normal file
View File

@@ -0,0 +1,51 @@
import { mkdir, writeFile } from 'fs'
import { spawn } from 'child_process'
import { v1 as uuidv1 } from 'uuid'
import { getDirPath, getDocPath } from './utils';
function copyToTemp(id: string, texDocument: string): Promise<string> {
return new Promise((resolve, reject) => {
const dirPath = getDirPath(id);
mkdir(dirPath, (err) => {
if (err) {
reject(err);
return;
}
const docPath = getDocPath(id);
writeFile(docPath, texDocument, (err) => {
if (err) {
reject(err);
}
resolve(id);
});
});
});
}
function generateDoc(id: string) {
return new Promise((resolve, reject) => {
const pdflatex = spawn('pdflatex', ['-interaction', 'nonstopmode', getDocPath(id)], { cwd: getDirPath(id) });
pdflatex.stderr.on('data', (data) => {
console.error('onData', data);
});
pdflatex.on('close', (code) => {
if (code > 0) {
reject(`pdflatex returned with code ${code}`);
return;
}
console.log(`PDF ${id} generated`);
resolve(id);
});
});
}
export default function(texDocument: string) {
const id = uuidv1();
return copyToTemp(id, texDocument)
.then(generateDoc);
};