miki-template 2.3.1 → 2.3.2
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.
- package/package.json +45 -1
- package/.eslintrc.json +0 -16
- package/.github/release-notes/v1.3.1.md +0 -55
- package/.github/release-notes/v1.3.3.md +0 -77
- package/.github/release-notes/v1.3.7.md +0 -20
- package/.github/workflows/ci.yml +0 -42
- package/.github/workflows/docs.yml +0 -107
- package/.github/workflows/release.yml +0 -107
- package/AGENT.md +0 -71
- package/API_REFERENCE.md +0 -341
- package/CHANGELOG.md +0 -173
- package/CODE_OF_CONDUCT.md +0 -14
- package/CONTRIBUTING.md +0 -27
- package/ROADMAP.md +0 -40
- package/assets/banner.png +0 -0
- package/assets/logo.png +0 -0
- package/benchmarks/ejs-results.json +0 -17
- package/benchmarks/ejs.js +0 -38
- package/benchmarks/handlebars-results.json +0 -17
- package/benchmarks/handlebars.js +0 -45
- package/benchmarks/miki-results.json +0 -17
- package/benchmarks/miki.js +0 -39
- package/benchmarks/pug-results.json +0 -17
- package/benchmarks/pug.js +0 -38
- package/benchmarks/report.json +0 -17
- package/benchmarks/run.js +0 -81
- package/benchmarks/stress.mjs +0 -647
- package/benchmarks/templates/large.dtpl +0 -7
- package/benchmarks/templates/medium.dtpl +0 -3
- package/benchmarks/templates/small.dtpl +0 -7
- package/context/component.md +0 -109
- package/context/prd.md +0 -131
- package/context/project-structure.md +0 -33
- package/dir/base.html +0 -23
- package/dir/cmpnt.html +0 -11
- package/dir/footer.html +0 -3
- package/dir/home.html +0 -80
- package/dir/index.html +0 -80
- package/dir/navbar.html +0 -9
- package/docs/api/async-render.md +0 -170
- package/docs/api/cache.md +0 -174
- package/docs/api/compile.md +0 -256
- package/docs/api/context-processors.md +0 -154
- package/docs/api/filters.md +0 -437
- package/docs/api/finder.md +0 -188
- package/docs/api/helpers.md +0 -106
- package/docs/api/i18n.md +0 -314
- package/docs/api/index.md +0 -108
- package/docs/api/libraries.md +0 -414
- package/docs/api/render-partial.md +0 -162
- package/docs/api/render.md +0 -184
- package/docs/api/security.md +0 -290
- package/docs/api/setup-express.md +0 -152
- package/docs/api/tags.md +0 -268
- package/docs/assets/banner.png +0 -0
- package/docs/assets/logo.png +0 -0
- package/docs/filter.md +0 -0
- package/docs/guide/advanced-usage.md +0 -794
- package/docs/guide/async-rendering.md +0 -616
- package/docs/guide/context-processors.md +0 -514
- package/docs/guide/custom-filters.md +0 -622
- package/docs/guide/custom-tags.md +0 -542
- package/docs/guide/filters.md +0 -1314
- package/docs/guide/getting-started.md +0 -204
- package/docs/guide/installation.md +0 -190
- package/docs/guide/partial-templates.md +0 -734
- package/docs/guide/quick-start.md +0 -444
- package/docs/guide/security.md +0 -690
- package/docs/guide/tags.md +0 -1566
- package/docs/guide/template-discovery.md +0 -340
- package/docs/guide/template-inheritance.md +0 -546
- package/docs/guide/what-is-miki-template.md +0 -28
- package/docs/guide/why-miki-template.md +0 -75
- package/docs/index.md +0 -86
- package/docs/integrations/elysia.md +0 -80
- package/docs/integrations/express.md +0 -219
- package/docs/integrations/fastify.md +0 -79
- package/docs/integrations/hono.md +0 -80
- package/docs/integrations/index.md +0 -68
- package/docs/integrations/koa.md +0 -90
- package/docs/integrations/nestjs.md +0 -80
- package/docs/integrations/tsed.md +0 -83
- package/docs/performance.md +0 -74
- package/eslint.config.mjs +0 -42
- package/ex.mjs +0 -36
- package/live-test/integrations/elysia-example.js +0 -16
- package/live-test/integrations/express-example.js +0 -24
- package/live-test/integrations/fastify-example.js +0 -20
- package/live-test/integrations/hono-example.js +0 -16
- package/live-test/integrations/koa-example.js +0 -30
- package/live-test/integrations/nestjs-example.js +0 -25
- package/live-test/integrations/smoke-test.js +0 -166
- package/live-test/integrations/tsed-example.js +0 -23
- package/live-test/package-lock.json +0 -1150
- package/live-test/package.json +0 -13
- package/live-test/packages/product/templates/product/detail.html +0 -7
- package/live-test/server.js +0 -38
- package/live-test/templates/app_templates/detail.html +0 -6
- package/live-test/views/base.html +0 -8
- package/live-test/views/child.html +0 -7
- package/live-test/views/home.html +0 -17
- package/live-test/views/index.html +0 -1
- package/miki-template-extension/.github/workflows/ci.yml +0 -116
- package/miki-template-extension/.vscodeignore +0 -7
- package/miki-template-extension/CHANGELOG.md +0 -99
- package/miki-template-extension/LICENSE +0 -21
- package/miki-template-extension/README.md +0 -273
- package/miki-template-extension/extension.js +0 -1013
- package/miki-template-extension/icon.png +0 -0
- package/miki-template-extension/icon.svg +0 -10
- package/miki-template-extension/miki-template-1.7.1.vsix +0 -0
- package/miki-template-extension/package.json +0 -280
- package/miki-template-extension/snippets/miki-template.json +0 -717
- package/miki-template-extension/syntaxes/language-configuration.json +0 -114
- package/miki-template-extension/syntaxes/miki-template.tmLanguage.json +0 -355
- package/miki-template-extension/tests/grammar-tests.json +0 -162
- package/miki-template-extension/tests/run-grammar-tests.js +0 -82
- package/mkdocs.yml +0 -195
- package/overrides/main.html +0 -26
- package/requirements-docs.txt +0 -2
- package/sample-app/package-lock.json +0 -901
- package/sample-app/package.json +0 -9
- package/sample-app/server.js +0 -14
- package/sample-app/views/index.html +0 -1
- package/scripts/build-vsix.js +0 -129
- package/scripts/build-vsix.ps1 +0 -15
- package/snippets/miki-template.json +0 -177
- package/src/asyncRender.js +0 -21
- package/src/types.d.ts +0 -107
- package/syntaxes/language-configuration.json +0 -26
- package/syntaxes/miki-template.tmLanguage.json +0 -146
- package/tests/asyncRender.test.js +0 -17
- package/tests/base.html +0 -6
- package/tests/child.html +0 -3
- package/tests/context_processors.test.js +0 -13
- package/tests/esm.test.mjs +0 -61
- package/tests/filters.test.js +0 -263
- package/tests/finder-appdirs.test.js +0 -19
- package/tests/finder.test.js +0 -17
- package/tests/fixtures/views/nested/index.html +0 -1
- package/tests/fixtures/views/partial.html +0 -1
- package/tests/fixtures/views/sub/deepfile.html +0 -1
- package/tests/fixtures/views-appdirs/product/site/detail.html +0 -1
- package/tests/include_security.test.js +0 -9
- package/tests/integration/README.md +0 -32
- package/tests/integration/features.test.cjs +0 -1681
- package/tests/integration/features.test.mjs +0 -1697
- package/tests/integration/finder.esm.test.mjs +0 -13
- package/tests/integration/partial-render.test.cjs +0 -13
- package/tests/integration/templates/base.miki +0 -6
- package/tests/integration/templates/child.miki +0 -6
- package/tests/integration/templates/index.html +0 -17
- package/tests/lexer.test.js +0 -45
- package/tests/parser.test.js +0 -57
- package/tests/partial.html +0 -1
- package/tests/partialdef.test.js +0 -79
- package/tests/production_checks.js +0 -57
- package/tests/security.test.js +0 -28
- package/tests/tags.test.js +0 -233
package/docs/api/tags.md
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
# Tags API
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## registerTag
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Register a custom tag callable from templates as `{% tag_name content %}...{% endtag_name %}`.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
=== "CommonJS"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```javascript
|
|
18
|
-
|
|
19
|
-
const { registerTag } = require('miki-template');
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
registerTag('hello', (tagContent, parser) => {
|
|
24
|
-
|
|
25
|
-
return {
|
|
26
|
-
|
|
27
|
-
render: (context) => 'Hello World!'
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
=== "ES Modules"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
```javascript
|
|
42
|
-
|
|
43
|
-
import { registerTag } from 'miki-template';
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
registerTag('hello', (tagContent, parser) => {
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
|
|
51
|
-
render: (context) => 'Hello World!'
|
|
52
|
-
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
### Tag Parser Signature
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
- `tagContent` — The full text after the tag name, as a string.
|
|
66
|
-
|
|
67
|
-
- `parser` — The Parser instance, providing `parser.parse()`, `parser.peek()`, `parser.skipTag()`.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
Returns a **Node** object with a `render(context)` method. The render method receives the `Context` object and returns a string.
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
## Built-in Tags
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### Control Flow
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
| Tag | Description |
|
|
84
|
-
|
|
85
|
-
|-----|-------------|
|
|
86
|
-
|
|
87
|
-
| `if / elif / else / endif` | Conditional blocks |
|
|
88
|
-
|
|
89
|
-
| `for / empty / endfor` | Loop over arrays/objects |
|
|
90
|
-
|
|
91
|
-
| `with / endwith` | Create a scoped context |
|
|
92
|
-
|
|
93
|
-
| `cycle` | Cycle through values |
|
|
94
|
-
|
|
95
|
-
| `firstof` | Output first non-empty value |
|
|
96
|
-
|
|
97
|
-
| `ifchanged / endifchanged` | Only output if value changed |
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
### Variable Assignment
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
| Tag | Description |
|
|
106
|
-
|
|
107
|
-
|-----|-------------|
|
|
108
|
-
|
|
109
|
-
| `set var = expr` | Inline variable assignment |
|
|
110
|
-
|
|
111
|
-
| `set var %}...{% endset` | Capture block output into a variable |
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
### Date and Time
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
| Tag | Description |
|
|
120
|
-
|
|
121
|
-
|-----|-------------|
|
|
122
|
-
|
|
123
|
-
| `now "Y-m-d H:i:s"` | Output current date/time |
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
### Utility
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
| Tag | Description |
|
|
132
|
-
|
|
133
|
-
|-----|-------------|
|
|
134
|
-
|
|
135
|
-
| `static "path"` | Resolve static asset path |
|
|
136
|
-
|
|
137
|
-
| `url 'route.name' arg1 arg2` | Generate URL by route name |
|
|
138
|
-
|
|
139
|
-
| `regroup list by attr as name` | Regroup a list by an attribute |
|
|
140
|
-
|
|
141
|
-
| `spaceless / endspaceless` | Remove whitespace between HTML tags |
|
|
142
|
-
|
|
143
|
-
| `widthratio value max max_width` | Calculate CSS width ratio |
|
|
144
|
-
|
|
145
|
-
| `debug` | Output debugging context information |
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
### Security
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
| Tag | Description |
|
|
154
|
-
|
|
155
|
-
|-----|-------------|
|
|
156
|
-
|
|
157
|
-
| `csrf_token` | Output CSRF hidden input |
|
|
158
|
-
|
|
159
|
-
| `csp_nonce_attr` | Output `nonce` attribute for CSP |
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
### Comments and Raw Output
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
| Tag | Description |
|
|
168
|
-
|
|
169
|
-
|-----|-------------|
|
|
170
|
-
|
|
171
|
-
| `comment / endcomment` | Comment out content |
|
|
172
|
-
|
|
173
|
-
| `verbatim / endverbatim` | Disable tag parsing within |
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
### Autoescape
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| Tag | Description |
|
|
182
|
-
|
|
183
|
-
|-----|-------------|
|
|
184
|
-
|
|
185
|
-
| `autoescape on / off / endautoescape` | Toggle HTML escaping |
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
### Library Loading
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
| Tag | Description |
|
|
194
|
-
|
|
195
|
-
|-----|-------------|
|
|
196
|
-
|
|
197
|
-
| `load library_name` | Load a registered library |
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
### Template Tags
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
| Tag | Description |
|
|
206
|
-
|
|
207
|
-
|-----|-------------|
|
|
208
|
-
|
|
209
|
-
| `templatetag token` | Output a template syntax character (e.g. `{% templatetag openpercentblock %}`) |
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
### Inheritance
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
| Tag | Description |
|
|
218
|
-
|
|
219
|
-
|-----|-------------|
|
|
220
|
-
|
|
221
|
-
| `extends "parent.html"` | Inherit from a parent template |
|
|
222
|
-
|
|
223
|
-
| `block name / endblock` | Define/overriding inheritable block |
|
|
224
|
-
|
|
225
|
-
| `include "file.html"` | Include another template |
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
### Partials
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
| Tag | Description |
|
|
234
|
-
|
|
235
|
-
|-----|-------------|
|
|
236
|
-
|
|
237
|
-
| `partialdef name / endpartialdef` | Define a named partial |
|
|
238
|
-
|
|
239
|
-
| `partial name with k=v` | Render a defined partial |
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
### i18n
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
| Tag | Description |
|
|
248
|
-
|
|
249
|
-
|-----|-------------|
|
|
250
|
-
|
|
251
|
-
| `trans "key"` | Translate a string |
|
|
252
|
-
|
|
253
|
-
| `blocktrans / endblocktrans` | Translate with variables |
|
|
254
|
-
|
|
255
|
-
| `language "xx" / endlanguage` | Switch language for a block |
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
## Next Steps
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
- [Tags Guide](../guide/tags.md)
|
|
264
|
-
|
|
265
|
-
- [Custom Tags](../guide/custom-tags.md)
|
|
266
|
-
|
|
267
|
-
- [API Reference](../index.md)
|
|
268
|
-
|
package/docs/assets/banner.png
DELETED
|
Binary file
|
package/docs/assets/logo.png
DELETED
|
Binary file
|
package/docs/filter.md
DELETED
|
File without changes
|