@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.
Files changed (55) hide show
  1. package/README.md +81 -0
  2. package/lib/draft.d.ts +20 -0
  3. package/lib/draft.js +109 -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 +51 -10
  12. package/lib/index.js +262 -323
  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/preview-token.d.ts +21 -0
  18. package/lib/preview-token.js +37 -0
  19. package/lib/preview-token.js.map +1 -0
  20. package/lib/state.d.ts +17 -0
  21. package/lib/state.js +44 -0
  22. package/lib/state.js.map +1 -0
  23. package/lib/storage.d.ts +6 -0
  24. package/lib/storage.js +24 -0
  25. package/lib/storage.js.map +1 -0
  26. package/lib/tags/blog.d.ts +5 -2
  27. package/lib/tags/blog.js +25 -41
  28. package/lib/tags/blog.js.map +1 -1
  29. package/lib/tags/breadcrumb.d.ts +2 -1
  30. package/lib/tags/breadcrumb.js +13 -15
  31. package/lib/tags/breadcrumb.js.map +1 -1
  32. package/lib/tags/image.d.ts +2 -0
  33. package/lib/tags/image.js +25 -68
  34. package/lib/tags/image.js.map +1 -1
  35. package/lib/tags/index.js +5 -1
  36. package/lib/tags/index.js.map +1 -1
  37. package/lib/tags/module.d.ts +1 -0
  38. package/lib/tags/module.js +6 -6
  39. package/lib/tags/module.js.map +1 -1
  40. package/lib/tags/navigation.d.ts +5 -2
  41. package/lib/tags/navigation.js +14 -217
  42. package/lib/tags/navigation.js.map +1 -1
  43. package/lib/tags/page.d.ts +5 -2
  44. package/lib/tags/page.js +9 -21
  45. package/lib/tags/page.js.map +1 -1
  46. package/lib/tags/region.d.ts +1 -0
  47. package/lib/tags/region.js +6 -7
  48. package/lib/tags/region.js.map +1 -1
  49. package/package.json +25 -26
  50. package/lib/test-tags.d.ts +0 -3
  51. package/lib/test-tags.js +0 -125
  52. package/lib/test-tags.js.map +0 -1
  53. package/lib/test.d.ts +0 -1
  54. package/lib/test.js +0 -52
  55. 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"}
@@ -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;
@@ -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;