Skip to main content
The Deno 2 Release Candidate is here
Learn more

wings

Template engine for Deno projects.

Example

Client:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <h1>~(example)~</h1>
    <h2>~(func)~</h2>
    <h2>~(date)~</h2>
    ~(component:components/footer.html)~ 
</body>
  
</html>

Server (with ABC framework):

import { Application } from 'https://deno.land/x/abc/mod.ts'
import { Wings } from 'https://deno.land/x/wings/mod.ts'

const app = new Application()
const wings = new Wings()

const add = (a: number, b: number): number => {
    return a + b
}

app.get('/', async () => {
    return await wings.render('./static/index.html', {
        example: '~(Wings)~',
        func: add(28, 12),
        date: new Date()
    })
})

app.start({ port: 8080 })