@nakedcreativity/cee-ms-node 1.0.122 → 2.0.0-beta.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 +81 -0
- package/lib/draft.d.ts +20 -0
- package/lib/draft.js +109 -0
- package/lib/draft.js.map +1 -0
- package/lib/filters/active.js +1 -2
- package/lib/filters/active.js.map +1 -1
- package/lib/filters/index.js +5 -1
- package/lib/filters/index.js.map +1 -1
- package/lib/filters/slugify.js +3 -4
- package/lib/filters/slugify.js.map +1 -1
- package/lib/index.d.ts +51 -10
- package/lib/index.js +262 -323
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +55 -16
- package/lib/interfaces.js +1 -1
- package/lib/interfaces.js.map +1 -1
- package/lib/preview-token.d.ts +21 -0
- package/lib/preview-token.js +37 -0
- package/lib/preview-token.js.map +1 -0
- package/lib/state.d.ts +17 -0
- package/lib/state.js +44 -0
- package/lib/state.js.map +1 -0
- package/lib/storage.d.ts +6 -0
- package/lib/storage.js +24 -0
- package/lib/storage.js.map +1 -0
- package/lib/tags/blog.d.ts +5 -2
- package/lib/tags/blog.js +25 -41
- package/lib/tags/blog.js.map +1 -1
- package/lib/tags/breadcrumb.d.ts +2 -1
- package/lib/tags/breadcrumb.js +13 -15
- package/lib/tags/breadcrumb.js.map +1 -1
- package/lib/tags/image.d.ts +2 -0
- package/lib/tags/image.js +25 -68
- package/lib/tags/image.js.map +1 -1
- package/lib/tags/index.js +5 -1
- package/lib/tags/index.js.map +1 -1
- package/lib/tags/module.d.ts +1 -0
- package/lib/tags/module.js +6 -6
- package/lib/tags/module.js.map +1 -1
- package/lib/tags/navigation.d.ts +5 -2
- package/lib/tags/navigation.js +14 -217
- package/lib/tags/navigation.js.map +1 -1
- package/lib/tags/page.d.ts +5 -2
- package/lib/tags/page.js +9 -21
- package/lib/tags/page.js.map +1 -1
- package/lib/tags/region.d.ts +1 -0
- package/lib/tags/region.js +6 -7
- package/lib/tags/region.js.map +1 -1
- package/package.json +25 -26
- package/lib/test-tags.d.ts +0 -3
- package/lib/test-tags.js +0 -125
- package/lib/test-tags.js.map +0 -1
- package/lib/test.d.ts +0 -1
- package/lib/test.js +0 -52
- package/lib/test.js.map +0 -1
package/lib/tags/image.js
CHANGED
|
@@ -1,87 +1,44 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.registerImageTag = registerImageTag;
|
|
4
|
+
exports.registerImageUrlTag = registerImageUrlTag;
|
|
5
|
+
/** Picks the `variant` URL of an image value, falling back to its `src`. */
|
|
6
|
+
function imageSrc(image, variant) {
|
|
7
|
+
if (variant && image.variants && image.variants[variant]) {
|
|
8
|
+
return image.variants[variant];
|
|
9
|
+
}
|
|
10
|
+
return image.src;
|
|
11
|
+
}
|
|
12
|
+
/** `{% image <value> [variant] %}` renders an `<img>`. */
|
|
4
13
|
function registerImageTag(engine) {
|
|
5
14
|
engine.registerTag('image', {
|
|
6
|
-
|
|
15
|
+
// A regular function, not an arrow: an arrow kept `args` on the module, so every `image` tag in a site
|
|
16
|
+
// used the arguments of whichever one was parsed last.
|
|
17
|
+
parse: function (tagToken) {
|
|
7
18
|
this.args = tagToken.args.split(' ');
|
|
8
19
|
},
|
|
9
|
-
render: (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (this.args[1] && image.variants && image.variants[this.args[1]]) {
|
|
16
|
-
var src = image.variants[this.args[1]];
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
var src = image.src;
|
|
20
|
-
}
|
|
21
|
-
var alt = image.alt || '';
|
|
22
|
-
return Promise.resolve('<img src="' + src + '" alt="' + alt + '"/>');
|
|
23
|
-
});
|
|
20
|
+
render: async function (context) {
|
|
21
|
+
const image = await engine.evalValue(this.args[0], context);
|
|
22
|
+
if (!image) {
|
|
23
|
+
return '';
|
|
24
|
+
}
|
|
25
|
+
return '<img src="' + imageSrc(image, this.args[1]) + '" alt="' + (image.alt || '') + '"/>';
|
|
24
26
|
},
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
|
-
|
|
29
|
+
/** `{% imageurl <value> [variant] %}` outputs an image URL. */
|
|
28
30
|
function registerImageUrlTag(engine) {
|
|
29
31
|
engine.registerTag('imageurl', {
|
|
30
|
-
parse: function (tagToken
|
|
32
|
+
parse: function (tagToken) {
|
|
31
33
|
this.args = tagToken.args.split(' ');
|
|
32
34
|
},
|
|
33
|
-
render: function (
|
|
34
|
-
|
|
35
|
+
render: function (context) {
|
|
36
|
+
const image = engine.evalValueSync(this.args[0], context);
|
|
35
37
|
if (!image) {
|
|
36
|
-
return
|
|
37
|
-
}
|
|
38
|
-
//console.log(image)
|
|
39
|
-
if (this.args[1] && image.variants && image.variants[this.args[1]]) {
|
|
40
|
-
var src = image.variants[this.args[1]];
|
|
38
|
+
return '';
|
|
41
39
|
}
|
|
42
|
-
|
|
43
|
-
var src = image.src;
|
|
44
|
-
}
|
|
45
|
-
return Promise.resolve(src);
|
|
40
|
+
return imageSrc(image, this.args[1]);
|
|
46
41
|
},
|
|
47
42
|
});
|
|
48
43
|
}
|
|
49
|
-
exports.registerImageUrlTag = registerImageUrlTag;
|
|
50
|
-
// this.engine.registerTag('image', {
|
|
51
|
-
// parse: function (tagToken, remainTokens) {
|
|
52
|
-
// this.args = tagToken.args.split(' ');
|
|
53
|
-
// },
|
|
54
|
-
// render: function (scope, hash) {
|
|
55
|
-
// var image = Liquid.evalExp(this.args[0], scope);
|
|
56
|
-
// //console.log(image)
|
|
57
|
-
// if (!image) {
|
|
58
|
-
// return Promise.resolve('');
|
|
59
|
-
// }
|
|
60
|
-
// if (this.args[1] && image.variants && image.variants[this.args[1]]) {
|
|
61
|
-
// var src = image.variants[this.args[1]];
|
|
62
|
-
// } else {
|
|
63
|
-
// var src = image.src;
|
|
64
|
-
// }
|
|
65
|
-
// var alt = image.alt || '';
|
|
66
|
-
// return Promise.resolve('<img src="' + src + '" alt="' + alt + '"/>');
|
|
67
|
-
// },
|
|
68
|
-
// });
|
|
69
|
-
// this.engine.registerTag('imageurl', {
|
|
70
|
-
// parse: function (tagToken, remainTokens) {
|
|
71
|
-
// this.args = tagToken.args.split(' ');
|
|
72
|
-
// },
|
|
73
|
-
// render: function (scope, hash) {
|
|
74
|
-
// var image = Liquid.evalExp(this.args[0], scope);
|
|
75
|
-
// if (!image) {
|
|
76
|
-
// return Promise.resolve('');
|
|
77
|
-
// }
|
|
78
|
-
// //console.log(image)
|
|
79
|
-
// if (this.args[1] && image.variants && image.variants[this.args[1]]) {
|
|
80
|
-
// var src = image.variants[this.args[1]];
|
|
81
|
-
// } else {
|
|
82
|
-
// var src = image.src;
|
|
83
|
-
// }
|
|
84
|
-
// return Promise.resolve(src);
|
|
85
|
-
// },
|
|
86
|
-
// });
|
|
87
44
|
//# sourceMappingURL=image.js.map
|
package/lib/tags/image.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/tags/image.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/tags/image.ts"],"names":[],"mappings":";;AAWA,4CAeC;AAGD,kDAaC;AAxCD,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,KAAU,EAAE,OAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,CAAC;AAED,0DAA0D;AAC1D,SAAgB,gBAAgB,CAAC,MAAc;IAC3C,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,uGAAuG;QACvG,uDAAuD;QACvD,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,KAAK,WAAW,OAAO;YAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QAChG,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,+DAA+D;AAC/D,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE;QAC3B,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/lib/tags/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/lib/tags/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,+CAA6B;AAC7B,yCAAuB"}
|
package/lib/tags/module.d.ts
CHANGED
package/lib/tags/module.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerModuleTag =
|
|
3
|
+
exports.registerModuleTag = registerModuleTag;
|
|
4
|
+
/** `{% module <name> %}` outputs a rendered module that is not in a region. */
|
|
4
5
|
function registerModuleTag(engine) {
|
|
5
6
|
engine.registerTag('module', {
|
|
6
|
-
parse: function (tagToken
|
|
7
|
-
this.name = tagToken.args;
|
|
7
|
+
parse: function (tagToken) {
|
|
8
|
+
this.name = tagToken.args;
|
|
8
9
|
},
|
|
9
|
-
render: function (
|
|
10
|
-
return engine.evalValue('modules.' + this.name,
|
|
10
|
+
render: function (context) {
|
|
11
|
+
return engine.evalValue('modules.' + this.name, context);
|
|
11
12
|
},
|
|
12
13
|
});
|
|
13
14
|
}
|
|
14
|
-
exports.registerModuleTag = registerModuleTag;
|
|
15
15
|
//# sourceMappingURL=module.js.map
|
package/lib/tags/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tags/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tags/module.ts"],"names":[],"mappings":";;AAGA,8CASC;AAVD,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/lib/tags/navigation.d.ts
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
1
|
import { Liquid } from 'liquidjs';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* `{% navigation <name> <template> %}` renders a menu from `site.json` `navigation`. The name `page.path[0]` or
|
|
4
|
+
* `page.path[1]` picks the menu named after the current page's first or second path segment.
|
|
5
|
+
*/
|
|
6
|
+
export declare function registerNavigationTag(engine: Liquid): void;
|
package/lib/tags/navigation.js
CHANGED
|
@@ -1,16 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerNavigationTag =
|
|
4
|
-
|
|
3
|
+
exports.registerNavigationTag = registerNavigationTag;
|
|
4
|
+
const state_1 = require("../state");
|
|
5
|
+
/**
|
|
6
|
+
* `{% navigation <name> <template> %}` renders a menu from `site.json` `navigation`. The name `page.path[0]` or
|
|
7
|
+
* `page.path[1]` picks the menu named after the current page's first or second path segment.
|
|
8
|
+
*/
|
|
9
|
+
function registerNavigationTag(engine) {
|
|
5
10
|
engine.registerTag('navigation', {
|
|
6
|
-
parse: function (tagToken
|
|
7
|
-
this.match = tagToken.args.split(' ');
|
|
11
|
+
parse: function (tagToken) {
|
|
12
|
+
this.match = tagToken.args.split(' ');
|
|
8
13
|
},
|
|
9
|
-
render: function (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// value = Liquid.lexical.parseLiteral(this.match[0]);
|
|
13
|
-
// }
|
|
14
|
+
render: function (context) {
|
|
15
|
+
const { site, page } = (0, state_1.renderState)(context);
|
|
16
|
+
const value = engine.evalValueSync(this.match[0], context);
|
|
14
17
|
let nav;
|
|
15
18
|
if (page.path && this.match[0] == 'page.path[0]' && site.navigation[page.path[0]]) {
|
|
16
19
|
nav = site.navigation[page.path[0]];
|
|
@@ -24,218 +27,12 @@ function registerNavigationTag(engine, site, page) {
|
|
|
24
27
|
else {
|
|
25
28
|
return;
|
|
26
29
|
}
|
|
27
|
-
|
|
30
|
+
let template = engine.evalValueSync(this.match[1], context);
|
|
28
31
|
if (!template) {
|
|
29
32
|
template = this.match[1];
|
|
30
33
|
}
|
|
31
|
-
return engine.renderFile(template + '.liquid',
|
|
32
|
-
// .handleCache(template + '.liquid')
|
|
33
|
-
// .then((templates) => {
|
|
34
|
-
// return engine.renderer.renderTemplates(templates, scope);
|
|
35
|
-
// })
|
|
36
|
-
// .then((html) => {
|
|
37
|
-
// scope.pop();
|
|
38
|
-
// return html;
|
|
39
|
-
// });
|
|
34
|
+
return engine.renderFile(template + '.liquid', { ...nav, page: { ...page } }, (0, state_1.nestedRenderOptions)(context));
|
|
40
35
|
},
|
|
41
36
|
});
|
|
42
37
|
}
|
|
43
|
-
exports.registerNavigationTag = registerNavigationTag;
|
|
44
|
-
// export function navigation(engine: Liquid, site){
|
|
45
|
-
// return {
|
|
46
|
-
// var value = engine.evalValue(this.match[0], scope);
|
|
47
|
-
// if (!value) {
|
|
48
|
-
// value = engine.parseLiteral(this.match[0]);
|
|
49
|
-
// }
|
|
50
|
-
// var page = scope.scopes[0];
|
|
51
|
-
// if (page.path && this.match[0] == 'page.path[0]' && site.navigation[page.path[0]]) {
|
|
52
|
-
// scope.push(site.navigation[page.path[0]]);
|
|
53
|
-
// } else if (page.path && this.match[0] == 'page.path[1]' && site.navigation[page.path[1]]) {
|
|
54
|
-
// scope.push(site.navigation[page.path[1]]);
|
|
55
|
-
// } else if (site.navigation[value]) {
|
|
56
|
-
// scope.push(site.navigation[value]);
|
|
57
|
-
// } else {
|
|
58
|
-
// return;
|
|
59
|
-
// }
|
|
60
|
-
// var template = Liquid.lexical.parseLiteral(this.match[1]);
|
|
61
|
-
// if (!template) {
|
|
62
|
-
// template = this.match[1];
|
|
63
|
-
// }
|
|
64
|
-
// return engine
|
|
65
|
-
// .handleCache(template + '.liquid')
|
|
66
|
-
// .then((templates) => {
|
|
67
|
-
// return engine.renderer.renderTemplates(templates, scope);
|
|
68
|
-
// })
|
|
69
|
-
// .then((html) => {
|
|
70
|
-
// scope.pop();
|
|
71
|
-
// return html;
|
|
72
|
-
// });
|
|
73
|
-
// }
|
|
74
|
-
// }
|
|
75
|
-
// }
|
|
76
|
-
// this.engine.registerTag('data', {
|
|
77
|
-
// parse: function (tagToken, remainTokens) {
|
|
78
|
-
// this.match = tagToken.args.split(' '); // name // path[0] == navigation name
|
|
79
|
-
// },
|
|
80
|
-
// render: function (scope, hash) {
|
|
81
|
-
// // var filepath = Liquid.evalValue(this.match[1]+'.liquid', scope);
|
|
82
|
-
// if (this.match[2]) {
|
|
83
|
-
// var itemsPerPage = this.match[2];
|
|
84
|
-
// } else {
|
|
85
|
-
// var itemsPerPage = 10;
|
|
86
|
-
// }
|
|
87
|
-
// var collectionName = Liquid.evalValue(this.match[0], scope);
|
|
88
|
-
// if (site.collections[collectionName]) {
|
|
89
|
-
// //console.log(site.collections[collection]._id)
|
|
90
|
-
// var collection = JSON.parse(
|
|
91
|
-
// fs.readFileSync('./data/' + site.collections[collectionName]._id + '.json', 'utf8'),
|
|
92
|
-
// );
|
|
93
|
-
// var scopeObj = {};
|
|
94
|
-
// scopeObj['collection'] = collection;
|
|
95
|
-
// if (scope.scopes[0].page && scope.scopes[0].page.pagination) {
|
|
96
|
-
// scopeObj.pagination = scope.scopes[0].page.pagination;
|
|
97
|
-
// } else {
|
|
98
|
-
// scopeObj.pagination = 1;
|
|
99
|
-
// }
|
|
100
|
-
// scopeObj.itemsPerPage = parseInt(itemsPerPage);
|
|
101
|
-
// scopeObj.start = itemsPerPage * (scopeObj.pagination - 1);
|
|
102
|
-
// scopeObj.end = scopeObj.start + itemsPerPage;
|
|
103
|
-
// scopeObj.lastPage = Math.ceil(collection.data.length / itemsPerPage);
|
|
104
|
-
// scope.push(scopeObj);
|
|
105
|
-
// //console.log(scope)
|
|
106
|
-
// var template = Liquid.lexical.parseLiteral(this.match[1]);
|
|
107
|
-
// if (!template) {
|
|
108
|
-
// template = this.match[1];
|
|
109
|
-
// }
|
|
110
|
-
// return engine
|
|
111
|
-
// .handleCache(template + '.liquid')
|
|
112
|
-
// .then((templates) => {
|
|
113
|
-
// return engine.renderer.renderTemplates(templates, scope);
|
|
114
|
-
// })
|
|
115
|
-
// .then((html) => {
|
|
116
|
-
// scope.pop();
|
|
117
|
-
// return html;
|
|
118
|
-
// });
|
|
119
|
-
// } else {
|
|
120
|
-
// return;
|
|
121
|
-
// }
|
|
122
|
-
// },
|
|
123
|
-
// });
|
|
124
|
-
// this.engine.registerTag('external', {
|
|
125
|
-
// parse: function (tagToken, remainTokens) {
|
|
126
|
-
// this.match = tagToken.args.split(' '); // name // path[0] == navigation name
|
|
127
|
-
// },
|
|
128
|
-
// render: function (scope, hash) {
|
|
129
|
-
// var filepath = Liquid.evalValue(this.match[0], scope);
|
|
130
|
-
// if (!filepath) {
|
|
131
|
-
// filepath = Liquid.lexical.parseLiteral(this.match[0]);
|
|
132
|
-
// }
|
|
133
|
-
// var jsonData = JSON.parse(fs.readFileSync(filepath, 'utf8'));
|
|
134
|
-
// var scopeObj = {};
|
|
135
|
-
// scopeObj['external'] = jsonData;
|
|
136
|
-
// scope.push(scopeObj);
|
|
137
|
-
// //console.log(scope)
|
|
138
|
-
// var template = Liquid.lexical.parseLiteral(this.match[1]);
|
|
139
|
-
// if (!template) {
|
|
140
|
-
// template = this.match[1];
|
|
141
|
-
// }
|
|
142
|
-
// return engine
|
|
143
|
-
// .handleCache(template + '.liquid')
|
|
144
|
-
// .then((templates) => {
|
|
145
|
-
// return engine.renderer.renderTemplates(templates, scope);
|
|
146
|
-
// })
|
|
147
|
-
// .then((html) => {
|
|
148
|
-
// scope.pop();
|
|
149
|
-
// return html;
|
|
150
|
-
// });
|
|
151
|
-
// },
|
|
152
|
-
// });
|
|
153
|
-
// this.engine.registerFilter('active', (path, match, cssClass) => {
|
|
154
|
-
// var regex = new RegExp('^' + match + '(?!([a-z0-9-_]+))');
|
|
155
|
-
// if (regex.test(path)) {
|
|
156
|
-
// return cssClass;
|
|
157
|
-
// } else {
|
|
158
|
-
// return '';
|
|
159
|
-
// }
|
|
160
|
-
// });
|
|
161
|
-
// this.engine.registerFilter('url', (url) => {
|
|
162
|
-
// return this.site.site.url + url;
|
|
163
|
-
// });
|
|
164
|
-
// //console.log(image)
|
|
165
|
-
// if (this.args[1] && image.variants && image.variants[this.args[1]]) {
|
|
166
|
-
// var src = image.variants[this.args[1]];
|
|
167
|
-
// } else {
|
|
168
|
-
// var src = image.src;
|
|
169
|
-
// }
|
|
170
|
-
// return Promise.resolve(src);
|
|
171
|
-
// },
|
|
172
|
-
// });
|
|
173
|
-
// this.engine.registerTag('blog', {
|
|
174
|
-
// parse: function (tagToken, remainTokens) {
|
|
175
|
-
// this.match = tagToken.args.split(' ');
|
|
176
|
-
// },
|
|
177
|
-
// render: function (scope, hash) {
|
|
178
|
-
// // get the blog set
|
|
179
|
-
// var siteblog = Liquid.evalValue(this.match[0], scope);
|
|
180
|
-
// if (!siteblog) {
|
|
181
|
-
// siteblog = this.match[0];
|
|
182
|
-
// }
|
|
183
|
-
// if (!site.blogs[siteblog]) {
|
|
184
|
-
// return;
|
|
185
|
-
// }
|
|
186
|
-
// // loop over articles, push articles that match tag or pagination, into array
|
|
187
|
-
// var blog = site.blogs[siteblog];
|
|
188
|
-
// var articles = [];
|
|
189
|
-
// // if tag set, create filtered array of articles
|
|
190
|
-
// if (this.match[3]) {
|
|
191
|
-
// var tag = Liquid.evalValue(this.match[3], scope);
|
|
192
|
-
// if (!tag) {
|
|
193
|
-
// tag = Liquid.lexical.parseLiteral(this.match[3]);
|
|
194
|
-
// }
|
|
195
|
-
// blog.articles.forEach((article) => {
|
|
196
|
-
// if (article.tags && article.tags.indexOf(tag) > -1) {
|
|
197
|
-
// articles.push(article);
|
|
198
|
-
// }
|
|
199
|
-
// });
|
|
200
|
-
// } else {
|
|
201
|
-
// articles = blog.articles;
|
|
202
|
-
// }
|
|
203
|
-
// //check if articles per page is set
|
|
204
|
-
// if (this.match[2]) {
|
|
205
|
-
// var articlesPerPage = this.match[2];
|
|
206
|
-
// } else {
|
|
207
|
-
// var articlesPerPage = 10;
|
|
208
|
-
// }
|
|
209
|
-
// var pagination = 1;
|
|
210
|
-
// if (scope.scopes[0].page && scope.scopes[0].page.pagination) {
|
|
211
|
-
// pagination = scope.scopes[0].page.pagination;
|
|
212
|
-
// }
|
|
213
|
-
// articlesPerPage = parseInt(articlesPerPage);
|
|
214
|
-
// var start = articlesPerPage * (pagination - 1);
|
|
215
|
-
// var end = start + articlesPerPage;
|
|
216
|
-
// var lastPage = Math.ceil(articles.length / articlesPerPage);
|
|
217
|
-
// // is page greater than the number of articles?
|
|
218
|
-
// // throw a 404
|
|
219
|
-
// if (start >= articles.length) {
|
|
220
|
-
// throw new Error('This page does not exist');
|
|
221
|
-
// }
|
|
222
|
-
// // slice original blog array to send just current page of articles to liquid
|
|
223
|
-
// blog.articles = articles.slice(start, end);
|
|
224
|
-
// blog.pagination = pagination;
|
|
225
|
-
// blog.lastPage = lastPage;
|
|
226
|
-
// scope.push(blog);
|
|
227
|
-
// return engine
|
|
228
|
-
// .handleCache(this.match[1] + '.liquid')
|
|
229
|
-
// .then((templates) => {
|
|
230
|
-
// return engine.renderer.renderTemplates(templates, scope);
|
|
231
|
-
// })
|
|
232
|
-
// .then((html) => {
|
|
233
|
-
// scope.pop();
|
|
234
|
-
// return html;
|
|
235
|
-
// })
|
|
236
|
-
// .catch((error) => {
|
|
237
|
-
// throw error;
|
|
238
|
-
// });
|
|
239
|
-
// },
|
|
240
|
-
//});
|
|
241
38
|
//# sourceMappingURL=navigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tags/navigation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tags/navigation.ts"],"names":[],"mappings":";;AAOA,sDA4BC;AAlCD,oCAA4D;AAE5D;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,MAAc;IAChD,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE;QAC7B,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE3D,IAAI,GAAG,CAAC;YACR,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,OAAO;YACX,CAAC;YAED,IAAI,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAChH,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/lib/tags/page.d.ts
CHANGED
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { Liquid } from 'liquidjs';
|
|
2
|
+
/** `{% page <path> as <name> %}` loads another published page's JSON into the scope as `<name>`. */
|
|
3
|
+
export declare function registerPageTag(engine: Liquid, ceems: {
|
|
4
|
+
loadPageFile(id: string): Promise<any>;
|
|
5
|
+
}): void;
|
package/lib/tags/page.js
CHANGED
|
@@ -1,34 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerPageTag =
|
|
4
|
-
const
|
|
5
|
-
|
|
3
|
+
exports.registerPageTag = registerPageTag;
|
|
4
|
+
const state_1 = require("../state");
|
|
5
|
+
/** `{% page <path> as <name> %}` loads another published page's JSON into the scope as `<name>`. */
|
|
6
|
+
function registerPageTag(engine, ceems) {
|
|
6
7
|
engine.registerTag('page', {
|
|
7
8
|
parse: function (tagToken) {
|
|
8
9
|
this.match = tagToken.args.split(' as ');
|
|
9
10
|
},
|
|
10
11
|
render: async function (context) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
// load the page
|
|
16
|
-
let page = site.pages[path];
|
|
12
|
+
const { site } = (0, state_1.renderState)(context);
|
|
13
|
+
const path = engine.evalValueSync(this.match[0], context);
|
|
14
|
+
const scopeName = engine.evalValueSync(this.match[1], context);
|
|
15
|
+
const page = site.pages[path];
|
|
17
16
|
if (page) {
|
|
18
|
-
|
|
19
|
-
if (ceems.config.cacheSource == interfaces_1.CacheSource.Local) {
|
|
20
|
-
pageObj = ceems.loadLocalFile(`${ceems.config.cacheFolder}pages/${page._id}.json`);
|
|
21
|
-
}
|
|
22
|
-
if (ceems.config.cacheSource == interfaces_1.CacheSource.S3) {
|
|
23
|
-
pageObj = await ceems.loadS3File(`pages/${page._id}.json`);
|
|
24
|
-
}
|
|
25
|
-
let newScope = {};
|
|
26
|
-
newScope[this.scopeName] = pageObj;
|
|
27
|
-
context.push(newScope);
|
|
17
|
+
context.push({ [scopeName]: await ceems.loadPageFile(page._id) });
|
|
28
18
|
}
|
|
29
|
-
return;
|
|
30
19
|
},
|
|
31
20
|
});
|
|
32
21
|
}
|
|
33
|
-
exports.registerPageTag = registerPageTag;
|
|
34
22
|
//# sourceMappingURL=page.js.map
|
package/lib/tags/page.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tags/page.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tags/page.ts"],"names":[],"mappings":";;AAIA,0CAgBC;AAnBD,oCAAuC;AAEvC,oGAAoG;AACpG,SAAgB,eAAe,CAAC,MAAc,EAAE,KAAiD;IAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,EAAE,KAAK,WAAW,OAAO;YAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/lib/tags/region.d.ts
CHANGED
package/lib/tags/region.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerRegionTag =
|
|
3
|
+
exports.registerRegionTag = registerRegionTag;
|
|
4
|
+
/** `{% region <key> %}` outputs a region's rendered modules. */
|
|
4
5
|
function registerRegionTag(engine) {
|
|
5
6
|
engine.registerTag('region', {
|
|
6
|
-
parse: function (tagToken
|
|
7
|
-
this.name = tagToken.args;
|
|
7
|
+
parse: function (tagToken) {
|
|
8
|
+
this.name = tagToken.args;
|
|
8
9
|
},
|
|
9
|
-
render: function (
|
|
10
|
-
|
|
11
|
-
return engine.evalValue('regions.' + this.name, scope);
|
|
10
|
+
render: function (context) {
|
|
11
|
+
return engine.evalValue('regions.' + this.name, context);
|
|
12
12
|
},
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
exports.registerRegionTag = registerRegionTag;
|
|
16
15
|
//# sourceMappingURL=region.js.map
|
package/lib/tags/region.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/tags/region.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/tags/region.ts"],"names":[],"mappings":";;AAGA,8CASC;AAVD,gEAAgE;AAChE,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,40 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nakedcreativity/cee-ms-node",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Cee.ms for Node.js",
|
|
3
|
+
"version": "2.0.0-beta.0",
|
|
4
|
+
"description": "Cee.ms for Node.js: renders Cee.ms sites from their published JSON with Liquid templates",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
|
+
"types": "./lib/index.d.ts",
|
|
7
|
+
"engines": {
|
|
8
|
+
"node": ">=22"
|
|
9
|
+
},
|
|
6
10
|
"scripts": {
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"prepare": "npm version patch"
|
|
11
|
+
"build": "tsc -p tsconfig.build.json",
|
|
12
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
13
|
+
"test": "vitest run",
|
|
14
|
+
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
15
|
+
"dev": "tsx watch dev/server.ts",
|
|
16
|
+
"prepublishOnly": "npm run typecheck && npm test && npm run build"
|
|
14
17
|
},
|
|
15
18
|
"author": "Naked Creativity",
|
|
16
19
|
"license": "ISC",
|
|
17
20
|
"dependencies": {
|
|
18
|
-
"@
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"liquidjs": "^10.12.0",
|
|
24
|
-
"slugify": "^1.6.0",
|
|
25
|
-
"underscore": "^1.13.1"
|
|
21
|
+
"@aws-sdk/client-s3": "^3.1156.0",
|
|
22
|
+
"cheerio": "^1.2.0",
|
|
23
|
+
"express": "^4.22.3",
|
|
24
|
+
"liquidjs": "^10.30.0",
|
|
25
|
+
"slugify": "^1.6.6"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
|
-
"@types/express": "
|
|
29
|
-
"@types/node": "^
|
|
30
|
-
"
|
|
31
|
-
"prettier": "^
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
28
|
+
"@types/express": "^4.17.25",
|
|
29
|
+
"@types/node": "^22.19.0",
|
|
30
|
+
"@vendia/serverless-express": "^4.12.6",
|
|
31
|
+
"prettier": "^3.9.10",
|
|
32
|
+
"tsx": "^4.23.15",
|
|
33
|
+
"typescript": "~5.9.3",
|
|
34
|
+
"vitest": "^5.0.5"
|
|
35
35
|
},
|
|
36
36
|
"files": [
|
|
37
37
|
"lib/**/*"
|
|
38
|
-
]
|
|
39
|
-
"types": "./lib/index.d.ts"
|
|
38
|
+
]
|
|
40
39
|
}
|
package/lib/test-tags.d.ts
DELETED