ejs-prerender
Advanced tools
Comparing version 0.1.0 to 1.0.0
#!/usr/bin/env node | ||
const { | ||
getConfig, | ||
grabPages, | ||
renderTemplate, | ||
writeHtml, | ||
} = require('../lib'); | ||
const ejsPrerender = require('../lib'); | ||
const STATUSES = { | ||
RENDERING: 'is being rendered...', | ||
WRITING: 'is being written to file...', | ||
COMPLETE: 'has been written!', | ||
}; | ||
const main = async function main() { | ||
const config = getConfig(); | ||
console.log('got config', config); | ||
const viewData = {}; | ||
const statuses = {}; | ||
const getStatusMessage = (pagePath) => `page "${pagePath}" ${statuses[pagePath]}`; | ||
const replaceExtension = (oldExtension, newExtension, path) => `${path.substring(0, path.length - oldExtension.length)}${newExtension}`; | ||
const pages = await grabPages(config); | ||
console.log('pages', pages); | ||
const writePromises = pages | ||
.map((pagePath) => async function pageFn() { | ||
console.log('writing page', pagePath); | ||
statuses[pagePath] = STATUSES.RENDERING; | ||
const html = await renderTemplate(config, { | ||
templatePath: pagePath, | ||
viewData, | ||
}); | ||
statuses[pagePath] = STATUSES.WRITING; | ||
await writeHtml(config, { | ||
pagePath: replaceExtension('.ejs', '.html', pagePath), | ||
content: html, | ||
}); | ||
statuses[pagePath] = STATUSES.COMPLETE; | ||
}); | ||
await Promise.all(writePromises.map((fn) => fn())); | ||
pages.forEach((page) => console.log(getStatusMessage(page))); | ||
console.log('Render finished!'); | ||
await ejsPrerender(); | ||
}; | ||
main(); |
@@ -0,1 +1,2 @@ | ||
const ejsPrerender = require('./ejsPrerender'); | ||
const getConfig = require('./getConfig'); | ||
@@ -6,7 +7,7 @@ const grabPages = require('./grabPages'); | ||
module.exports = { | ||
getConfig, | ||
grabPages, | ||
renderTemplate, | ||
writeHtml, | ||
}; | ||
ejsPrerender.getConfig = getConfig; | ||
ejsPrerender.grabPages = grabPages; | ||
ejsPrerender.renderTemplate = renderTemplate; | ||
ejsPrerender.writeHtml = writeHtml; | ||
module.exports = ejsPrerender; |
{ | ||
"name": "ejs-prerender", | ||
"version": "0.1.0", | ||
"version": "1.0.0", | ||
"description": "A tool for structured pre-rendering of EJS templates and partials", | ||
"keywords": ["ejs", "prerender", "ssr"], | ||
"bin": { | ||
@@ -6,0 +7,0 @@ "ejs-prerender": "bin/ejs-prerender.js" |
@@ -7,8 +7,8 @@ # ejs-prerender | ||
| Name | Type | Default | Description | | ||
| ------------------------- | ------ | ------------------------- | ---------------------------------------------------- | | ||
| PEJS_BASE_DIR | String | current working directory | Base directory to reference for other relative paths | | ||
| PEJS_BUILD_OUTPUT_DIR | String | 'public' | Where the completed pages get written | | ||
| PEJS_BUILD_COMPONENTS_DIR | String | 'components' | Where components live | | ||
| PEJS_BUILD_PAGES_DIR | String | 'pages' | Where pages live | | ||
| PEJS_BUILD_PAGES_EXT | String | 'ejs' | File extension of pages | | ||
| Option | Environment Variable | Type | Default | Description | | ||
| ------------- | ------------------------- | ------ | ------------------------- | ---------------------------------------------------- | | ||
| baseDir | PEJS_BASE_DIR | String | current working directory | Base directory to reference for other relative paths | | ||
| outputDir | PEJS_BUILD_OUTPUT_DIR | String | 'public' | Where the completed pages get written | | ||
| componentsDir | PEJS_BUILD_COMPONENTS_DIR | String | 'components' | Where components live | | ||
| pagesDir | PEJS_BUILD_PAGES_DIR | String | 'pages' | Where pages live | | ||
| pageExtension | PEJS_BUILD_PAGES_EXT | String | 'ejs' | File extension of pages | |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
7140
12
109
1