EJS Site Builder

FAQ

What are the goals of EJS Site Builder

Why does EJS Site Builder use EJS Templating?

EJS Site Builder is a javascript site generator. It wants you do live and breath javascript. EJS is a javascript templating langauge which lends itself very well to the goals of EJS Site Builder.

Does EJS Site Builder support Markdown?

Yes. EJS Site Builder leaves it up to you to parse your own data files and pass them to your EJS templates using your generate scripts.

It's very easy to parse markdown in this way. Have a look at the generate script used to make these EJS Site Builder Docs. See how it uses the awesome markdown-it module to parse markdown files:

docsMD.ejs

The sky is the limit. For example, if you wanted to create "sections" in your markdown files that rendered to different sections of your templates, you could use markdown-it custom containers and pass what you receive into your template variables.

Does EJS Site Builder support other Templating Languages?

Yes, but not as first class citizens. See the question above regarding Markdown. Instead of using the markdown-it NPM module in your generate scripts, you could find an NPM module for the templating language of your choice, whether it be handlebars, liquid, nunjucks etc.

Should I use other template languages besides EJS?

It's highly recommended that you only use other templating languages out of necessity, like if you have thousands of existing template content files that you want to render with EJS Site Builder.

EJS has a massive advantage that it is natively supported by EJS Site Builder, works with EJS Site Builder's built-in dependency tracking, is fast, simple, and lets you write all your site generation logic in javascript, instead of switching back and forth between other template languages.

Can I make shortcodes and filters?

See shortcodes for details.

How is the EJS Site Builder source code tested?

It's functionlly tested using CliFry a CLI unit testing utility written during the creation of EJS Site Builder.