binja 0.4.5 → 0.5.0
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/README.md +26 -2
- package/dist/cli.js +254 -2
- package/dist/filters/index.d.ts +9 -0
- package/dist/filters/index.d.ts.map +1 -1
- package/dist/index.js +853 -83
- package/dist/parser/index.d.ts +10 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/nodes.d.ts +49 -2
- package/dist/parser/nodes.d.ts.map +1 -1
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +11 -0
- package/dist/runtime/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
| Django DTL Compatible | ✅ 100% | ❌ Partial |
|
|
31
31
|
| Jinja2 Compatible | ✅ Full | ⚠️ Limited |
|
|
32
32
|
| Template Inheritance | ✅ | ⚠️ |
|
|
33
|
-
|
|
|
33
|
+
| 80+ Built-in Filters | ✅ | ❌ |
|
|
34
34
|
| 28 Built-in Tests | ✅ | ❌ |
|
|
35
35
|
| Debug Panel | ✅ | ❌ |
|
|
36
36
|
| CLI Tool | ✅ | ⚠️ |
|
|
@@ -260,6 +260,8 @@ app.get('/user/:id', ({ params }) => templates.user({ id: params.id }))
|
|
|
260
260
|
| `ljust` | `{{ "hi"\|ljust:10 }}` | `hi ` |
|
|
261
261
|
| `rjust` | `{{ "hi"\|rjust:10 }}` | ` hi` |
|
|
262
262
|
| `cut` | `{{ "hello"\|cut:"l" }}` | `heo` |
|
|
263
|
+
| `addslashes` | `{{ "it's"\|addslashes }}` | `it\'s` |
|
|
264
|
+
| `stringformat` | `{{ 5\|stringformat:"03d" }}` | `005` |
|
|
263
265
|
|
|
264
266
|
### Number Filters
|
|
265
267
|
|
|
@@ -270,6 +272,8 @@ app.get('/user/:id', ({ params }) => templates.user({ id: params.id }))
|
|
|
270
272
|
| `floatformat` | `{{ 3.14159\|floatformat:2 }}` | `3.14` |
|
|
271
273
|
| `filesizeformat` | `{{ 1048576\|filesizeformat }}` | `1.0 MB` |
|
|
272
274
|
| `divisibleby` | `{{ 10\|divisibleby:2 }}` | `true` |
|
|
275
|
+
| `get_digit` | `{{ 12345\|get_digit:2 }}` | `4` |
|
|
276
|
+
| `widthratio` | `{% widthratio value max 100 %}` | Calculated ratio |
|
|
273
277
|
|
|
274
278
|
### List Filters
|
|
275
279
|
|
|
@@ -324,7 +328,12 @@ Common timezone values: `UTC`, `Europe/London`, `Europe/Rome`, `Europe/Paris`, `
|
|
|
324
328
|
| `escape` | `{{ html\|escape }}` | HTML escape |
|
|
325
329
|
| `safe` | `{{ html\|safe }}` | Mark as safe (no escape) |
|
|
326
330
|
| `urlencode` | `{{ url\|urlencode }}` | URL encode |
|
|
331
|
+
| `iriencode` | `{{ url\|iriencode }}` | IRI encode (unicode-safe) |
|
|
327
332
|
| `json` | `{{ data\|json }}` | JSON stringify |
|
|
333
|
+
| `json_script` | `{{ data\|json_script:"id" }}` | Safe JSON in script tag |
|
|
334
|
+
| `truncatechars_html` | `{{ html\|truncatechars_html:10 }}` | Truncate preserving HTML |
|
|
335
|
+
| `truncatewords_html` | `{{ html\|truncatewords_html:5 }}` | Truncate words in HTML |
|
|
336
|
+
| `urlizetrunc` | `{{ text\|urlizetrunc:15 }}` | URLs with truncated display |
|
|
328
337
|
|
|
329
338
|
### Default Values
|
|
330
339
|
|
|
@@ -389,13 +398,28 @@ binja is designed to be a drop-in replacement for Django templates:
|
|
|
389
398
|
{% url 'home' %}
|
|
390
399
|
{% static 'css/style.css' %}
|
|
391
400
|
|
|
392
|
-
{% csrf_token %}
|
|
401
|
+
{% csrf_token %}
|
|
393
402
|
|
|
394
403
|
{{ forloop.counter }}
|
|
395
404
|
{{ forloop.first }}
|
|
396
405
|
{{ forloop.parentloop.counter }}
|
|
397
406
|
```
|
|
398
407
|
|
|
408
|
+
### Django-Specific Tags
|
|
409
|
+
|
|
410
|
+
| Tag | Description | Example |
|
|
411
|
+
|-----|-------------|---------|
|
|
412
|
+
| `{% csrf_token %}` | CSRF token input | `<input type="hidden" ...>` |
|
|
413
|
+
| `{% cycle %}` | Cycle through values | `{% cycle 'odd' 'even' %}` |
|
|
414
|
+
| `{% firstof %}` | First truthy value | `{% firstof var1 var2 "default" %}` |
|
|
415
|
+
| `{% ifchanged %}` | Output on change | `{% ifchanged %}{{ item }}{% endifchanged %}` |
|
|
416
|
+
| `{% ifequal %}` | Equality check | `{% ifequal a b %}equal{% endifequal %}` |
|
|
417
|
+
| `{% lorem %}` | Lorem ipsum text | `{% lorem 3 p %}` |
|
|
418
|
+
| `{% regroup %}` | Group list by attr | `{% regroup list by attr as grouped %}` |
|
|
419
|
+
| `{% templatetag %}` | Literal tag chars | `{% templatetag openblock %}` → `{%` |
|
|
420
|
+
| `{% widthratio %}` | Calculate ratio | `{% widthratio value max 100 %}` |
|
|
421
|
+
| `{% debug %}` | Debug context | Outputs context as JSON |
|
|
422
|
+
|
|
399
423
|
---
|
|
400
424
|
|
|
401
425
|
## Configuration
|
package/dist/cli.js
CHANGED
|
@@ -624,6 +624,28 @@ class Parser {
|
|
|
624
624
|
case "autoescape":
|
|
625
625
|
case "verbatim":
|
|
626
626
|
return this.parseSimpleBlock(start, tagName.value);
|
|
627
|
+
case "cycle":
|
|
628
|
+
return this.parseCycle(start);
|
|
629
|
+
case "firstof":
|
|
630
|
+
return this.parseFirstof(start);
|
|
631
|
+
case "ifchanged":
|
|
632
|
+
return this.parseIfchanged(start);
|
|
633
|
+
case "regroup":
|
|
634
|
+
return this.parseRegroup(start);
|
|
635
|
+
case "widthratio":
|
|
636
|
+
return this.parseWidthratio(start);
|
|
637
|
+
case "lorem":
|
|
638
|
+
return this.parseLorem(start);
|
|
639
|
+
case "csrf_token":
|
|
640
|
+
return this.parseCsrfToken(start);
|
|
641
|
+
case "debug":
|
|
642
|
+
return this.parseDebug(start);
|
|
643
|
+
case "templatetag":
|
|
644
|
+
return this.parseTemplatetag(start);
|
|
645
|
+
case "ifequal":
|
|
646
|
+
return this.parseIfequal(start, false);
|
|
647
|
+
case "ifnotequal":
|
|
648
|
+
return this.parseIfequal(start, true);
|
|
627
649
|
default:
|
|
628
650
|
this.skipToBlockEnd();
|
|
629
651
|
return null;
|
|
@@ -927,7 +949,7 @@ class Parser {
|
|
|
927
949
|
column: start.column
|
|
928
950
|
};
|
|
929
951
|
}
|
|
930
|
-
parseComment(
|
|
952
|
+
parseComment(_start) {
|
|
931
953
|
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
932
954
|
while (!this.isAtEnd()) {
|
|
933
955
|
if (this.checkBlockTag("endcomment"))
|
|
@@ -937,7 +959,7 @@ class Parser {
|
|
|
937
959
|
this.expectBlockTag("endcomment");
|
|
938
960
|
return null;
|
|
939
961
|
}
|
|
940
|
-
parseSimpleBlock(
|
|
962
|
+
parseSimpleBlock(_start, tagName) {
|
|
941
963
|
this.skipToBlockEnd();
|
|
942
964
|
const endTag = `end${tagName}`;
|
|
943
965
|
while (!this.isAtEnd()) {
|
|
@@ -952,6 +974,236 @@ class Parser {
|
|
|
952
974
|
}
|
|
953
975
|
return null;
|
|
954
976
|
}
|
|
977
|
+
parseCycle(start) {
|
|
978
|
+
const values = [];
|
|
979
|
+
let asVar = null;
|
|
980
|
+
let silent = false;
|
|
981
|
+
while (!this.check("BLOCK_END" /* BLOCK_END */)) {
|
|
982
|
+
if (this.check("NAME" /* NAME */) && this.peek().value === "as") {
|
|
983
|
+
this.advance();
|
|
984
|
+
asVar = this.expect("NAME" /* NAME */).value;
|
|
985
|
+
if (this.check("NAME" /* NAME */) && this.peek().value === "silent") {
|
|
986
|
+
this.advance();
|
|
987
|
+
silent = true;
|
|
988
|
+
}
|
|
989
|
+
break;
|
|
990
|
+
}
|
|
991
|
+
values.push(this.parseExpression());
|
|
992
|
+
}
|
|
993
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
994
|
+
return {
|
|
995
|
+
type: "Cycle",
|
|
996
|
+
values,
|
|
997
|
+
asVar,
|
|
998
|
+
silent,
|
|
999
|
+
line: start.line,
|
|
1000
|
+
column: start.column
|
|
1001
|
+
};
|
|
1002
|
+
}
|
|
1003
|
+
parseFirstof(start) {
|
|
1004
|
+
const values = [];
|
|
1005
|
+
let fallback = null;
|
|
1006
|
+
let asVar = null;
|
|
1007
|
+
while (!this.check("BLOCK_END" /* BLOCK_END */)) {
|
|
1008
|
+
if (this.check("NAME" /* NAME */) && this.peek().value === "as") {
|
|
1009
|
+
this.advance();
|
|
1010
|
+
asVar = this.expect("NAME" /* NAME */).value;
|
|
1011
|
+
break;
|
|
1012
|
+
}
|
|
1013
|
+
values.push(this.parseExpression());
|
|
1014
|
+
}
|
|
1015
|
+
if (values.length > 0) {
|
|
1016
|
+
const last = values[values.length - 1];
|
|
1017
|
+
if (last.type === "Literal" && typeof last.value === "string") {
|
|
1018
|
+
fallback = values.pop();
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1022
|
+
return {
|
|
1023
|
+
type: "Firstof",
|
|
1024
|
+
values,
|
|
1025
|
+
fallback,
|
|
1026
|
+
asVar,
|
|
1027
|
+
line: start.line,
|
|
1028
|
+
column: start.column
|
|
1029
|
+
};
|
|
1030
|
+
}
|
|
1031
|
+
parseIfchanged(start) {
|
|
1032
|
+
const values = [];
|
|
1033
|
+
while (!this.check("BLOCK_END" /* BLOCK_END */)) {
|
|
1034
|
+
values.push(this.parseExpression());
|
|
1035
|
+
}
|
|
1036
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1037
|
+
const body = [];
|
|
1038
|
+
let else_ = [];
|
|
1039
|
+
while (!this.isAtEnd()) {
|
|
1040
|
+
if (this.checkBlockTag("else") || this.checkBlockTag("endifchanged"))
|
|
1041
|
+
break;
|
|
1042
|
+
const node = this.parseStatement();
|
|
1043
|
+
if (node)
|
|
1044
|
+
body.push(node);
|
|
1045
|
+
}
|
|
1046
|
+
if (this.checkBlockTag("else")) {
|
|
1047
|
+
this.advance();
|
|
1048
|
+
this.advance();
|
|
1049
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1050
|
+
while (!this.isAtEnd()) {
|
|
1051
|
+
if (this.checkBlockTag("endifchanged"))
|
|
1052
|
+
break;
|
|
1053
|
+
const node = this.parseStatement();
|
|
1054
|
+
if (node)
|
|
1055
|
+
else_.push(node);
|
|
1056
|
+
}
|
|
1057
|
+
}
|
|
1058
|
+
this.expectBlockTag("endifchanged");
|
|
1059
|
+
return {
|
|
1060
|
+
type: "Ifchanged",
|
|
1061
|
+
values,
|
|
1062
|
+
body,
|
|
1063
|
+
else_,
|
|
1064
|
+
line: start.line,
|
|
1065
|
+
column: start.column
|
|
1066
|
+
};
|
|
1067
|
+
}
|
|
1068
|
+
parseRegroup(start) {
|
|
1069
|
+
const target = this.parseExpression();
|
|
1070
|
+
this.expectName("by");
|
|
1071
|
+
const key = this.expect("NAME" /* NAME */).value;
|
|
1072
|
+
this.expectName("as");
|
|
1073
|
+
const asVar = this.expect("NAME" /* NAME */).value;
|
|
1074
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1075
|
+
return {
|
|
1076
|
+
type: "Regroup",
|
|
1077
|
+
target,
|
|
1078
|
+
key,
|
|
1079
|
+
asVar,
|
|
1080
|
+
line: start.line,
|
|
1081
|
+
column: start.column
|
|
1082
|
+
};
|
|
1083
|
+
}
|
|
1084
|
+
parseWidthratio(start) {
|
|
1085
|
+
const value = this.parseExpression();
|
|
1086
|
+
const maxValue = this.parseExpression();
|
|
1087
|
+
const maxWidth = this.parseExpression();
|
|
1088
|
+
let asVar = null;
|
|
1089
|
+
if (this.check("NAME" /* NAME */) && this.peek().value === "as") {
|
|
1090
|
+
this.advance();
|
|
1091
|
+
asVar = this.expect("NAME" /* NAME */).value;
|
|
1092
|
+
}
|
|
1093
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1094
|
+
return {
|
|
1095
|
+
type: "Widthratio",
|
|
1096
|
+
value,
|
|
1097
|
+
maxValue,
|
|
1098
|
+
maxWidth,
|
|
1099
|
+
asVar,
|
|
1100
|
+
line: start.line,
|
|
1101
|
+
column: start.column
|
|
1102
|
+
};
|
|
1103
|
+
}
|
|
1104
|
+
parseLorem(start) {
|
|
1105
|
+
let count = null;
|
|
1106
|
+
let method = "p";
|
|
1107
|
+
let random = false;
|
|
1108
|
+
if (this.check("NUMBER" /* NUMBER */)) {
|
|
1109
|
+
count = {
|
|
1110
|
+
type: "Literal",
|
|
1111
|
+
value: parseInt(this.advance().value, 10),
|
|
1112
|
+
line: start.line,
|
|
1113
|
+
column: start.column
|
|
1114
|
+
};
|
|
1115
|
+
}
|
|
1116
|
+
if (this.check("NAME" /* NAME */)) {
|
|
1117
|
+
const m = this.peek().value.toLowerCase();
|
|
1118
|
+
if (m === "w" || m === "p" || m === "b") {
|
|
1119
|
+
method = m;
|
|
1120
|
+
this.advance();
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
if (this.check("NAME" /* NAME */) && this.peek().value === "random") {
|
|
1124
|
+
random = true;
|
|
1125
|
+
this.advance();
|
|
1126
|
+
}
|
|
1127
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1128
|
+
return {
|
|
1129
|
+
type: "Lorem",
|
|
1130
|
+
count,
|
|
1131
|
+
method,
|
|
1132
|
+
random,
|
|
1133
|
+
line: start.line,
|
|
1134
|
+
column: start.column
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
parseCsrfToken(start) {
|
|
1138
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1139
|
+
return {
|
|
1140
|
+
type: "CsrfToken",
|
|
1141
|
+
line: start.line,
|
|
1142
|
+
column: start.column
|
|
1143
|
+
};
|
|
1144
|
+
}
|
|
1145
|
+
parseDebug(start) {
|
|
1146
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1147
|
+
return {
|
|
1148
|
+
type: "Debug",
|
|
1149
|
+
line: start.line,
|
|
1150
|
+
column: start.column
|
|
1151
|
+
};
|
|
1152
|
+
}
|
|
1153
|
+
parseTemplatetag(start) {
|
|
1154
|
+
const tagType = this.expect("NAME" /* NAME */).value;
|
|
1155
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1156
|
+
return {
|
|
1157
|
+
type: "Templatetag",
|
|
1158
|
+
tagType,
|
|
1159
|
+
line: start.line,
|
|
1160
|
+
column: start.column
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
parseIfequal(start, negated) {
|
|
1164
|
+
const left = this.parseExpression();
|
|
1165
|
+
const right = this.parseExpression();
|
|
1166
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1167
|
+
const test = {
|
|
1168
|
+
type: "Compare",
|
|
1169
|
+
left,
|
|
1170
|
+
ops: [{ operator: negated ? "!=" : "==", right }],
|
|
1171
|
+
line: start.line,
|
|
1172
|
+
column: start.column
|
|
1173
|
+
};
|
|
1174
|
+
const body = [];
|
|
1175
|
+
let else_ = [];
|
|
1176
|
+
const endTag = negated ? "endifnotequal" : "endifequal";
|
|
1177
|
+
while (!this.isAtEnd()) {
|
|
1178
|
+
if (this.checkBlockTag("else") || this.checkBlockTag(endTag))
|
|
1179
|
+
break;
|
|
1180
|
+
const node = this.parseStatement();
|
|
1181
|
+
if (node)
|
|
1182
|
+
body.push(node);
|
|
1183
|
+
}
|
|
1184
|
+
if (this.checkBlockTag("else")) {
|
|
1185
|
+
this.advance();
|
|
1186
|
+
this.advance();
|
|
1187
|
+
this.expect("BLOCK_END" /* BLOCK_END */);
|
|
1188
|
+
while (!this.isAtEnd()) {
|
|
1189
|
+
if (this.checkBlockTag(endTag))
|
|
1190
|
+
break;
|
|
1191
|
+
const node = this.parseStatement();
|
|
1192
|
+
if (node)
|
|
1193
|
+
else_.push(node);
|
|
1194
|
+
}
|
|
1195
|
+
}
|
|
1196
|
+
this.expectBlockTag(endTag);
|
|
1197
|
+
return {
|
|
1198
|
+
type: "If",
|
|
1199
|
+
test,
|
|
1200
|
+
body,
|
|
1201
|
+
elifs: [],
|
|
1202
|
+
else_,
|
|
1203
|
+
line: start.line,
|
|
1204
|
+
column: start.column
|
|
1205
|
+
};
|
|
1206
|
+
}
|
|
955
1207
|
parseExpression() {
|
|
956
1208
|
return this.parseConditional();
|
|
957
1209
|
}
|
package/dist/filters/index.d.ts
CHANGED
|
@@ -79,5 +79,14 @@ export declare const forceescape: FilterFunction;
|
|
|
79
79
|
export declare const phone2numeric: FilterFunction;
|
|
80
80
|
export declare const linenumbers: FilterFunction;
|
|
81
81
|
export declare const unordered_list: FilterFunction;
|
|
82
|
+
export declare const addslashes: FilterFunction;
|
|
83
|
+
export declare const get_digit: FilterFunction;
|
|
84
|
+
export declare const iriencode: FilterFunction;
|
|
85
|
+
export declare const json_script: FilterFunction;
|
|
86
|
+
export declare const safeseq: FilterFunction;
|
|
87
|
+
export declare const stringformat: FilterFunction;
|
|
88
|
+
export declare const truncatechars_html: FilterFunction;
|
|
89
|
+
export declare const truncatewords_html: FilterFunction;
|
|
90
|
+
export declare const urlizetrunc: FilterFunction;
|
|
82
91
|
export declare const builtinFilters: Record<string, FilterFunction>;
|
|
83
92
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/filters/index.ts"],"names":[],"mappings":"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"}
|