@nakedcreativity/cee-ms-node 1.0.122 → 2.0.0-beta.1

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 (58) hide show
  1. package/README.md +81 -0
  2. package/lib/draft.d.ts +20 -0
  3. package/lib/draft.js +110 -0
  4. package/lib/draft.js.map +1 -0
  5. package/lib/filters/active.js +1 -2
  6. package/lib/filters/active.js.map +1 -1
  7. package/lib/filters/index.js +5 -1
  8. package/lib/filters/index.js.map +1 -1
  9. package/lib/filters/slugify.js +3 -4
  10. package/lib/filters/slugify.js.map +1 -1
  11. package/lib/index.d.ts +52 -10
  12. package/lib/index.js +267 -324
  13. package/lib/index.js.map +1 -1
  14. package/lib/interfaces.d.ts +55 -16
  15. package/lib/interfaces.js +1 -1
  16. package/lib/interfaces.js.map +1 -1
  17. package/lib/links.d.ts +25 -0
  18. package/lib/links.js +61 -0
  19. package/lib/links.js.map +1 -0
  20. package/lib/preview-token.d.ts +21 -0
  21. package/lib/preview-token.js +37 -0
  22. package/lib/preview-token.js.map +1 -0
  23. package/lib/state.d.ts +17 -0
  24. package/lib/state.js +44 -0
  25. package/lib/state.js.map +1 -0
  26. package/lib/storage.d.ts +6 -0
  27. package/lib/storage.js +24 -0
  28. package/lib/storage.js.map +1 -0
  29. package/lib/tags/blog.d.ts +5 -2
  30. package/lib/tags/blog.js +25 -41
  31. package/lib/tags/blog.js.map +1 -1
  32. package/lib/tags/breadcrumb.d.ts +2 -1
  33. package/lib/tags/breadcrumb.js +13 -15
  34. package/lib/tags/breadcrumb.js.map +1 -1
  35. package/lib/tags/image.d.ts +2 -0
  36. package/lib/tags/image.js +25 -68
  37. package/lib/tags/image.js.map +1 -1
  38. package/lib/tags/index.js +5 -1
  39. package/lib/tags/index.js.map +1 -1
  40. package/lib/tags/module.d.ts +1 -0
  41. package/lib/tags/module.js +6 -6
  42. package/lib/tags/module.js.map +1 -1
  43. package/lib/tags/navigation.d.ts +5 -2
  44. package/lib/tags/navigation.js +14 -217
  45. package/lib/tags/navigation.js.map +1 -1
  46. package/lib/tags/page.d.ts +5 -2
  47. package/lib/tags/page.js +9 -21
  48. package/lib/tags/page.js.map +1 -1
  49. package/lib/tags/region.d.ts +1 -0
  50. package/lib/tags/region.js +6 -7
  51. package/lib/tags/region.js.map +1 -1
  52. package/package.json +25 -26
  53. package/lib/test-tags.d.ts +0 -3
  54. package/lib/test-tags.js +0 -125
  55. package/lib/test-tags.js.map +0 -1
  56. package/lib/test.d.ts +0 -1
  57. package/lib/test.js +0 -52
  58. package/lib/test.js.map +0 -1
@@ -1,31 +1,29 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerBreadcrumbTag = void 0;
4
- function registerBreadcrumbTag(engine, site, page) {
3
+ exports.registerBreadcrumbTag = registerBreadcrumbTag;
4
+ const state_1 = require("../state");
5
+ /** `{% breadcrumb <template> %}` renders the published ancestors of the current page. */
6
+ function registerBreadcrumbTag(engine) {
5
7
  engine.registerTag('breadcrumb', {
6
- parse: function (tagToken, remainTokens) {
8
+ parse: function (tagToken) {
7
9
  this.template = tagToken.args;
8
10
  },
9
- render: function (scope, hash) {
10
- var breadcrumbArray = [];
11
- var path = '';
11
+ render: function (context) {
12
+ const { site, page } = (0, state_1.renderState)(context);
12
13
  if (!page.path) {
13
14
  return;
14
15
  }
15
- page.path.forEach((handle) => {
16
+ const breadcrumb = [];
17
+ let path = '';
18
+ for (const handle of page.path) {
16
19
  path += handle;
17
20
  if (site.pages[path]) {
18
- breadcrumbArray.push(site.pages[path]);
21
+ breadcrumb.push(site.pages[path]);
19
22
  path += '/';
20
23
  }
21
- });
22
- return engine
23
- .renderFile(this.template + '.liquid', { breadcrumb: breadcrumbArray })
24
- .then((html) => {
25
- return html;
26
- });
24
+ }
25
+ return engine.renderFile(this.template + '.liquid', { breadcrumb }, (0, state_1.nestedRenderOptions)(context));
27
26
  },
28
27
  });
29
28
  }
30
- exports.registerBreadcrumbTag = registerBreadcrumbTag;
31
29
  //# sourceMappingURL=breadcrumb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":";;;AAEA,SAAgB,qBAAqB,CAAC,MAAa,EAAE,IAAI,EAAE,IAAI;IAC3D,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE;QAE7B,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,UAAU,KAAc,EAAE,IAAI;YAClC,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;gBACZ,OAAO;aACV;YACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,IAAI,IAAI,MAAM,CAAC;gBACf,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;oBAClB,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBACvC,IAAI,IAAI,GAAG,CAAC;iBACf;YACL,CAAC,CAAC,CAAC;YAEH,OAAO,MAAM;iBACR,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;iBACtE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBACf,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;KACJ,CAAC,CAAA;AACN,CAAC;AA3BD,sDA2BC"}
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../src/tags/breadcrumb.ts"],"names":[],"mappings":";;AAIA,sDAwBC;AA3BD,oCAA4D;AAE5D,yFAAyF;AACzF,SAAgB,qBAAqB,CAAC,MAAc;IAChD,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE;QAC7B,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QAClC,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,OAAO;YACX,CAAC;YAED,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC7B,IAAI,IAAI,MAAM,CAAC;gBACf,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAClC,IAAI,IAAI,GAAG,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,UAAU,EAAE,EAAE,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QACtG,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +1,5 @@
1
1
  import { Liquid } from 'liquidjs';
2
+ /** `{% image <value> [variant] %}` renders an `<img>`. */
2
3
  export declare function registerImageTag(engine: Liquid): void;
4
+ /** `{% imageurl <value> [variant] %}` outputs an image URL. */
3
5
  export declare function registerImageUrlTag(engine: Liquid): void;
package/lib/tags/image.js CHANGED
@@ -1,87 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerImageUrlTag = exports.registerImageTag = void 0;
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
- parse: (tagToken, remainTokens) => {
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: (scope, hash) => {
10
- //console.log('scope image tag', scope);
11
- return engine.evalValue(this.args[0], scope).then((image) => {
12
- if (!image) {
13
- return Promise.resolve('');
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
- exports.registerImageTag = registerImageTag;
29
+ /** `{% imageurl <value> [variant] %}` outputs an image URL. */
28
30
  function registerImageUrlTag(engine) {
29
31
  engine.registerTag('imageurl', {
30
- parse: function (tagToken, remainTokens) {
32
+ parse: function (tagToken) {
31
33
  this.args = tagToken.args.split(' ');
32
34
  },
33
- render: function (scope, hash) {
34
- var image = engine.evalValueSync(this.args[0], scope);
35
+ render: function (context) {
36
+ const image = engine.evalValueSync(this.args[0], context);
35
37
  if (!image) {
36
- return Promise.resolve('');
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
- else {
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
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/tags/image.ts"],"names":[],"mappings":"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"}
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.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
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];
@@ -1 +1 @@
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"}
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"}
@@ -1,2 +1,3 @@
1
1
  import { Liquid } from 'liquidjs';
2
+ /** `{% module <name> %}` outputs a rendered module that is not in a region. */
2
3
  export declare function registerModuleTag(engine: Liquid): void;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerModuleTag = void 0;
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, remainTokens) {
7
- this.name = tagToken.args; // name
7
+ parse: function (tagToken) {
8
+ this.name = tagToken.args;
8
9
  },
9
- render: function (scope, hash) {
10
- return engine.evalValue('modules.' + this.name, scope);
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
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tags/module.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO;QACtC,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AATD,8CASC"}
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"}
@@ -1,3 +1,6 @@
1
1
  import { Liquid } from 'liquidjs';
2
- import { CeemsPage, CeemsSite } from '../interfaces';
3
- export declare function registerNavigationTag(engine: Liquid, site: CeemsSite, page: CeemsPage): void;
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;
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerNavigationTag = void 0;
4
- function registerNavigationTag(engine, site, page) {
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, remainTokens) {
7
- this.match = tagToken.args.split(' '); // name // path[0] == navigation name
11
+ parse: function (tagToken) {
12
+ this.match = tagToken.args.split(' ');
8
13
  },
9
- render: function (scope, hash) {
10
- var value = engine.evalValueSync(this.match[0], scope);
11
- // if (!value) {
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
- var template = engine.evalValueSync(this.match[1], scope);
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', Object.assign(Object.assign({}, nav), { page: Object.assign({}, page) }));
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":"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"}
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"}
@@ -1,2 +1,5 @@
1
- import { CeemsSite } from '../interfaces';
2
- export declare function registerPageTag(engine: any, ceems: any, site: CeemsSite): void;
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 = void 0;
4
- const interfaces_1 = require("../interfaces");
5
- function registerPageTag(engine, ceems, site) {
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
- // find the path
12
- let path = engine.evalValueSync(this.match[0], context);
13
- console.log('page path to load', path);
14
- this.scopeName = engine.evalValueSync(this.match[1], context);
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
- let pageObj;
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
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tags/page.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAEvD,SAAgB,eAAe,CAAC,MAAM,EAAE,KAAU,EAAE,IAAc;IAC9D,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,OAAe;YAEnC,gBAAgB;YAChB,IAAI,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;YACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE9D,gBAAgB;YAChB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE3B,IAAG,IAAI,EAAC;gBAEJ,IAAI,OAAO,CAAA;gBACX,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAW,CAAC,KAAK,EAAE;oBAC/C,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;iBACrF;gBAED,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAW,CAAC,EAAE,EAAE;oBAC5C,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;iBAC7D;gBAED,IAAI,QAAQ,GAAO,EAAE,CAAA;gBACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACzB;YAED,OAAM;QAGV,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AArCD,0CAqCC"}
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"}
@@ -1,2 +1,3 @@
1
1
  import { Liquid } from 'liquidjs';
2
+ /** `{% region <key> %}` outputs a region's rendered modules. */
2
3
  export declare function registerRegionTag(engine: Liquid): void;
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerRegionTag = void 0;
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, remainTokens) {
7
- this.name = tagToken.args; // name
7
+ parse: function (tagToken) {
8
+ this.name = tagToken.args;
8
9
  },
9
- render: function (scope, hash) {
10
- //console.log('render region', this.name);
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
@@ -1 +1 @@
1
- {"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/tags/region.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO;QACtC,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,0CAA0C;YAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAVD,8CAUC"}
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"}