Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nirkog/Shoko
A blazing fast templating engine
https://github.com/nirkog/Shoko
express express-js expressjs javascript node-js npm-package server-side shoko template-engine templating-engine templating-language
Last synced: about 1 month ago
JSON representation
A blazing fast templating engine
- Host: GitHub
- URL: https://github.com/nirkog/Shoko
- Owner: nirkog
- License: mit
- Created: 2017-07-12T07:59:53.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-10-13T13:03:25.000Z (about 7 years ago)
- Last Synced: 2024-10-22T07:59:11.247Z (about 2 months ago)
- Topics: express, express-js, expressjs, javascript, node-js, npm-package, server-side, shoko, template-engine, templating-engine, templating-language
- Language: JavaScript
- Homepage:
- Size: 1.19 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-blazingly-fast - Shoko - A blazing fast templating engine (JavaScript)
README
# Shoko
#### A node.js templating engine
**Shoko** is a simple to use templating engine, with a very straight forward and intuative syntax. Shoko also offers many other features, including: mixins, variables, comments.
As shoko is in it's early development, many features that we intend to add are stil missing.## Installation
Shoko is super easy to get up and running.
simply download it from npm, like this.npm install shoko --save
## Syntax
Shoko has a very easy to grasp syntax. Elements in shoko are seprated by curly braces.
Here is an example:doctype html
html {
head {
title {
'My First Shoko Page'
}
}body {
h1 {
'Shoko is awesome.'
}
}
}Which will render to this HTML:
My First Shoko Page
My First Shoko Page
## API
**Shoko is really easy to use.**
To render plain shoko text, just use the render function.const shoko = require('shoko');
let textToRender = 'h1 { "Hello world" }';
//
Hello world
let renderedHTML = shoko.render(textToRender);To render from a file, use the renderFile function.
let renderedFile = shoko.renderFile('file.sk');
**Yes, I'ts that simple!**
## Framework Integration
### List of frameworks:
- Express.js
- hapi.js### Integrating with Express.js
Integrating Shoko with Express is so easy.
Just set the engine to the _Shoko renderFile_ function.app.engine('sk', shoko.renderFile);
Then, you can just render views normally. For example:
app.get('/', (res, req) => {
res.render('index', {});
});### Integrating with Hapi.js
Like express, integrating Shoko with Hapi is very easy;
Just register shoko as the engine.server.register(require('vision'), (err) => {
server.views({
engines: {
html: require('shoko')
}
});
});Then, you can just render views normally. For example:
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
reply.view('index');
}
});