blob: f7a443da8c7db10aeb8318b7f7b723ba0435824a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import dotenv from 'dotenv-defaults';
import { logger } from './logger.js';
import { buildPages } from './builder/build.js';
dotenv.config();
const startDate = new Date();
logger.info('');
logger.info('panulat, a static site generator');
logger.info(startDate.toString());
logger.info('');
logger.info(`Static directory: ${process.env.STATIC_DIR}`);
logger.info(` Pages directory: ${process.env.PAGES_DIR}`);
logger.info(` Views directory: ${process.env.VIEWS_DIR}`);
logger.info(`Output directory: ${process.env.OUTPUT_DIR}`);
logger.info(` Webserver: ${process.env.WEBSERVER_ENABLED === 'true' ? 'enabled' : 'disabled'}`);
logger.info(` Autorebuild: ${process.env.WEBSERVER_AUTOREBUILD === 'true' ? 'enabled' : 'disabled'}`);
logger.info('');
const {success, errors, pageDirectory} = await buildPages();
logger.info('');
if (!success && errors == 0) {
logger.error(`Build failed. Quitting.`);
process.exit(1);
}
const exitString = `Finished${errors > 0 ? `, with ${errors} errors` : ''}. Build took ${new Date().getTime() - startDate.getTime()}ms.`;
if (!success) {
logger.error(exitString);
process.exit(1);
} else {
logger.info(exitString);
}
if (process.env.WEBSERVER_ENABLED === 'true') {
logger.info('');
import('./webserver/webserver.js').then(m => m.start(pageDirectory));
}
|