@kosatyi/ejs 0.0.1-alpha.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +123 -0
  2. package/package.json +2 -4
package/README.md CHANGED
@@ -7,5 +7,128 @@ Embedded JavaScript templates
7
7
  ![license](https://img.shields.io/npm/l/@kosatyi/ejs.svg)
8
8
  ![github-issues](https://img.shields.io/github/issues/kosatyi/ejs.svg)
9
9
 
10
+ ## Install
10
11
 
12
+ You can get EJS via [npm](http://npmjs.com).
11
13
 
14
+ ```bash
15
+ $ npm install @kosatyi/ejs --save
16
+ ```
17
+
18
+ ## Usage
19
+
20
+ ```js
21
+ const ejs = require('@kosatyi/ejs');
22
+
23
+ // path where templates is located (views by default so you can skip this step)
24
+ ejs.configure({
25
+ path: 'views'
26
+ })
27
+
28
+ // add custom template helper functions
29
+ ejs.helpers({
30
+ ucase(text){
31
+ return String(text).toUpperCase()
32
+ }
33
+ })
34
+
35
+ // load index.ejs template from `views` folder
36
+ ejs.render('page/index',{
37
+ posts:[{
38
+ title:'Post Title',
39
+ content:"<p>post content</p>"
40
+ }]
41
+ }).then((content)=>{
42
+ console.log(content)
43
+ })
44
+ ```
45
+
46
+
47
+ ## Use with Express
48
+
49
+ ```bash
50
+ $ npm install @kosatyi/ejs --save
51
+ ```
52
+
53
+ ```js
54
+ const express = require('express')
55
+ const ejs = require('@kosatyi/ejs')
56
+ const app = express()
57
+ app.engine('ejs', ejs.__express)
58
+ app.set('views', 'views')
59
+ app.set('view engine', 'ejs')
60
+ app.set('view options', {
61
+ watch: true,
62
+ })
63
+ ```
64
+
65
+ or use `ejs` alias
66
+
67
+ ```bash
68
+ $ npm install ejs@npm:@kosatyi/ejs --save
69
+ ```
70
+
71
+ ```js
72
+ // const ejs = require('ejs')
73
+ const express = require('express')
74
+ const app = express()
75
+ app.set('views', 'views')
76
+ app.set('view engine', 'ejs')
77
+ app.set('view options', {
78
+ watch: true,
79
+ })
80
+ ```
81
+
82
+ ## Template Example
83
+
84
+ **layout/default.ejs**
85
+
86
+ ```ejs
87
+ <html>
88
+ <head>
89
+ <title><%-get('title')%></title>
90
+ <% block('resources',()=>{ %>
91
+ <link rel="stylesheet" type="text/css" href="/dist/styles.css">
92
+ <% }) %>
93
+ </head>
94
+ <body>
95
+ <header>
96
+ <% block('header',()=>{ %>
97
+ <h1><%-get('title')%></h1>
98
+ <% }) %>
99
+ </header>
100
+ <main>
101
+ <% block('content') %>
102
+ </main>
103
+ <footer>
104
+ <% block('footer',()=>{ %>
105
+ Copyright
106
+ <% }) %>
107
+ </footer>
108
+ </body>
109
+ </html>
110
+ ```
111
+
112
+ **page/index.ejs**
113
+
114
+ ```ejs
115
+ <% extend('layout/default') %>
116
+
117
+ <% set('title','Page Title') %>
118
+
119
+ <% block('resources',(parent)=>{ %>
120
+ <% parent() %>
121
+ <script defer src="/dist/framework.js"></script>
122
+ <% }) %>
123
+
124
+ <% block('content',()=>{ %>
125
+
126
+ <% each('posts',(post)=>{ %>
127
+ <article>
128
+ <h3><%-post.title%></h3>
129
+ <div><%=post.content%></div>
130
+ </article>
131
+ <% }) %>
132
+
133
+ <% }) %>
134
+ ```
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@kosatyi/ejs",
3
3
  "description": "EJS Templates",
4
4
  "homepage": "https://github.com/kosatyi/ejs",
5
- "version": "0.0.1-alpha.2",
5
+ "version": "0.0.4",
6
6
  "main": "dist/ejs.cjs",
7
7
  "module": "dist/ejs.mjs",
8
8
  "browser": "dist/ejs.js",
@@ -12,11 +12,9 @@
12
12
  "chokidar": "^3.5.3"
13
13
  },
14
14
  "files": [
15
- "dist",
16
- "build.js"
15
+ "dist"
17
16
  ],
18
17
  "scripts": {
19
- "gulp": "cd test && node build",
20
18
  "build": "rollup -c",
21
19
  "watch": "rollup -c -w",
22
20
  "version": "npm run build",