27 lines
794 B
JavaScript
27 lines
794 B
JavaScript
const express = require('express');
|
|
const config = require('./config');
|
|
const app = express();
|
|
const path = require('path');
|
|
const { verifyLatexBinary } = require('./helpers/latex');
|
|
const helmet = require('helmet');
|
|
|
|
app.set('view engine', 'ejs');
|
|
app.set('views', path.join(__dirname, 'templates'));
|
|
app.use('/', express.static(path.join(__dirname, 'public')));
|
|
|
|
app.use(helmet({
|
|
contentSecurityPolicy: {
|
|
directives: {
|
|
"script-src": ["'self'", "'unsafe-inline'", "https://unpkg.com/feather-icons"],
|
|
"script-src-attr": ["'self'", "'unsafe-inline'"]
|
|
},
|
|
},
|
|
}))
|
|
|
|
app.use('/', require('./controllers/index'));
|
|
|
|
// check if pdf binaries are installed
|
|
verifyLatexBinary();
|
|
|
|
app.listen(config.port, () => console.log(`pdfgen is listening on port ${config.port}`))
|