Apache FreeMarker® is a template engine: a Java library to generate text output (HTML web pages, e-mails, configuration files, source code, etc.) based on templates and changing data. Templates are written in the FreeMarker Template Language (FTL), which is a simple, specialized language (not a full-blown programming language like PHP). Usually, a general-purpose programming language (like Java) is used to prepare the data (issue database queries, do business calculations). Then, Apache FreeMarker displays that prepared data using templates. In the template you are focusing on how to present the data, and outside the template you are focusing on what data to present.
This package is a wrapper for Apache FreeMarker.
This version doesn't include fmpp source, only jar files:
- bsh v2.1.1
- freemarker v2.3.34
- resolver v1.2
- imageinfo v1.9
JAVA_HOMEshould be set properlynpm i @olton/freemarker -S
import Freemarker from '@olton/freemarker';
const freemarker = new Freemarker();
freemarker.render('<h1>${title}</h1>', { title: 'test render' }, (err, result) => {
if (err) {
throw new Error(err);
}
console.log(result);
});NOTICE: Don't use #include in string for rendering.
import Freemarker from '@olton/freemarker';
import { fileURLToPath } from 'url'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const freemarker = new Freemarker({ root: __dirname, suffix: '.tpl' });
freemarker.renderFile(path.join(__dirname, 'index'), data, (err, result) => {
if (err) {
throw new Error(err);
}
console.log(result);
});In this example, path.join(__dirname, 'index') can be replaced with index or index.tpl because we set root and suffix options.
Node with ESM support is required!
npm test
This product is licensed under a MIT license.
Thanks to kaola-fed for original release.