diff options
Diffstat (limited to 'app/builder/renderPage.ts')
| -rw-r--r-- | app/builder/renderPage.ts | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/builder/renderPage.ts b/app/builder/renderPage.ts new file mode 100644 index 0000000..7dff22c --- /dev/null +++ b/app/builder/renderPage.ts @@ -0,0 +1,26 @@ +import { Page, PageDirectory } from "./pageDirectory"; +import ejs from 'ejs'; +import path from 'path'; +import buildInfo from "../config/info.js"; +import htmlMinify from 'html-minifier-terser'; + +export async function render(page: Page, pageDirectory: PageDirectory): Promise<string> { + const options = { + page: page, + site: { + pages: pageDirectory, + }, + build: buildInfo, + }; + const html = await ejs.renderFile(path.join(process.env.VIEWS_DIR, `${page.view}.ejs`), options); + + const minifiedHtml = await htmlMinify.minify(html, { + collapseWhitespace: true, + removeComments: true, + continueOnParseError: true, + minifyCSS: true, + minifyJS: true, + }); + + return minifiedHtml; +} |
