rosid-handler-ejs
v10.0.0
Published
Load EJS templates and render them
Downloads
37
Maintainers
Readme
rosid-handler-ejs
A function that loads an EJS file and transforms it to HTML.
Install
npm install rosid-handler-ejs
Usage
API
const handler = require('rosid-handler-ejs')
handler('index.ejs').then((data) => {})
handler('index.xml').then((data) => {})
handler('index.ejs', { optimize: true }).then((data) => {})
handler('index.ejs', { data: { key: 'value' } }).then((data) => {})
handler('index.ejs', { data: 'data.json' }).then((data) => {})
Rosid
Add the following object to your rosidfile.json
, rosidfile.js
or routes array. rosid-handler-ejs
will transform all matching EJS files in your source folder to HTML.
{
"name" : "EJS",
"path" : "[^_]*.{html,ejs}*",
"handler" : "rosid-handler-ejs"
}
<!-- index.ejs -->
<h1>Hello <%= 'World' %></h1>
<!-- index.html (output) -->
<h1>Hello World</h1>
Parameters
filePath
{String}
Path to file.opts
{?Object}
Options.optimize
{?Boolean}
- Optimize output. Defaults tofalse
.data
{?Object|String}
- Data used to render the template. Defaults to{}
.localOverwrites
{?Boolean}
- Enable or disable custom data per file. Defaults totrue
.
Returns
{Promise<String|Buffer>}
The transformed file content.
Miscellaneous
Data
The data in opts.data
will be used to render your template. opts.data
can either be an object (the data) or a string (path to data file). rosid-handler-ejs
tries to require the path when a string is specified instead of an object. The path must be absolute or relative to the current working directory.
Custom data per file
Create a file with the name filename.data.json
or filename.data.js
along your filename.ejs
to add or overwrite data from opts.data
. You can disable this behaviour with the localOverwrites
option.
Environment
rosid-handler-ejs
passes a variable called environment
to your template. environment
is prod
when opts.optimize
is true
and dev
when opts.optimize
is false
.