dejs

Build Status

Features

Supported

Not supported

Usage

import * as dejs from 'https://deno.land/x/dejs@0.3.0/dejs.ts';

Render from file

<body>
  <% if (name) { %>
    <h1>hello, <%= name %>!</h1>
  <% } %>
</body>
const { cwd, stdout, copy } = Deno;
import { renderFile } from 'https://deno.land/x/dejs/dejs.ts';

(async () => {
  const output = await renderFile(`${cwd()}/template.ejs`, {
    name: 'world',
  });
  await copy(stdout, output);
})();
$ deno index.ts
<body>

    <h1>hello, world!</h1>

</body>

Render from string

const { cwd, stdout, copy } = Deno;
import { render } from 'https://deno.land/x/dejs/dejs.ts';

const template = `<body>
  <% if (name) { %>
    <h1>hello, <%= name %>!</h1>
  <% } %>
</body>`;

(async () => {
  const output = await render(template, {
    name: 'world',
  });
  await copy(stdout, output);
})();

Include partial ejs template

Usage

await include(filePath, params)

Example

<html>
<head>
  <title><%- title %></title>
</head>
<body>
</body>
</html>
<%- await include('views/header.ejs', { title: 'include example' }) %>
<h1>hello, world!</h1>
<%- await include('views/footer.ejs') %>
const { cwd, stdout, copy } = Deno;
import { renderFile } from 'https://deno.land/x/dejs/dejs.ts';

(async () => {
  const output = await renderFile(`${cwd()}/views/main.ejs`);
  await copy(stdout, output);
})();
$ deno index.ts
<html>
<head>
  <title>include example</title>
</head>
<body>
<h1>hello, world!</h1>
</body>
</html>

Development

Testing

Author

syumai

License

MIT


View repository on GitHub