Skip to content

Commit 03d9369

Browse files
committed
feat(render): receive data object on render function
1 parent e4e2002 commit 03d9369

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

main.js

+5-12
Original file line numberDiff line numberDiff line change
@@ -10,38 +10,31 @@ const ejs = require('ejs')
1010
// https://github.com/sass/node-sass
1111
const sass = require('node-sass')
1212

13-
module.exports = (template = 'index', lang = 'en_us', themeColor = '#6c757d') => {
13+
module.exports = (template = 'index', data = {}, lang = 'en_us', themeColor = '#6c757d') => {
1414
return new Promise((resolve, reject) => {
1515
// setup dictionary object first
1616
const i18n = path.join(process.cwd(), `i18n/${lang}.json`)
1717
fs.readFile(i18n, 'utf8', (err, contents) => {
18-
let i18n
1918
if (err) {
2019
return reject(err)
2120
}
2221

2322
try {
24-
i18n = JSON.parse(contents)
23+
data.i18n = JSON.parse(contents)
2524
} catch (err) {
2625
// invalid JSON
2726
return reject(err)
2827
}
2928

3029
// render Sass to CSS with theme color
31-
const renderSass = filename => sass.renderSync({
30+
data.renderSass = filename => sass.renderSync({
3231
data: `$theme-color: ${themeColor};`,
3332
file: path.resolve(process.cwd(), `scss/${filename}.scss`)
3433
})
34+
data.themeColor = themeColor
3535

36-
// setup data and parse template to HTML
36+
// render EJS file to HTML
3737
const view = path.join(process.cwd(), `views/${template}.ejs`)
38-
const data = {
39-
i18n,
40-
themeColor,
41-
renderSass
42-
}
43-
44-
// render EJS file
4538
ejs.renderFile(view, data, null, (err, html) => {
4639
if (err) {
4740
reject(err)

0 commit comments

Comments
 (0)