From 19614388ea6298775d08fe19e67fb22bf90a01da Mon Sep 17 00:00:00 2001 From: Leonardo Bishop Date: Sun, 20 Aug 2023 11:12:25 +0100 Subject: Replace web server with static site generator --- app/index.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 app/index.ts (limited to 'app/index.ts') diff --git a/app/index.ts b/app/index.ts new file mode 100644 index 0000000..1cb278a --- /dev/null +++ b/app/index.ts @@ -0,0 +1,34 @@ +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) { + logger.error(`Build failed. Quitting.`); + process.exit(1); +} + +logger.info(`Finished${errors > 0 ? `, with ${errors} errors` : ''}. Build took ${new Date().getTime() - startDate.getTime()}ms.`); + +if (process.env.WEBSERVER_ENABLED === 'true') { + logger.info(''); + import('./webserver/webserver.js').then(m => m.start(pageDirectory)); +} -- cgit v1.2.3-70-g09d2