@nakedcreativity/cee-ms-node 2.0.0-beta.7 → 2.0.0-beta.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +20 -4
- package/lib/index.js.map +1 -1
- package/lib/interfaces.d.ts +19 -0
- package/lib/social-meta.js +2 -1
- package/lib/social-meta.js.map +1 -1
- package/lib/views.d.ts +76 -0
- package/lib/views.js +426 -0
- package/lib/views.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -178,6 +178,48 @@ Optional:
|
|
|
178
178
|
Draft responses send `Cache-Control: no-store`, `X-Robots-Tag: noindex`, `frame-ancestors <editor origin>` and
|
|
179
179
|
`Referrer-Policy: no-referrer` (the token is in the URL).
|
|
180
180
|
|
|
181
|
+
## Views and the editor
|
|
182
|
+
|
|
183
|
+
A view is named by its file name alone: a module of type `text` renders `text.liquid`, a page from a template
|
|
184
|
+
with the layout `default` renders `default.liquid`. Views can be grouped in folders, which also tell the editor
|
|
185
|
+
what each one is:
|
|
186
|
+
|
|
187
|
+
```
|
|
188
|
+
views/
|
|
189
|
+
layouts/default.liquid templates: each {% region %} is somewhere modules go
|
|
190
|
+
modules/text.liquid module types: the values they print are their fields
|
|
191
|
+
partials/nav.liquid everything else (navigation, includes)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Names are looked up in `views/`, then `layouts/`, `modules/` and `partials/`, so a site with every view at the
|
|
195
|
+
top of `views/` works as before.
|
|
196
|
+
|
|
197
|
+
When the preview secret is set, `GET /ceems/views?token=…` lists the views for the Cee.ms editor, which
|
|
198
|
+
suggests templates and module types from them: their regions, and for modules the values they read and how (an
|
|
199
|
+
image, a date, a link, a list of items). Run it again from the editor as the site grows. The token is one the
|
|
200
|
+
editor signs for this purpose, and only that editor may read the response, from the browser: that is how it
|
|
201
|
+
reaches a site running on `localhost` (the route answers Chrome's private network preflight). Without folders,
|
|
202
|
+
a view with a `{% region %}` is taken to be a layout, and the rest modules.
|
|
203
|
+
|
|
204
|
+
The guesses can be overridden in a comment at the top of a view:
|
|
205
|
+
|
|
206
|
+
```liquid
|
|
207
|
+
{% comment %}
|
|
208
|
+
@name Team members
|
|
209
|
+
@field intro RICH_TEXT Introduction
|
|
210
|
+
@field people.photo IMAGE Photo
|
|
211
|
+
{% endcomment %}
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
`@field <key> <kind> [label]` sets a field's kind (`TEXT`, `TEXTBOX`, `RICH_TEXT`, `SELECT`, `CHECKBOX`, `DATE`,
|
|
215
|
+
`IMAGE`, `DOCUMENT`, `LINK` or `CONTRIBUTOR`) and label; `people.photo` is the `photo` of each item looped over
|
|
216
|
+
in `people`. `scanViews(viewsPath)` returns the same list, for scripts.
|
|
217
|
+
|
|
218
|
+
## Upgrading to 2.0.0-beta.8
|
|
219
|
+
|
|
220
|
+
- **Views in folders** (`layouts/`, `modules/`, `partials/`), and **`GET /ceems/views`** for the editor's view
|
|
221
|
+
sync (above). Sites with flat views are unchanged.
|
|
222
|
+
|
|
181
223
|
## Upgrading to 2.0.0-beta.6
|
|
182
224
|
|
|
183
225
|
Upgrade the Cee.ms API first. Drafts now ask it for the data a page's rows come from, which earlier versions of
|
package/lib/index.d.ts
CHANGED
|
@@ -10,6 +10,8 @@ export type { LinkContext } from './links';
|
|
|
10
10
|
export { enabledTypes, entityOf, serialiseJsonLd, structuredDataGraph } from './structured-data';
|
|
11
11
|
export { socialMeta, renderSocialMeta, SocialMetaTag } from './social-meta';
|
|
12
12
|
export type { StructuredDataPart } from './structured-data';
|
|
13
|
+
export { VIEW_FOLDERS, VIEWS_TOKEN_SUBJECT, scanViews, viewRoots } from './views';
|
|
14
|
+
export type { ScanOptions, ViewHint, ViewInfo, ViewManifest, ViewVariable } from './views';
|
|
13
15
|
/**
|
|
14
16
|
* A Cee.ms site renderer: an Express app that renders published pages, and verified editor drafts, with the
|
|
15
17
|
* site's Liquid templates.
|
package/lib/index.js
CHANGED
|
@@ -39,9 +39,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
40
|
};
|
|
41
41
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
-
exports.Ceems = exports.renderSocialMeta = exports.socialMeta = exports.structuredDataGraph = exports.serialiseJsonLd = exports.entityOf = exports.enabledTypes = exports.wrapLinks = exports.linkContextFor = exports.RowDrop = exports.LinkDrop = exports.DocumentDrop = exports.renderState = exports.verifyPreviewToken = exports.signPreviewToken = void 0;
|
|
42
|
+
exports.Ceems = exports.viewRoots = exports.scanViews = exports.VIEWS_TOKEN_SUBJECT = exports.VIEW_FOLDERS = exports.renderSocialMeta = exports.socialMeta = exports.structuredDataGraph = exports.serialiseJsonLd = exports.entityOf = exports.enabledTypes = exports.wrapLinks = exports.linkContextFor = exports.RowDrop = exports.LinkDrop = exports.DocumentDrop = exports.renderState = exports.verifyPreviewToken = exports.signPreviewToken = void 0;
|
|
43
43
|
const express_1 = __importDefault(require("express"));
|
|
44
|
-
const path_1 = __importDefault(require("path"));
|
|
45
44
|
const fs_1 = __importDefault(require("fs"));
|
|
46
45
|
const liquidjs_1 = require("liquidjs");
|
|
47
46
|
const links_1 = require("./links");
|
|
@@ -52,6 +51,7 @@ const interfaces_1 = require("./interfaces");
|
|
|
52
51
|
const storage_1 = require("./storage");
|
|
53
52
|
const state_1 = require("./state");
|
|
54
53
|
const draft_1 = require("./draft");
|
|
54
|
+
const views_1 = require("./views");
|
|
55
55
|
__exportStar(require("./interfaces"), exports);
|
|
56
56
|
var preview_token_1 = require("./preview-token");
|
|
57
57
|
Object.defineProperty(exports, "signPreviewToken", { enumerable: true, get: function () { return preview_token_1.signPreviewToken; } });
|
|
@@ -72,6 +72,11 @@ Object.defineProperty(exports, "structuredDataGraph", { enumerable: true, get: f
|
|
|
72
72
|
var social_meta_1 = require("./social-meta");
|
|
73
73
|
Object.defineProperty(exports, "socialMeta", { enumerable: true, get: function () { return social_meta_1.socialMeta; } });
|
|
74
74
|
Object.defineProperty(exports, "renderSocialMeta", { enumerable: true, get: function () { return social_meta_1.renderSocialMeta; } });
|
|
75
|
+
var views_2 = require("./views");
|
|
76
|
+
Object.defineProperty(exports, "VIEW_FOLDERS", { enumerable: true, get: function () { return views_2.VIEW_FOLDERS; } });
|
|
77
|
+
Object.defineProperty(exports, "VIEWS_TOKEN_SUBJECT", { enumerable: true, get: function () { return views_2.VIEWS_TOKEN_SUBJECT; } });
|
|
78
|
+
Object.defineProperty(exports, "scanViews", { enumerable: true, get: function () { return views_2.scanViews; } });
|
|
79
|
+
Object.defineProperty(exports, "viewRoots", { enumerable: true, get: function () { return views_2.viewRoots; } });
|
|
75
80
|
/**
|
|
76
81
|
* A Cee.ms site renderer: an Express app that renders published pages, and verified editor drafts, with the
|
|
77
82
|
* site's Liquid templates.
|
|
@@ -110,8 +115,10 @@ class Ceems {
|
|
|
110
115
|
this.config.filters = this.config.filters || [];
|
|
111
116
|
this.storage = this.storageFor(this.config);
|
|
112
117
|
// One engine for the life of the process. Site data is passed per render, never through these options.
|
|
118
|
+
// Views can be grouped in `layouts/`, `modules/` and `partials/`, still named by file name alone.
|
|
119
|
+
const roots = (0, views_1.viewRoots)(this.config.viewsPath);
|
|
113
120
|
this.engine = new liquidjs_1.Liquid({
|
|
114
|
-
root:
|
|
121
|
+
root: roots,
|
|
115
122
|
extname: '.liquid',
|
|
116
123
|
cache: this.config.liquidCache,
|
|
117
124
|
jsTruthy: true,
|
|
@@ -121,7 +128,7 @@ class Ceems {
|
|
|
121
128
|
this.app = (0, express_1.default)();
|
|
122
129
|
this.app.set('case sensitive routing', true);
|
|
123
130
|
this.app.engine('liquid', this.engine.express());
|
|
124
|
-
this.app.set('views',
|
|
131
|
+
this.app.set('views', roots);
|
|
125
132
|
this.app.set('view engine', 'liquid');
|
|
126
133
|
this.app.use(express_1.default.static(this.config.assets));
|
|
127
134
|
this.app.use(express_1.default.json({ limit: this.config.parseLimit || '250kb' }));
|
|
@@ -129,6 +136,15 @@ class Ceems {
|
|
|
129
136
|
// Drafts are registered before the published-site middleware: they never read or replace `this.site`.
|
|
130
137
|
this.drafts = (0, draft_1.draftServiceFor)(this.config.preview);
|
|
131
138
|
this.app.get('/draft/:pageId', (req, res) => this.handleDraft(req, res));
|
|
139
|
+
// The views' manifest, for the editor to suggest templates and module types from. Also before the
|
|
140
|
+
// published site: a new site has nothing published yet.
|
|
141
|
+
const views = {
|
|
142
|
+
secret: this.config.preview?.secret || process.env.CEEMS_PREVIEW_SECRET,
|
|
143
|
+
viewsPath: this.config.viewsPath,
|
|
144
|
+
globals: Object.keys(this.config.globals || {}),
|
|
145
|
+
};
|
|
146
|
+
this.app.options('/ceems/views', (0, views_1.viewsPreflightHandler)());
|
|
147
|
+
this.app.get('/ceems/views', (0, views_1.viewsHandler)(views));
|
|
132
148
|
// load the published site map for every page request
|
|
133
149
|
this.app.use((req, res, next) => {
|
|
134
150
|
this.loadSite().then((site) => {
|
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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"}
|
package/lib/interfaces.d.ts
CHANGED
|
@@ -234,6 +234,9 @@ export interface CeemsOrganisation {
|
|
|
234
234
|
email?: string;
|
|
235
235
|
telephone?: string;
|
|
236
236
|
address?: CeemsPostalAddress;
|
|
237
|
+
/** Its profiles by platform, e.g. `{{ site.organisation.socialProfiles.instagram }}`. */
|
|
238
|
+
socialProfiles?: CeemsSocialProfiles;
|
|
239
|
+
/** Every profile URL in `socialProfiles`, as structured data lists them. */
|
|
237
240
|
sameAs?: string[];
|
|
238
241
|
openingHours?: {
|
|
239
242
|
days: string[];
|
|
@@ -242,6 +245,22 @@ export interface CeemsOrganisation {
|
|
|
242
245
|
}[];
|
|
243
246
|
priceRange?: string;
|
|
244
247
|
}
|
|
248
|
+
/** Profile URLs on the platforms most sites link to, and any others by name. */
|
|
249
|
+
export interface CeemsSocialProfiles {
|
|
250
|
+
instagram?: string;
|
|
251
|
+
facebook?: string;
|
|
252
|
+
linkedin?: string;
|
|
253
|
+
x?: string;
|
|
254
|
+
youtube?: string;
|
|
255
|
+
tiktok?: string;
|
|
256
|
+
bluesky?: string;
|
|
257
|
+
/** A `wa.me` link. */
|
|
258
|
+
whatsapp?: string;
|
|
259
|
+
custom: {
|
|
260
|
+
name: string;
|
|
261
|
+
url: string;
|
|
262
|
+
}[];
|
|
263
|
+
}
|
|
245
264
|
export type CeemsAvailability = 'IN_STOCK' | 'OUT_OF_STOCK' | 'PRE_ORDER' | 'SOLD_OUT' | 'DISCONTINUED';
|
|
246
265
|
export interface CeemsOffer {
|
|
247
266
|
price: number;
|
package/lib/social-meta.js
CHANGED
|
@@ -52,7 +52,8 @@ function socialMeta(site, page) {
|
|
|
52
52
|
og('article:tag', tag);
|
|
53
53
|
}
|
|
54
54
|
x('twitter:card', image ? 'summary_large_image' : 'summary');
|
|
55
|
-
|
|
55
|
+
const org = site.site?.organisation;
|
|
56
|
+
x('twitter:site', xHandle(org?.socialProfiles?.x ? [org.socialProfiles.x] : org?.sameAs));
|
|
56
57
|
return tags;
|
|
57
58
|
}
|
|
58
59
|
/** The organisation's X account, `@name`, from its profile links. */
|
package/lib/social-meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"social-meta.js","sourceRoot":"","sources":["../src/social-meta.ts"],"names":[],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"social-meta.js","sourceRoot":"","sources":["../src/social-meta.ts"],"names":[],"mappings":"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"}
|
package/lib/views.d.ts
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type express from 'express';
|
|
2
|
+
/**
|
|
3
|
+
* What a site's views need from the editor, read from their source: which are layouts (templates, with the
|
|
4
|
+
* regions they place) and which are modules (module types, with the values they read). Served to the Cee.ms
|
|
5
|
+
* editor at `GET /ceems/views`, which suggests templates and module types from it.
|
|
6
|
+
*
|
|
7
|
+
* Views can be grouped in folders, `layouts/`, `modules/` and `partials/`, which then decide what each one
|
|
8
|
+
* is. A site with none of them keeps every view at the top: a view with a `{% region %}` is a layout, and the
|
|
9
|
+
* rest are modules. Either way a view is named by its file name alone, as templates and modules refer to it.
|
|
10
|
+
*/
|
|
11
|
+
/** The folders views can be grouped in, in the order a name is looked up. */
|
|
12
|
+
export declare const VIEW_FOLDERS: readonly ["layouts", "modules", "partials"];
|
|
13
|
+
/** The page id the Cee.ms API signs a preview token with to read the views. */
|
|
14
|
+
export declare const VIEWS_TOKEN_SUBJECT = "ceems:views";
|
|
15
|
+
export interface ViewManifest {
|
|
16
|
+
version: 1;
|
|
17
|
+
views: ViewInfo[];
|
|
18
|
+
warnings: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface ViewInfo {
|
|
21
|
+
/** The file name without `.liquid`: what a module's `type` and a template's `layout` name. */
|
|
22
|
+
name: string;
|
|
23
|
+
/** Relative to the views folder, e.g. `modules/text.liquid`. */
|
|
24
|
+
path: string;
|
|
25
|
+
kind: 'layout' | 'module' | 'partial';
|
|
26
|
+
/** From an `@name` annotation. */
|
|
27
|
+
title?: string;
|
|
28
|
+
/** The keys of its `{% region %}` tags, in order. */
|
|
29
|
+
regions: string[];
|
|
30
|
+
variables: ViewVariable[];
|
|
31
|
+
}
|
|
32
|
+
export type ViewHint = 'output' | 'image' | 'date' | 'href' | 'condition' | 'case' | 'raw';
|
|
33
|
+
export interface ViewVariable {
|
|
34
|
+
key: string;
|
|
35
|
+
/**
|
|
36
|
+
* How the view uses it: printed (`{{ x }}`), in `{% image %}`, with a `date` filter, as a link's `href`, in
|
|
37
|
+
* a condition, in a `case`, as a block of HTML.
|
|
38
|
+
*/
|
|
39
|
+
hints: ViewHint[];
|
|
40
|
+
/** What the view reads from it: `x.url` reads `url`. */
|
|
41
|
+
properties: string[];
|
|
42
|
+
/** The values `{% when %}` compares it with, under `{% case %}`. */
|
|
43
|
+
options: string[];
|
|
44
|
+
/** When the view loops over it: what each item reads (`p.name` reads `name`). */
|
|
45
|
+
items?: ViewVariable[];
|
|
46
|
+
/** From an `@field` annotation: TEXT, TEXTBOX, RICH_TEXT, SELECT, CHECKBOX, DATE, IMAGE, DOCUMENT, LINK or CONTRIBUTOR. */
|
|
47
|
+
kind?: string;
|
|
48
|
+
/** From an `@field` annotation. */
|
|
49
|
+
label?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ScanOptions {
|
|
52
|
+
/** Static globals the site's templates read, which aren't module values. */
|
|
53
|
+
globals?: string[];
|
|
54
|
+
}
|
|
55
|
+
/** The views folder and those of its subfolders that exist: the roots views are looked up in, in order. */
|
|
56
|
+
export declare function viewRoots(viewsPath: string): string[];
|
|
57
|
+
/** Reads every view in the folder (and its `layouts/`, `modules/` and `partials/`). */
|
|
58
|
+
export declare function scanViews(viewsPath: string, options?: ScanOptions): ViewManifest;
|
|
59
|
+
/** Where `GET /ceems/views` reads from, and the secret its tokens are signed with. */
|
|
60
|
+
export interface ViewsRouteConfig {
|
|
61
|
+
secret?: string;
|
|
62
|
+
viewsPath: string;
|
|
63
|
+
globals?: string[];
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* `GET /ceems/views?token=…`: the views' manifest, for the editor. The token is a preview token signed for
|
|
67
|
+
* `VIEWS_TOKEN_SUBJECT`; the editor it names may read the response from the browser, which is how it reaches
|
|
68
|
+
* a site running on `localhost`. 404 without a preview secret, like drafts.
|
|
69
|
+
*/
|
|
70
|
+
export declare function viewsHandler(config: ViewsRouteConfig): express.RequestHandler;
|
|
71
|
+
/**
|
|
72
|
+
* `OPTIONS /ceems/views?token=…`: the browser's preflight. Chrome sends one before a public page (the editor)
|
|
73
|
+
* reads from a private address (`localhost`), and needs `Access-Control-Allow-Private-Network` back. Any page
|
|
74
|
+
* may make the request: only the editor a valid token names can read the views it returns.
|
|
75
|
+
*/
|
|
76
|
+
export declare function viewsPreflightHandler(): express.RequestHandler;
|
package/lib/views.js
ADDED
|
@@ -0,0 +1,426 @@
|
|
|
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.VIEWS_TOKEN_SUBJECT = exports.VIEW_FOLDERS = void 0;
|
|
7
|
+
exports.viewRoots = viewRoots;
|
|
8
|
+
exports.scanViews = scanViews;
|
|
9
|
+
exports.viewsHandler = viewsHandler;
|
|
10
|
+
exports.viewsPreflightHandler = viewsPreflightHandler;
|
|
11
|
+
const fs_1 = __importDefault(require("fs"));
|
|
12
|
+
const path_1 = __importDefault(require("path"));
|
|
13
|
+
const liquidjs_1 = require("liquidjs");
|
|
14
|
+
const preview_token_1 = require("./preview-token");
|
|
15
|
+
/**
|
|
16
|
+
* What a site's views need from the editor, read from their source: which are layouts (templates, with the
|
|
17
|
+
* regions they place) and which are modules (module types, with the values they read). Served to the Cee.ms
|
|
18
|
+
* editor at `GET /ceems/views`, which suggests templates and module types from it.
|
|
19
|
+
*
|
|
20
|
+
* Views can be grouped in folders, `layouts/`, `modules/` and `partials/`, which then decide what each one
|
|
21
|
+
* is. A site with none of them keeps every view at the top: a view with a `{% region %}` is a layout, and the
|
|
22
|
+
* rest are modules. Either way a view is named by its file name alone, as templates and modules refer to it.
|
|
23
|
+
*/
|
|
24
|
+
/** The folders views can be grouped in, in the order a name is looked up. */
|
|
25
|
+
exports.VIEW_FOLDERS = ['layouts', 'modules', 'partials'];
|
|
26
|
+
/** The page id the Cee.ms API signs a preview token with to read the views. */
|
|
27
|
+
exports.VIEWS_TOKEN_SUBJECT = 'ceems:views';
|
|
28
|
+
/**
|
|
29
|
+
* What every template can read that isn't a module's own value: the published site's keys, the render's, and
|
|
30
|
+
* the `blog` a `{% blog %}` tag renders with. Not `people`: modules often have a field of that name, which
|
|
31
|
+
* their values then shadow.
|
|
32
|
+
*/
|
|
33
|
+
const GLOBALS = [
|
|
34
|
+
'page',
|
|
35
|
+
'site',
|
|
36
|
+
'settings',
|
|
37
|
+
'pages',
|
|
38
|
+
'pageIndex',
|
|
39
|
+
'documents',
|
|
40
|
+
'collections',
|
|
41
|
+
'navigation',
|
|
42
|
+
'attributes',
|
|
43
|
+
'metadata',
|
|
44
|
+
'blogs',
|
|
45
|
+
'blog',
|
|
46
|
+
'modules',
|
|
47
|
+
'regions',
|
|
48
|
+
'forloop',
|
|
49
|
+
'tablerowloop',
|
|
50
|
+
];
|
|
51
|
+
const KEYWORDS = new Set(['and', 'or', 'contains', 'true', 'false', 'nil', 'null', 'empty', 'blank', 'in']);
|
|
52
|
+
const BLOCK_TAGS = 'div|section|article|main|aside|blockquote|li|td';
|
|
53
|
+
/** The views folder and those of its subfolders that exist: the roots views are looked up in, in order. */
|
|
54
|
+
function viewRoots(viewsPath) {
|
|
55
|
+
const root = path_1.default.resolve(viewsPath);
|
|
56
|
+
const folders = exports.VIEW_FOLDERS.map((folder) => path_1.default.join(root, folder)).filter((dir) => fs_1.default.existsSync(dir) && fs_1.default.statSync(dir).isDirectory());
|
|
57
|
+
return [root, ...folders];
|
|
58
|
+
}
|
|
59
|
+
/** Reads every view in the folder (and its `layouts/`, `modules/` and `partials/`). */
|
|
60
|
+
function scanViews(viewsPath, options = {}) {
|
|
61
|
+
const root = path_1.default.resolve(viewsPath);
|
|
62
|
+
const globals = new Set([...GLOBALS, ...(options.globals || [])]);
|
|
63
|
+
const foldered = viewRoots(root).length > 1;
|
|
64
|
+
const views = [];
|
|
65
|
+
const warnings = [];
|
|
66
|
+
const seen = new Map();
|
|
67
|
+
for (const dir of viewRoots(root)) {
|
|
68
|
+
const folder = path_1.default.relative(root, dir);
|
|
69
|
+
const files = fs_1.default
|
|
70
|
+
.readdirSync(dir)
|
|
71
|
+
.filter((file) => file.endsWith('.liquid') && fs_1.default.statSync(path_1.default.join(dir, file)).isFile())
|
|
72
|
+
.sort();
|
|
73
|
+
for (const file of files) {
|
|
74
|
+
const name = file.slice(0, -'.liquid'.length);
|
|
75
|
+
const relative = folder ? `${folder}/${file}` : file;
|
|
76
|
+
const first = seen.get(name);
|
|
77
|
+
if (first) {
|
|
78
|
+
warnings.push(`\`${name}\` is in both ${first} and ${relative}: only ${first} renders`);
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
seen.set(name, relative);
|
|
82
|
+
const scanned = scanView(fs_1.default.readFileSync(path_1.default.join(dir, file), 'utf8'), globals);
|
|
83
|
+
let kind;
|
|
84
|
+
if (folder === 'layouts')
|
|
85
|
+
kind = 'layout';
|
|
86
|
+
else if (folder === 'modules')
|
|
87
|
+
kind = 'module';
|
|
88
|
+
else if (folder === 'partials' || foldered)
|
|
89
|
+
kind = 'partial';
|
|
90
|
+
else
|
|
91
|
+
kind = scanned.regions.length ? 'layout' : 'module';
|
|
92
|
+
views.push({
|
|
93
|
+
name,
|
|
94
|
+
path: relative,
|
|
95
|
+
kind,
|
|
96
|
+
...(scanned.title ? { title: scanned.title } : {}),
|
|
97
|
+
regions: scanned.regions,
|
|
98
|
+
variables: scanned.variables,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return { version: 1, views, warnings };
|
|
103
|
+
}
|
|
104
|
+
let reads = 0;
|
|
105
|
+
const gathered = (key) => ({ key, hints: new Set(), properties: new Set(), options: new Set() });
|
|
106
|
+
function entry(map, key) {
|
|
107
|
+
let found = map.get(key);
|
|
108
|
+
if (!found)
|
|
109
|
+
map.set(key, (found = gathered(key)));
|
|
110
|
+
return found;
|
|
111
|
+
}
|
|
112
|
+
function finish(map) {
|
|
113
|
+
const order = (v) => v.seen ?? Infinity;
|
|
114
|
+
return [...map.values()]
|
|
115
|
+
.sort((a, b) => order(a) - order(b))
|
|
116
|
+
.map((v) => ({
|
|
117
|
+
key: v.key,
|
|
118
|
+
hints: [...v.hints],
|
|
119
|
+
properties: [...v.properties],
|
|
120
|
+
options: [...v.options],
|
|
121
|
+
...(v.items ? { items: finish(v.items) } : {}),
|
|
122
|
+
...(v.kind ? { kind: v.kind } : {}),
|
|
123
|
+
...(v.label ? { label: v.label } : {}),
|
|
124
|
+
}));
|
|
125
|
+
}
|
|
126
|
+
/** Removes quoted strings, so what's left is identifiers, operators and numbers. */
|
|
127
|
+
const unquote = (source) => source.replace(/'[^']*'|"[^"]*"/g, '""');
|
|
128
|
+
/** Splits on `|` outside quotes: the expression, then each filter with its arguments. */
|
|
129
|
+
function splitFilters(source) {
|
|
130
|
+
const parts = [];
|
|
131
|
+
let current = '';
|
|
132
|
+
let quote = '';
|
|
133
|
+
for (const char of source) {
|
|
134
|
+
if (quote) {
|
|
135
|
+
if (char === quote)
|
|
136
|
+
quote = '';
|
|
137
|
+
}
|
|
138
|
+
else if (char === '"' || char === "'") {
|
|
139
|
+
quote = char;
|
|
140
|
+
}
|
|
141
|
+
else if (char === '|') {
|
|
142
|
+
parts.push(current);
|
|
143
|
+
current = '';
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
current += char;
|
|
147
|
+
}
|
|
148
|
+
parts.push(current);
|
|
149
|
+
return parts;
|
|
150
|
+
}
|
|
151
|
+
/** The variable paths in an expression. Named arguments (`key: value`) and keywords are left out. */
|
|
152
|
+
function pathsIn(source) {
|
|
153
|
+
const text = unquote(source.replace(/\[\s*(['"])([^'"]+)\1\s*\]/g, '.$2'));
|
|
154
|
+
const paths = [];
|
|
155
|
+
const pattern = /[A-Za-z_][\w-]*(?:\.[A-Za-z_][\w-]*)*/g;
|
|
156
|
+
for (const match of text.matchAll(pattern)) {
|
|
157
|
+
const before = text[match.index - 1];
|
|
158
|
+
if (before === '.' || (before && /[\w"]/.test(before)))
|
|
159
|
+
continue;
|
|
160
|
+
const after = text.slice(match.index + match[0].length).trimStart();
|
|
161
|
+
if (after.startsWith(':'))
|
|
162
|
+
continue;
|
|
163
|
+
const segments = match[0].split('.');
|
|
164
|
+
if (KEYWORDS.has(segments[0]))
|
|
165
|
+
continue;
|
|
166
|
+
paths.push(segments);
|
|
167
|
+
}
|
|
168
|
+
return paths;
|
|
169
|
+
}
|
|
170
|
+
/** An output or filtered value: its main path, the paths anywhere in it, and its filter names. */
|
|
171
|
+
function readValue(source) {
|
|
172
|
+
const [expression, ...filters] = splitFilters(source);
|
|
173
|
+
const main = pathsIn(expression);
|
|
174
|
+
return {
|
|
175
|
+
main: main.length === 1 ? main[0] : undefined,
|
|
176
|
+
paths: [...main, ...filters.flatMap((f) => pathsIn(f.replace(/^\s*[\w-]+/, '')))],
|
|
177
|
+
filters: filters.map((f) => f.trim().split(/[\s:]/)[0]),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/** The string literals in a `{% when %}`. */
|
|
181
|
+
const literals = (source) => [...source.matchAll(/'([^']*)'|"([^"]*)"/g)].map((m) => m[1] ?? m[2]);
|
|
182
|
+
function scanView(source, globals) {
|
|
183
|
+
const tokens = new liquidjs_1.Tokenizer(source).readTopLevelTokens();
|
|
184
|
+
const variables = new Map();
|
|
185
|
+
const regions = [];
|
|
186
|
+
let title;
|
|
187
|
+
// names the view sets itself aren't module values
|
|
188
|
+
const own = new Set();
|
|
189
|
+
for (const token of tokens) {
|
|
190
|
+
const tag = token;
|
|
191
|
+
if (tag.name === 'assign')
|
|
192
|
+
own.add(String(tag.args).split('=')[0].trim());
|
|
193
|
+
if (tag.name === 'capture')
|
|
194
|
+
own.add(String(tag.args)
|
|
195
|
+
.trim()
|
|
196
|
+
.replace(/^['"]|['"]$/g, ''));
|
|
197
|
+
}
|
|
198
|
+
/** What each loop's local is an item of: a top-level variable, or `null` (a global, or nested). */
|
|
199
|
+
const loops = [];
|
|
200
|
+
/** Records a use of a path; returns the variable it names, or `null` for a global or the view's own. */
|
|
201
|
+
const use = (segments, hint) => {
|
|
202
|
+
const [root, property, deeper] = segments;
|
|
203
|
+
const loop = [...loops].reverse().find((l) => l.local === root);
|
|
204
|
+
let target;
|
|
205
|
+
let read;
|
|
206
|
+
if (loop) {
|
|
207
|
+
if (!loop.of || !property)
|
|
208
|
+
return null;
|
|
209
|
+
loop.of.items ??= new Map();
|
|
210
|
+
target = entry(loop.of.items, property);
|
|
211
|
+
read = deeper;
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
if (globals.has(root) || own.has(root))
|
|
215
|
+
return null;
|
|
216
|
+
target = entry(variables, root);
|
|
217
|
+
read = property;
|
|
218
|
+
}
|
|
219
|
+
if (read)
|
|
220
|
+
target.properties.add(read);
|
|
221
|
+
if (hint)
|
|
222
|
+
target.hints.add(hint);
|
|
223
|
+
target.seen ??= ++reads;
|
|
224
|
+
return target;
|
|
225
|
+
};
|
|
226
|
+
let skipping = null;
|
|
227
|
+
let casing = null;
|
|
228
|
+
tokens.forEach((token, index) => {
|
|
229
|
+
const tag = token;
|
|
230
|
+
const name = tag.name;
|
|
231
|
+
if (skipping) {
|
|
232
|
+
if (name === 'end' + skipping)
|
|
233
|
+
skipping = null;
|
|
234
|
+
else if (skipping === 'comment' && tag.kind === liquidjs_1.TokenKind.HTML) {
|
|
235
|
+
title = annotate(tag.getContent(), variables) ?? title;
|
|
236
|
+
}
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
// an output: `{{ … }}`
|
|
240
|
+
if (tag.kind === liquidjs_1.TokenKind.Output) {
|
|
241
|
+
const value = readValue(tag.content);
|
|
242
|
+
const before = htmlAt(tokens, index - 1);
|
|
243
|
+
const after = htmlAt(tokens, index + 1);
|
|
244
|
+
for (const segments of value.paths) {
|
|
245
|
+
const variable = use(segments, 'output');
|
|
246
|
+
if (!variable || segments !== value.main)
|
|
247
|
+
continue;
|
|
248
|
+
if (value.filters.includes('date'))
|
|
249
|
+
variable.hints.add('date');
|
|
250
|
+
if (/href=["']?$/i.test(before))
|
|
251
|
+
variable.hints.add('href');
|
|
252
|
+
const open = before.match(new RegExp(`<(${BLOCK_TAGS})\\b[^>]*>\\s*$`, 'i'));
|
|
253
|
+
if (open && new RegExp(`^\\s*</${open[1]}\\s*>`, 'i').test(after))
|
|
254
|
+
variable.hints.add('raw');
|
|
255
|
+
}
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
if (tag.kind !== liquidjs_1.TokenKind.Tag)
|
|
259
|
+
return;
|
|
260
|
+
const args = String(tag.args || '');
|
|
261
|
+
switch (name) {
|
|
262
|
+
case 'raw':
|
|
263
|
+
case 'comment':
|
|
264
|
+
skipping = name;
|
|
265
|
+
break;
|
|
266
|
+
case 'region': {
|
|
267
|
+
const key = args.trim().replace(/^['"]|['"]$/g, '');
|
|
268
|
+
if (key && !regions.includes(key))
|
|
269
|
+
regions.push(key);
|
|
270
|
+
break;
|
|
271
|
+
}
|
|
272
|
+
case 'if':
|
|
273
|
+
case 'elsif':
|
|
274
|
+
case 'unless':
|
|
275
|
+
for (const segments of pathsIn(args))
|
|
276
|
+
use(segments, 'condition');
|
|
277
|
+
break;
|
|
278
|
+
case 'case': {
|
|
279
|
+
const [segments] = pathsIn(args);
|
|
280
|
+
casing = segments ? use(segments, 'case') : null;
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
case 'when':
|
|
284
|
+
for (const value of literals(args))
|
|
285
|
+
casing?.options.add(value);
|
|
286
|
+
for (const segments of pathsIn(args))
|
|
287
|
+
use(segments);
|
|
288
|
+
break;
|
|
289
|
+
case 'endcase':
|
|
290
|
+
casing = null;
|
|
291
|
+
break;
|
|
292
|
+
case 'for':
|
|
293
|
+
case 'tablerow': {
|
|
294
|
+
const match = args.match(/^\s*([\w-]+)\s+in\s+(.+)$/);
|
|
295
|
+
if (!match)
|
|
296
|
+
break;
|
|
297
|
+
const [segments, ...rest] = pathsIn(match[2]);
|
|
298
|
+
let of = null;
|
|
299
|
+
if (segments) {
|
|
300
|
+
const variable = use(segments);
|
|
301
|
+
// only a loop straight over a top-level value gives its items
|
|
302
|
+
if (variable && segments.length === 1 && variables.get(segments[0]) === variable)
|
|
303
|
+
of = variable;
|
|
304
|
+
}
|
|
305
|
+
for (const other of rest)
|
|
306
|
+
use(other);
|
|
307
|
+
loops.push({ local: match[1], of });
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
case 'endfor':
|
|
311
|
+
case 'endtablerow':
|
|
312
|
+
loops.pop();
|
|
313
|
+
break;
|
|
314
|
+
case 'image':
|
|
315
|
+
case 'imageurl': {
|
|
316
|
+
// the rest are size names
|
|
317
|
+
const [segments] = pathsIn(args.trim().split(/\s+/)[0] || '');
|
|
318
|
+
if (segments)
|
|
319
|
+
use(segments, 'image');
|
|
320
|
+
break;
|
|
321
|
+
}
|
|
322
|
+
case 'assign':
|
|
323
|
+
for (const segments of readValue(args.slice(args.indexOf('=') + 1)).paths)
|
|
324
|
+
use(segments);
|
|
325
|
+
break;
|
|
326
|
+
case 'echo':
|
|
327
|
+
for (const segments of readValue(args).paths)
|
|
328
|
+
use(segments, 'output');
|
|
329
|
+
break;
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
return { title, regions, variables: finish(variables) };
|
|
333
|
+
}
|
|
334
|
+
/** The HTML of the token at `index`, or `''`. */
|
|
335
|
+
function htmlAt(tokens, index) {
|
|
336
|
+
const token = tokens[index];
|
|
337
|
+
return token?.kind === liquidjs_1.TokenKind.HTML ? token.getContent() : '';
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Reads `@name Team members` and `@field <key> <KIND> [label]` lines (`@field people.name TEXT Name` for an
|
|
341
|
+
* item's value). Returns the name, if one is given.
|
|
342
|
+
*/
|
|
343
|
+
function annotate(text, variables) {
|
|
344
|
+
let title;
|
|
345
|
+
for (const line of text.split('\n').map((l) => l.trim())) {
|
|
346
|
+
const named = line.match(/^@name\s+(.+)$/);
|
|
347
|
+
if (named)
|
|
348
|
+
title = named[1].trim();
|
|
349
|
+
const field = line.match(/^@field\s+([\w.-]+)\s+([A-Z_]+)(?:\s+(.+))?$/);
|
|
350
|
+
if (field) {
|
|
351
|
+
const [root, item] = field[1].split('.');
|
|
352
|
+
let target = entry(variables, root);
|
|
353
|
+
if (item) {
|
|
354
|
+
target.items ??= new Map();
|
|
355
|
+
target = entry(target.items, item);
|
|
356
|
+
}
|
|
357
|
+
target.kind = field[2];
|
|
358
|
+
if (field[3])
|
|
359
|
+
target.label = field[3].trim();
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
return title;
|
|
363
|
+
}
|
|
364
|
+
let packageInfo;
|
|
365
|
+
/** This package's name and version, from its `package.json` (beside both `src/` and `lib/`). */
|
|
366
|
+
function packageOf() {
|
|
367
|
+
if (!packageInfo) {
|
|
368
|
+
const json = JSON.parse(fs_1.default.readFileSync(path_1.default.join(__dirname, '../package.json'), 'utf8'));
|
|
369
|
+
packageInfo = { name: json.name, version: json.version };
|
|
370
|
+
}
|
|
371
|
+
return packageInfo;
|
|
372
|
+
}
|
|
373
|
+
/** The editor origin a valid views token names, or `null` if the token isn't valid. */
|
|
374
|
+
function verifiedOrigin(secret, token) {
|
|
375
|
+
const verified = (0, preview_token_1.verifyPreviewToken)(secret, String(token || ''), exports.VIEWS_TOKEN_SUBJECT);
|
|
376
|
+
return verified.ok ? verified.payload.o || '' : null;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* `GET /ceems/views?token=…`: the views' manifest, for the editor. The token is a preview token signed for
|
|
380
|
+
* `VIEWS_TOKEN_SUBJECT`; the editor it names may read the response from the browser, which is how it reaches
|
|
381
|
+
* a site running on `localhost`. 404 without a preview secret, like drafts.
|
|
382
|
+
*/
|
|
383
|
+
function viewsHandler(config) {
|
|
384
|
+
return (req, res) => {
|
|
385
|
+
res.set({ 'Cache-Control': 'no-store', Vary: 'Origin' });
|
|
386
|
+
// Refusals carry nothing, so any page may read them: the editor can then say what to fix.
|
|
387
|
+
if (!config.secret) {
|
|
388
|
+
res.set('Access-Control-Allow-Origin', '*').status(404).send('Not found');
|
|
389
|
+
return;
|
|
390
|
+
}
|
|
391
|
+
const origin = verifiedOrigin(config.secret, req.query.token);
|
|
392
|
+
if (origin === null) {
|
|
393
|
+
res.set('Access-Control-Allow-Origin', '*').status(401).send('Unauthorized');
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
if (origin && req.get('origin') === origin)
|
|
397
|
+
res.set('Access-Control-Allow-Origin', origin);
|
|
398
|
+
res.json({
|
|
399
|
+
...scanViews(config.viewsPath, { globals: config.globals }),
|
|
400
|
+
package: packageOf(),
|
|
401
|
+
});
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* `OPTIONS /ceems/views?token=…`: the browser's preflight. Chrome sends one before a public page (the editor)
|
|
406
|
+
* reads from a private address (`localhost`), and needs `Access-Control-Allow-Private-Network` back. Any page
|
|
407
|
+
* may make the request: only the editor a valid token names can read the views it returns.
|
|
408
|
+
*/
|
|
409
|
+
function viewsPreflightHandler() {
|
|
410
|
+
return (req, res) => {
|
|
411
|
+
res.set('Vary', 'Origin');
|
|
412
|
+
const origin = req.get('origin');
|
|
413
|
+
if (!origin) {
|
|
414
|
+
res.status(400).end();
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
res.set({
|
|
418
|
+
'Access-Control-Allow-Origin': origin,
|
|
419
|
+
'Access-Control-Allow-Methods': 'GET',
|
|
420
|
+
'Access-Control-Allow-Private-Network': 'true',
|
|
421
|
+
'Access-Control-Max-Age': '600',
|
|
422
|
+
});
|
|
423
|
+
res.status(204).end();
|
|
424
|
+
};
|
|
425
|
+
}
|
|
426
|
+
//# sourceMappingURL=views.js.map
|
package/lib/views.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"views.js","sourceRoot":"","sources":["../src/views.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nakedcreativity/cee-ms-node",
|
|
3
|
-
"version": "2.0.0-beta.
|
|
3
|
+
"version": "2.0.0-beta.9",
|
|
4
4
|
"description": "Cee.ms for Node.js: renders Cee.ms sites from their published JSON with Liquid templates",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./lib/index.d.ts",
|