@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
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,72 +1,111 @@
1
- /// <reference types="node" />
2
- import { Url } from 'url';
3
- import express from 'express';
4
- import { FilterImplOptions, TagImplOptions } from 'liquidjs';
5
- import { Context } from 'vm';
1
+ import type { Url } from 'url';
2
+ import type express from 'express';
3
+ import type { Context, FilterImplOptions } from 'liquidjs';
4
+ export declare enum CacheSource {
5
+ Local = 0,
6
+ S3 = 1
7
+ }
6
8
  export interface CeemsConfig {
9
+ /** Folder of static assets served before any page route. */
7
10
  assets: string;
8
11
  cacheSource: CacheSource;
12
+ /** Register your own routes instead of the default catch-all page route. */
9
13
  customHandler?: boolean;
10
14
  parseLimit?: string;
11
15
  viewsPath?: string;
12
16
  cacheBucket?: string;
17
+ /** Region of `cacheBucket`. Defaults to the `AWS_REGION` environment variable. */
18
+ cacheRegion?: string;
13
19
  cacheFolder?: string;
14
20
  whitelistedCookies?: Array<string>;
15
21
  tags?: Array<LiquidTag>;
16
22
  filters?: Array<LiquidFilter>;
17
23
  liquidCache?: boolean;
24
+ /**
25
+ * Site-wide values available to every template, merged under the published site data. Replaces setting
26
+ * `ceems.engine.options.globals.metadata` (which still works).
27
+ */
28
+ globals?: Record<string, unknown>;
29
+ /** Draft previews for the Cee.ms editor. Drafts are disabled unless `secret` and `apiUrl` are set. */
30
+ preview?: PreviewConfig;
31
+ }
32
+ export interface PreviewConfig {
33
+ /** Per-site secret that signs preview tokens. Defaults to `CEEMS_PREVIEW_SECRET`. */
34
+ secret?: string;
35
+ /** Base URL of the Cee.ms API, for example `https://api.cee.ms`. Defaults to `CEEMS_API_URL`. */
36
+ apiUrl?: string;
37
+ /** Origin of the Cee.ms editor, the only page allowed to frame drafts. Defaults to `CEEMS_EDITOR_ORIGIN`. */
38
+ editorOrigin?: string;
39
+ /** The editor bridge script injected into drafts. Defaults to `CEEMS_BRIDGE_SRC` / `CEEMS_BRIDGE_INTEGRITY`. */
40
+ bridge?: {
41
+ src: string;
42
+ integrity?: string;
43
+ };
44
+ }
45
+ /** Matches liquidjs's tag options, which liquidjs 10 no longer exports from its entry point. */
46
+ export interface TagImplOptions {
47
+ parse?: (this: any, token: any, remainingTokens: any[]) => void;
48
+ render: (this: any, ctx: Context, emitter: any, hash: Record<string, any>) => any;
18
49
  }
19
50
  export interface LiquidTag {
20
51
  name: string;
21
- register: (Liquid: any) => TagImplOptions;
52
+ register: (ceems: any) => TagImplOptions;
22
53
  }
23
54
  export interface LiquidFilter {
24
55
  name: string;
25
56
  filter: FilterImplOptions;
26
57
  }
58
+ /** The published `pages/site.json`. */
27
59
  export interface CeemsSite {
28
60
  navigation: any;
29
61
  blogs: any;
30
62
  pages: any;
31
63
  site: any;
64
+ collections?: any;
32
65
  }
33
66
  export interface CeemsRequest extends express.Request {
34
67
  page: CeemsPage;
35
68
  query: any;
36
69
  body: any;
37
70
  overriddenPath?: string;
71
+ /** The published site this request renders against, set by the site middleware. */
72
+ ceemsSite?: CeemsSite;
38
73
  _parsedUrl: Url;
39
74
  }
40
75
  export interface CeemsResponse extends express.Response {
41
76
  }
42
77
  export interface CeemsPage {
43
78
  cookies: Object;
44
- regions: Array<CeemsRegion>;
45
- modules: Array<CeemsModule>;
79
+ regions: Record<string, CeemsRegion>;
80
+ modules: Record<string, CeemsModule | string>;
46
81
  template: string;
47
- path: string | Array<string>;
82
+ path: Array<string>;
48
83
  redirect: string;
49
84
  _id: string;
50
85
  pagination: number;
51
86
  fullpath: string;
52
87
  handle: string;
53
- }
54
- export declare enum CacheSource {
55
- Local = 0,
56
- S3 = 1
88
+ [key: string]: any;
57
89
  }
58
90
  export interface CeemsRegion {
59
91
  modules: Array<CeemsModule>;
60
92
  }
61
93
  export interface CeemsModule {
62
94
  type: string;
63
- content: JSON;
95
+ content: Record<string, unknown>;
64
96
  _id: string;
65
97
  region: string;
66
98
  order: number;
67
99
  }
68
- export interface CeemsModuleContext extends Context {
69
- globals: CeemsModuleContextGlobal;
100
+ /**
101
+ * Everything one render needs, built per request and never stored on the `Ceems` instance, so concurrent
102
+ * requests cannot see each other's page or site. Tags read it from `context.globals[RENDER_STATE]`.
103
+ */
104
+ export interface RenderState {
105
+ site: CeemsSite;
106
+ page: CeemsPage;
107
+ /** A verified editor draft: adds module markers and the editor bridge. */
108
+ edit: boolean;
70
109
  }
71
110
  export interface CeemsModuleContextGlobal {
72
111
  site: Array<any>;
package/lib/interfaces.js CHANGED
@@ -5,5 +5,5 @@ var CacheSource;
5
5
  (function (CacheSource) {
6
6
  CacheSource[CacheSource["Local"] = 0] = "Local";
7
7
  CacheSource[CacheSource["S3"] = 1] = "S3";
8
- })(CacheSource = exports.CacheSource || (exports.CacheSource = {}));
8
+ })(CacheSource || (exports.CacheSource = CacheSource = {}));
9
9
  //# sourceMappingURL=interfaces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AA2DA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,+CAAK,CAAA;IACL,yCAAE,CAAA;AACN,CAAC,EAHW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAGtB"}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";;;AAIA,IAAY,WAGX;AAHD,WAAY,WAAW;IACnB,+CAAK,CAAA;IACL,yCAAE,CAAA;AACN,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB"}
package/lib/links.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { Drop } from 'liquidjs';
2
+ /**
3
+ * A stored link value in templates. It reads as its address, so a field that held a URL string and became a
4
+ * link field still works where templates print it (`{{ item.url }}`), filter it (`| escape`, `| append`),
5
+ * compare it (`== '/about'`, `!= blank`) or measure it (`| size`); and its parts are there too
6
+ * (`{{ item.url.kind }}`, `.pageId`, `.anchor`). `| json` shows the whole link.
7
+ */
8
+ export declare class LinkDrop extends Drop {
9
+ kind: string;
10
+ url: string;
11
+ pageId?: string;
12
+ documentId?: string;
13
+ anchor?: string;
14
+ email?: string;
15
+ constructor(link: Record<string, unknown>);
16
+ valueOf(): string;
17
+ toString(): string;
18
+ /** For `| size`, which reads `.length`. */
19
+ get length(): number;
20
+ /** For `{{ item.url.size }}`. */
21
+ get size(): number;
22
+ toJSON(): Record<string, unknown>;
23
+ }
24
+ /** Wraps every stored link in a published page, data file or draft in a `LinkDrop`, in place. */
25
+ export declare function wrapLinks<T>(value: T): T;
package/lib/links.js ADDED
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LinkDrop = void 0;
4
+ exports.wrapLinks = wrapLinks;
5
+ const liquidjs_1 = require("liquidjs");
6
+ /** The kinds of link Cee.ms stores: `{ kind, url, pageId?, documentId?, anchor?, email? }`. */
7
+ const LINK_KINDS = ['url', 'page', 'document', 'anchor', 'email'];
8
+ /**
9
+ * A stored link value in templates. It reads as its address, so a field that held a URL string and became a
10
+ * link field still works where templates print it (`{{ item.url }}`), filter it (`| escape`, `| append`),
11
+ * compare it (`== '/about'`, `!= blank`) or measure it (`| size`); and its parts are there too
12
+ * (`{{ item.url.kind }}`, `.pageId`, `.anchor`). `| json` shows the whole link.
13
+ */
14
+ class LinkDrop extends liquidjs_1.Drop {
15
+ kind;
16
+ url;
17
+ pageId;
18
+ documentId;
19
+ anchor;
20
+ email;
21
+ constructor(link) {
22
+ super();
23
+ Object.assign(this, link);
24
+ }
25
+ valueOf() {
26
+ return this.url;
27
+ }
28
+ toString() {
29
+ return this.url;
30
+ }
31
+ /** For `| size`, which reads `.length`. */
32
+ get length() {
33
+ return this.url.length;
34
+ }
35
+ /** For `{{ item.url.size }}`. */
36
+ get size() {
37
+ return this.url.length;
38
+ }
39
+ toJSON() {
40
+ return { ...this };
41
+ }
42
+ }
43
+ exports.LinkDrop = LinkDrop;
44
+ const isLink = (value) => typeof value.kind === 'string' && LINK_KINDS.includes(value.kind) && typeof value.url === 'string';
45
+ /** Wraps every stored link in a published page, data file or draft in a `LinkDrop`, in place. */
46
+ function wrapLinks(value) {
47
+ if (Array.isArray(value)) {
48
+ for (let i = 0; i < value.length; i++)
49
+ value[i] = wrapLinks(value[i]);
50
+ return value;
51
+ }
52
+ if (!value || typeof value !== 'object' || value instanceof liquidjs_1.Drop)
53
+ return value;
54
+ const record = value;
55
+ if (isLink(record))
56
+ return new LinkDrop(record);
57
+ for (const key of Object.keys(record))
58
+ record[key] = wrapLinks(record[key]);
59
+ return value;
60
+ }
61
+ //# sourceMappingURL=links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"links.js","sourceRoot":"","sources":["../src/links.ts"],"names":[],"mappings":";;;AAmDA,8BAUC;AA7DD,uCAAgC;AAEhC,+FAA+F;AAC/F,MAAM,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAElE;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,eAAI;IAC9B,IAAI,CAAU;IACd,GAAG,CAAU;IACb,MAAM,CAAU;IAChB,UAAU,CAAU;IACpB,MAAM,CAAU;IAChB,KAAK,CAAU;IAEf,YAAY,IAA6B;QACrC,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IACpB,CAAC;IAED,2CAA2C;IAC3C,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC;IACvB,CAAC;CACJ;AAlCD,4BAkCC;AAED,MAAM,MAAM,GAAG,CAAC,KAA8B,EAAE,EAAE,CAC9C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC;AAEvG,iGAAiG;AACjG,SAAgB,SAAS,CAAI,KAAQ;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,eAAI;QAAE,OAAO,KAAK,CAAC;IAC/E,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAiB,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Preview tokens, issued by the Cee.ms API and verified here. Format: `v1.<payload>.<signature>`, where
3
+ * `payload` is base64url JSON `{ p: pageId, e: expiresAtUnixSeconds }` and `signature` is base64url
4
+ * HMAC-SHA256 of `v1.<payload>` with the site's preview secret. The secret is per site, so a valid signature
5
+ * also proves the token is for this site.
6
+ */
7
+ export interface PreviewTokenPayload {
8
+ /** Page id. */
9
+ p: string;
10
+ /** Expiry, Unix seconds. */
11
+ e: number;
12
+ }
13
+ export type VerifyResult = {
14
+ ok: true;
15
+ payload: PreviewTokenPayload;
16
+ } | {
17
+ ok: false;
18
+ reason: string;
19
+ };
20
+ export declare function signPreviewToken(secret: string, pageId: string, expiresAt: Date): string;
21
+ export declare function verifyPreviewToken(secret: string, token: string, pageId: string, now?: Date): VerifyResult;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.signPreviewToken = signPreviewToken;
4
+ exports.verifyPreviewToken = verifyPreviewToken;
5
+ const crypto_1 = require("crypto");
6
+ const sign = (secret, data) => (0, crypto_1.createHmac)('sha256', secret).update(data).digest('base64url');
7
+ function signPreviewToken(secret, pageId, expiresAt) {
8
+ const payload = { p: pageId, e: Math.floor(expiresAt.getTime() / 1000) };
9
+ const body = 'v1.' + Buffer.from(JSON.stringify(payload)).toString('base64url');
10
+ return body + '.' + sign(secret, body);
11
+ }
12
+ function verifyPreviewToken(secret, token, pageId, now = new Date()) {
13
+ const parts = token.split('.');
14
+ if (parts.length !== 3 || parts[0] !== 'v1')
15
+ return { ok: false, reason: 'malformed' };
16
+ const body = parts[0] + '.' + parts[1];
17
+ const expected = Buffer.from(sign(secret, body));
18
+ const actual = Buffer.from(parts[2]);
19
+ if (expected.length !== actual.length || !(0, crypto_1.timingSafeEqual)(expected, actual)) {
20
+ return { ok: false, reason: 'bad signature' };
21
+ }
22
+ let payload;
23
+ try {
24
+ payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf8'));
25
+ }
26
+ catch {
27
+ return { ok: false, reason: 'malformed' };
28
+ }
29
+ if (typeof payload.p !== 'string' || typeof payload.e !== 'number')
30
+ return { ok: false, reason: 'malformed' };
31
+ if (payload.p !== pageId)
32
+ return { ok: false, reason: 'wrong page' };
33
+ if (payload.e * 1000 <= now.getTime())
34
+ return { ok: false, reason: 'expired' };
35
+ return { ok: true, payload };
36
+ }
37
+ //# sourceMappingURL=preview-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-token.js","sourceRoot":"","sources":["../src/preview-token.ts"],"names":[],"mappings":";;AAoBA,4CAIC;AAED,gDAqBC;AA/CD,mCAAqD;AAkBrD,MAAM,IAAI,GAAG,CAAC,MAAc,EAAE,IAAY,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;AAE7G,SAAgB,gBAAgB,CAAC,MAAc,EAAE,MAAc,EAAE,SAAe;IAC5E,MAAM,OAAO,GAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAC9F,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAChF,OAAO,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAc,EAAE,KAAa,EAAE,MAAc,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE;IAC9F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAEvF,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,IAAI,CAAC,IAAA,wBAAe,EAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,OAA4B,CAAC;IACjC,IAAI,CAAC;QACD,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,CAAC,KAAK,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAC9G,IAAI,OAAO,CAAC,CAAC,KAAK,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACjC,CAAC"}
package/lib/state.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import type { Context } from 'liquidjs';
2
+ import type { CeemsPage, RenderState } from './interfaces';
3
+ /** Key of the per-render state in Liquid globals. Internal: templates should not rely on it. */
4
+ export declare const RENDER_STATE = "__ceems";
5
+ export declare function attachState(page: CeemsPage, state: RenderState): CeemsPage;
6
+ export declare function stateOf(page: CeemsPage): RenderState | undefined;
7
+ /** The state of the render a tag is running in. */
8
+ export declare function renderState(context: Context): RenderState;
9
+ /** Render options for nested renders inside a tag, so partials see the same globals. */
10
+ export declare function nestedRenderOptions(context: Context): {
11
+ globals: import("liquidjs").Scope;
12
+ };
13
+ export declare class NotFoundError extends Error {
14
+ readonly status = 404;
15
+ }
16
+ /** Whether an error is, or wraps, a `NotFoundError`. liquidjs wraps errors thrown by tags in a `RenderError`. */
17
+ export declare function isNotFound(error: unknown): boolean;
package/lib/state.js ADDED
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NotFoundError = exports.RENDER_STATE = void 0;
4
+ exports.attachState = attachState;
5
+ exports.stateOf = stateOf;
6
+ exports.renderState = renderState;
7
+ exports.nestedRenderOptions = nestedRenderOptions;
8
+ exports.isNotFound = isNotFound;
9
+ /** Key of the per-render state in Liquid globals. Internal: templates should not rely on it. */
10
+ exports.RENDER_STATE = '__ceems';
11
+ // Pages returned by `load()` carry their request's state here, so `render(page)` keeps its legacy signature.
12
+ const states = new WeakMap();
13
+ function attachState(page, state) {
14
+ states.set(page, state);
15
+ return page;
16
+ }
17
+ function stateOf(page) {
18
+ return states.get(page);
19
+ }
20
+ /** The state of the render a tag is running in. */
21
+ function renderState(context) {
22
+ const state = context.globals[exports.RENDER_STATE];
23
+ if (!state) {
24
+ throw new Error('Cee.ms tag rendered outside a Cee.ms render');
25
+ }
26
+ return state;
27
+ }
28
+ /** Render options for nested renders inside a tag, so partials see the same globals. */
29
+ function nestedRenderOptions(context) {
30
+ return { globals: context.globals };
31
+ }
32
+ class NotFoundError extends Error {
33
+ status = 404;
34
+ }
35
+ exports.NotFoundError = NotFoundError;
36
+ /** Whether an error is, or wraps, a `NotFoundError`. liquidjs wraps errors thrown by tags in a `RenderError`. */
37
+ function isNotFound(error) {
38
+ for (let e = error, depth = 0; e && depth < 10; e = e.originalError || e.cause, depth++) {
39
+ if (e instanceof NotFoundError)
40
+ return true;
41
+ }
42
+ return false;
43
+ }
44
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":";;;AASA,kCAGC;AAED,0BAEC;AAGD,kCAMC;AAGD,kDAEC;AAOD,gCAKC;AAvCD,gGAAgG;AACnF,QAAA,YAAY,GAAG,SAAS,CAAC;AAEtC,6GAA6G;AAC7G,MAAM,MAAM,GAAG,IAAI,OAAO,EAA0B,CAAC;AAErD,SAAgB,WAAW,CAAC,IAAe,EAAE,KAAkB;IAC3D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAgB,OAAO,CAAC,IAAe;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,mDAAmD;AACnD,SAAgB,WAAW,CAAC,OAAgB;IACxC,MAAM,KAAK,GAAI,OAAO,CAAC,OAAmC,CAAC,oBAAY,CAA4B,CAAC;IACpG,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,wFAAwF;AACxF,SAAgB,mBAAmB,CAAC,OAAgB;IAChD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACxC,CAAC;AAED,MAAa,aAAc,SAAQ,KAAK;IAC3B,MAAM,GAAG,GAAG,CAAC;CACzB;AAFD,sCAEC;AAED,iHAAiH;AACjH,SAAgB,UAAU,CAAC,KAAc;IACrC,KAAK,IAAI,CAAC,GAAQ,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3F,IAAI,CAAC,YAAY,aAAa;YAAE,OAAO,IAAI,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Reads published files from a local folder or an S3 bucket. */
2
+ export interface Storage {
3
+ read(key: string): Promise<string>;
4
+ }
5
+ export declare function localStorage(folder: string): Storage;
6
+ export declare function s3Storage(bucket: string, region?: string): Storage;
package/lib/storage.js ADDED
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.localStorage = localStorage;
7
+ exports.s3Storage = s3Storage;
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const client_s3_1 = require("@aws-sdk/client-s3");
10
+ function localStorage(folder) {
11
+ return { read: (key) => fs_1.default.promises.readFile(folder + key, 'utf-8') };
12
+ }
13
+ function s3Storage(bucket, region) {
14
+ const client = new client_s3_1.S3Client(region ? { region } : {});
15
+ return {
16
+ async read(key) {
17
+ const result = await client.send(new client_s3_1.GetObjectCommand({ Bucket: bucket, Key: key }));
18
+ if (!result.Body)
19
+ throw new Error(`Empty object: ${key}`);
20
+ return result.Body.transformToString('utf-8');
21
+ },
22
+ };
23
+ }
24
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";;;;;AAQA,oCAEC;AAED,8BASC;AArBD,4CAAoB;AACpB,kDAAgE;AAOhE,SAAgB,YAAY,CAAC,MAAc;IACvC,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAgB,SAAS,CAAC,MAAc,EAAE,MAAe;IACrD,MAAM,MAAM,GAAG,IAAI,oBAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtD,OAAO;QACH,KAAK,CAAC,IAAI,CAAC,GAAG;YACV,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,4BAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YACrF,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,EAAE,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClD,CAAC;KACJ,CAAC;AACN,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import { Liquid } from 'liquidjs';
2
- import { CeemsPage, CeemsSite } from '../interfaces';
3
- export declare function registerBlogTag(engine: Liquid, site: CeemsSite, page: CeemsPage): void;
2
+ /**
3
+ * `{% blog <name> <template> [perPage] [tag] %}` renders one page of a blog's articles from `site.json` `blogs`,
4
+ * optionally filtered by tag. The page number comes from the URL (`/news/2`).
5
+ */
6
+ export declare function registerBlogTag(engine: Liquid): void;
package/lib/tags/blog.js CHANGED
@@ -1,67 +1,51 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerBlogTag = void 0;
4
- function registerBlogTag(engine, site, page) {
3
+ exports.registerBlogTag = registerBlogTag;
4
+ const state_1 = require("../state");
5
+ /**
6
+ * `{% blog <name> <template> [perPage] [tag] %}` renders one page of a blog's articles from `site.json` `blogs`,
7
+ * optionally filtered by tag. The page number comes from the URL (`/news/2`).
8
+ */
9
+ function registerBlogTag(engine) {
5
10
  engine.registerTag('blog', {
6
- parse: function (tagToken, remainTokens) {
11
+ parse: function (tagToken) {
7
12
  this.match = tagToken.args.split(' ');
8
13
  },
9
- render: function (scope, hash) {
10
- // get the blog
11
- let blog = site.blogs[this.match[0]];
14
+ render: function (context) {
15
+ const { site, page } = (0, state_1.renderState)(context);
16
+ const blog = site.blogs[this.match[0]];
12
17
  if (!blog)
13
18
  return;
14
- // loop over articles, push articles that match tag or pagination, into array
15
- let articles = [];
16
- let tag;
17
19
  // if tag set, create filtered array of articles
20
+ let articles = [];
18
21
  if (this.match[3]) {
19
- tag = engine.evalValueSync(this.match[3], scope);
22
+ let tag = engine.evalValueSync(this.match[3], context);
20
23
  if (!tag) {
21
24
  tag = this.match[3];
22
25
  }
23
- blog.articles.forEach((article) => {
24
- if (article.tags && article.tags.indexOf(tag) > -1) {
25
- articles.push(article);
26
- }
27
- });
26
+ articles = blog.articles.filter((article) => article.tags && article.tags.indexOf(tag) > -1);
28
27
  }
29
28
  else {
30
29
  articles = blog.articles;
31
30
  }
32
- //check if articles per page is set
33
- let articlesPerPage = 10;
34
- if (this.match[2]) {
35
- articlesPerPage = parseInt(this.match[2]);
36
- }
37
- let pagination = 1;
38
- if (page.pagination)
39
- pagination = page.pagination;
40
- // if (scope.page && scope.scopes[0].page.pagination) {
41
- // pagination = scope.scopes[0].page.pagination;
42
- // }
43
- let start = articlesPerPage * (pagination - 1);
44
- let end = start + articlesPerPage;
45
- let lastPage = Math.ceil(articles.length / articlesPerPage);
46
- // is page greater than the number of articles?
47
- // throw a 404
31
+ const articlesPerPage = this.match[2] ? parseInt(this.match[2]) : 10;
32
+ const pagination = page.pagination || 1;
33
+ const start = articlesPerPage * (pagination - 1);
34
+ const end = start + articlesPerPage;
35
+ const lastPage = Math.ceil(articles.length / articlesPerPage);
36
+ // a page number past the last article is a 404
48
37
  if (start >= articles.length) {
49
- throw new Error('This page does not exist');
38
+ throw new state_1.NotFoundError('This page does not exist');
50
39
  }
51
- var template = engine.evalValueSync(this.match[1], scope);
40
+ let template = engine.evalValueSync(this.match[1], context);
52
41
  if (!template) {
53
42
  template = this.match[1];
54
43
  }
55
44
  return engine.renderFile(template + '.liquid', {
56
- blog: {
57
- articles: articles.slice(start, end),
58
- pagination: pagination,
59
- lastPage: lastPage
60
- },
61
- page: Object.assign({}, page)
62
- });
45
+ blog: { articles: articles.slice(start, end), pagination, lastPage },
46
+ page: { ...page },
47
+ }, (0, state_1.nestedRenderOptions)(context));
63
48
  },
64
49
  });
65
50
  }
66
- exports.registerBlogTag = registerBlogTag;
67
51
  //# sourceMappingURL=blog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":";;;AAIA,SAAgB,eAAe,CAAC,MAAc,EAAE,IAAe,EAAE,IAAe;IAC5E,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QAEvB,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,gBAAgB;YAChB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAErC,IAAG,CAAC,IAAI;gBACJ,OAAM;YAEV,6EAA6E;YAC7E,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,GAAG,CAAA;YACP,gDAAgD;YAChD,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACf,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBACjD,IAAI,CAAC,GAAG,EAAE;oBACN,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;iBACvB;gBAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC9B,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;wBAChD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC1B;gBACL,CAAC,CAAC,CAAC;aACN;iBAAM;gBACH,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;aAC5B;YAED,mCAAmC;YACnC,IAAI,eAAe,GAAG,EAAE,CAAA;YACxB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACf,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7C;YACD,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,IAAG,IAAI,CAAC,UAAU;gBAAE,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACjD,uDAAuD;YACvD,oDAAoD;YACpD,IAAI;YACJ,IAAI,KAAK,GAAG,eAAe,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YAC/C,IAAI,GAAG,GAAG,KAAK,GAAG,eAAe,CAAC;YAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;YAC5D,+CAA+C;YAC/C,cAAc;YACd,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;aAC/C;YAED,IAAI,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1D,IAAI,CAAC,QAAQ,EAAE;gBACX,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5B;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,EAAE;gBAC3C,IAAI,EAAE;oBACF,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC;oBACpC,UAAU,EAAE,UAAU;oBACtB,QAAQ,EAAE,QAAQ;iBACrB;gBACD,IAAI,oBACG,IAAI,CACV;aACJ,CAAC,CAAC;QAEP,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAvED,0CAuEC"}
1
+ {"version":3,"file":"blog.js","sourceRoot":"","sources":["../../src/tags/blog.ts"],"names":[],"mappings":";;AAOA,0CAgDC;AAtDD,oCAA2E;AAE3E;;;GAGG;AACH,SAAgB,eAAe,CAAC,MAAc;IAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACvB,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,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAElB,gDAAgD;YAChD,IAAI,QAAQ,GAAG,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,IAAI,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACxB,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC;iBAAM,CAAC;gBACJ,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;YACxC,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,GAAG,GAAG,KAAK,GAAG,eAAe,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;YAE9D,+CAA+C;YAC/C,IAAI,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,IAAI,qBAAa,CAAC,0BAA0B,CAAC,CAAC;YACxD,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,CACpB,QAAQ,GAAG,SAAS,EACpB;gBACI,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;gBACpE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE;aACpB,EACD,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAC/B,CAAC;QACN,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { Liquid } from 'liquidjs';
2
- export declare function registerBreadcrumbTag(engine: Liquid, site: any, page: any): void;
2
+ /** `{% breadcrumb <template> %}` renders the published ancestors of the current page. */
3
+ export declare function registerBreadcrumbTag(engine: Liquid): void;