@cogenta/theme-kit 0.5.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/archive.d.ts +19 -0
- package/dist/archive.d.ts.map +1 -1
- package/dist/archive.js +15 -1
- package/dist/archive.js.map +1 -1
- package/dist/comments.d.ts +21 -0
- package/dist/comments.d.ts.map +1 -1
- package/dist/comments.js +65 -12
- package/dist/comments.js.map +1 -1
- package/dist/contract.d.ts +17 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/embed.d.ts +14 -0
- package/dist/embed.d.ts.map +1 -0
- package/dist/embed.js +40 -0
- package/dist/embed.js.map +1 -0
- package/dist/entry-header.d.ts +8 -0
- package/dist/entry-header.d.ts.map +1 -1
- package/dist/entry-header.js +7 -1
- package/dist/entry-header.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/strings.d.ts.map +1 -1
- package/dist/strings.js +38 -0
- package/dist/strings.js.map +1 -1
- package/package.json +3 -3
package/dist/archive.d.ts
CHANGED
|
@@ -17,6 +17,8 @@
|
|
|
17
17
|
* A theme that does not implement it is not broken: the host renders a plain
|
|
18
18
|
* list with that theme's own chrome around it.
|
|
19
19
|
*/
|
|
20
|
+
import type { ImageSource } from './contract.js';
|
|
21
|
+
import { type HtmlElement } from './html.js';
|
|
20
22
|
export interface TermArchiveLink {
|
|
21
23
|
readonly label: string;
|
|
22
24
|
readonly href: string;
|
|
@@ -56,6 +58,12 @@ export interface TermArchiveInput {
|
|
|
56
58
|
readonly previousHref: string | null;
|
|
57
59
|
readonly nextHref: string | null;
|
|
58
60
|
};
|
|
61
|
+
/**
|
|
62
|
+
* `theme@1.8`: what an author's archive says about its author — their bio and
|
|
63
|
+
* portrait, both volunteered on their profile. Absent on a term or date
|
|
64
|
+
* archive, and on an author who wrote neither. `renderArchiveIntro` draws it.
|
|
65
|
+
*/
|
|
66
|
+
readonly intro?: TermArchiveIntro;
|
|
59
67
|
/** Locale of the page, for a theme that formats dates. */
|
|
60
68
|
readonly locale: string;
|
|
61
69
|
/**
|
|
@@ -70,6 +78,11 @@ export interface TermArchiveInput {
|
|
|
70
78
|
*/
|
|
71
79
|
readonly labels: TermArchiveLabels;
|
|
72
80
|
}
|
|
81
|
+
export interface TermArchiveIntro {
|
|
82
|
+
readonly text?: string;
|
|
83
|
+
/** Already resolved by the host; its `alt` is the author's name. */
|
|
84
|
+
readonly image?: ImageSource;
|
|
85
|
+
}
|
|
73
86
|
export interface TermArchiveLabels {
|
|
74
87
|
/** Shown instead of the list when the term classifies nothing published. */
|
|
75
88
|
readonly empty: string;
|
|
@@ -82,4 +95,10 @@ export interface TermArchiveLabels {
|
|
|
82
95
|
/** `aria-label` of the sub-term list. */
|
|
83
96
|
readonly subterms: string;
|
|
84
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* The intro of an archive — an author's portrait and bio — or `null` when
|
|
100
|
+
* there is none, so a theme adds one line under its title and a term archive
|
|
101
|
+
* renders exactly as before.
|
|
102
|
+
*/
|
|
103
|
+
export declare function renderArchiveIntro(input: TermArchiveInput): HtmlElement | null;
|
|
85
104
|
//# sourceMappingURL=archive.d.ts.map
|
package/dist/archive.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAChE,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE;QACb,eAAe;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KACjC,CAAA;IACD,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B"}
|
|
1
|
+
{"version":3,"file":"archive.d.ts","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,WAAW,CAAA;AAG/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,uFAAuF;IACvF,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,oEAAoE;IACpE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC;AAED,MAAM,WAAW,gBAAgB;IAC/B,kGAAkG;IAClG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAChE,uFAAuF;IACvF,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAA;IAC9C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAA;IAC7C,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAA;IAC7C,QAAQ,CAAC,IAAI,EAAE;QACb,eAAe;QACf,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QACpC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KACjC,CAAA;IACD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,oEAAoE;IACpE,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,iCAAiC;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW,GAAG,IAAI,CAW9E"}
|
package/dist/archive.js
CHANGED
|
@@ -17,5 +17,19 @@
|
|
|
17
17
|
* A theme that does not implement it is not broken: the host renders a plain
|
|
18
18
|
* list with that theme's own chrome around it.
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
import { h } from './html.js';
|
|
21
|
+
import { renderImageSource } from './media.js';
|
|
22
|
+
/**
|
|
23
|
+
* The intro of an archive — an author's portrait and bio — or `null` when
|
|
24
|
+
* there is none, so a theme adds one line under its title and a term archive
|
|
25
|
+
* renders exactly as before.
|
|
26
|
+
*/
|
|
27
|
+
export function renderArchiveIntro(input) {
|
|
28
|
+
const intro = input.intro;
|
|
29
|
+
if (intro === undefined || (intro.text === undefined && intro.image === undefined))
|
|
30
|
+
return null;
|
|
31
|
+
return h('div', { class: 'cg-archive__intro' }, intro.image === undefined
|
|
32
|
+
? null
|
|
33
|
+
: renderImageSource(intro.image, { className: 'cg-archive__portrait', sizes: '6rem' }), intro.text === undefined ? null : h('p', { class: 'cg-archive__bio' }, intro.text));
|
|
34
|
+
}
|
|
21
35
|
//# sourceMappingURL=archive.js.map
|
package/dist/archive.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG"}
|
|
1
|
+
{"version":3,"file":"archive.js","sourceRoot":"","sources":["../src/archive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,EAAoB,CAAC,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAgF9C;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAuB;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAA;IACzB,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/F,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAC9B,KAAK,CAAC,KAAK,KAAK,SAAS;QACvB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EACxF,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CACnF,CAAA;AACH,CAAC"}
|
package/dist/comments.d.ts
CHANGED
|
@@ -18,6 +18,10 @@ import { type HtmlElement } from './html.js';
|
|
|
18
18
|
* a structural property of this function rather than a habit to remember —
|
|
19
19
|
* and, since this module is shared, a property every theme package gets for
|
|
20
20
|
* free rather than one it has to reimplement correctly on its own.
|
|
21
|
+
*
|
|
22
|
+
* Every word a visitor reads comes from `THEME_STRINGS` in the page's own
|
|
23
|
+
* language, and the date is written the way that language writes it: the
|
|
24
|
+
* section was English on every French site until the L36 audit.
|
|
21
25
|
*/
|
|
22
26
|
export interface PublicComment {
|
|
23
27
|
readonly id: string;
|
|
@@ -43,7 +47,24 @@ export interface CommentsSectionOptions {
|
|
|
43
47
|
readonly honeypotField?: string;
|
|
44
48
|
/** Server time this page was rendered, ms since epoch — the minimum-fill-delay hidden field. */
|
|
45
49
|
readonly renderedAt: number;
|
|
50
|
+
/**
|
|
51
|
+
* What happened to the comment this visitor just sent, read from the
|
|
52
|
+
* `?comment=` the comments router redirects back with. Absent: nothing was
|
|
53
|
+
* just sent. A comment held as spam reads `pending`, never a distinct
|
|
54
|
+
* notice — telling a bot what tripped it is what the router avoids too.
|
|
55
|
+
*/
|
|
56
|
+
readonly notice?: CommentNotice;
|
|
57
|
+
/** The page's translator, with the theme's own overrides; built from `locale` when absent. */
|
|
58
|
+
readonly t?: (key: string, values?: Readonly<Record<string, string | number>>) => string;
|
|
46
59
|
}
|
|
60
|
+
export type CommentNotice = 'approved' | 'pending' | 'invalid' | 'rateLimited' | 'closed' | 'error';
|
|
61
|
+
/**
|
|
62
|
+
* The notice for a redirect's `?comment=` and `&reason=`, or `undefined` when
|
|
63
|
+
* the query names nothing this section knows. The reason is an error code of
|
|
64
|
+
* `@cogenta/comments`; a code that would teach a bot something (a tripped
|
|
65
|
+
* honeypot, a form sent too fast) reads as the generic error.
|
|
66
|
+
*/
|
|
67
|
+
export declare function commentNoticeFor(outcome: string | null, reason: string | null): CommentNotice | undefined;
|
|
47
68
|
/**
|
|
48
69
|
* The whole section: heading, thread, and — only when `open` — the form.
|
|
49
70
|
* Returned as an `HtmlElement`, appended by the caller after the page's own
|
package/dist/comments.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAW,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,KAAK,WAAW,EAAW,MAAM,WAAW,CAAA;AAGtE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,oFAAoF;IACpF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAA;IAC3C,+GAA+G;IAC/G,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,6GAA6G;IAC7G,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,uJAAuJ;IACvJ,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,8IAA8I;IAC9I,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,gGAAgG;IAChG,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAA;IAC/B,8FAA8F;IAC9F,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,MAAM,CAAA;CACzF;AAED,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEnG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,EAAE,MAAM,GAAG,IAAI,GACpB,aAAa,GAAG,SAAS,CAsB3B;AAsJD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,WAAW,CAiClF"}
|
package/dist/comments.js
CHANGED
|
@@ -1,4 +1,34 @@
|
|
|
1
1
|
import { h, text } from './html.js';
|
|
2
|
+
import { createThemeTranslator } from './strings.js';
|
|
3
|
+
/**
|
|
4
|
+
* The notice for a redirect's `?comment=` and `&reason=`, or `undefined` when
|
|
5
|
+
* the query names nothing this section knows. The reason is an error code of
|
|
6
|
+
* `@cogenta/comments`; a code that would teach a bot something (a tripped
|
|
7
|
+
* honeypot, a form sent too fast) reads as the generic error.
|
|
8
|
+
*/
|
|
9
|
+
export function commentNoticeFor(outcome, reason) {
|
|
10
|
+
switch (outcome) {
|
|
11
|
+
case 'approved':
|
|
12
|
+
return 'approved';
|
|
13
|
+
case 'pending':
|
|
14
|
+
case 'spam':
|
|
15
|
+
return 'pending';
|
|
16
|
+
case 'error':
|
|
17
|
+
break;
|
|
18
|
+
default:
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
switch (reason) {
|
|
22
|
+
case 'COMMENT_BODY_INVALID':
|
|
23
|
+
return 'invalid';
|
|
24
|
+
case 'COMMENT_RATE_LIMITED':
|
|
25
|
+
return 'rateLimited';
|
|
26
|
+
case 'COMMENT_TARGET_CLOSED':
|
|
27
|
+
return 'closed';
|
|
28
|
+
default:
|
|
29
|
+
return 'error';
|
|
30
|
+
}
|
|
31
|
+
}
|
|
2
32
|
function buildTree(comments) {
|
|
3
33
|
const byParent = new Map();
|
|
4
34
|
for (const comment of comments) {
|
|
@@ -14,16 +44,28 @@ function buildTree(comments) {
|
|
|
14
44
|
}
|
|
15
45
|
return attach(null);
|
|
16
46
|
}
|
|
17
|
-
function renderComment(node) {
|
|
18
|
-
return h('li', { class: 'cg-comment', id: `comment-${node.id}` }, h('article', {}, h('header', { class: 'cg-comment__meta' }, h('span', { class: 'cg-comment__author' }, text(node.authorName)), h('time', { class: 'cg-comment__date', datetime: node.createdAt }, text(
|
|
47
|
+
function renderComment(node, locale) {
|
|
48
|
+
return h('li', { class: 'cg-comment', id: `comment-${node.id}` }, h('article', {}, h('header', { class: 'cg-comment__meta' }, h('span', { class: 'cg-comment__author' }, text(node.authorName)), h('time', { class: 'cg-comment__date', datetime: node.createdAt }, text(formatDate(node.createdAt, locale)))), h('p', { class: 'cg-comment__body' }, text(node.body))), node.replies.length === 0
|
|
19
49
|
? null
|
|
20
|
-
: h('ol', { class: 'cg-comment__replies' }, node.replies.map(renderComment)));
|
|
50
|
+
: h('ol', { class: 'cg-comment__replies' }, node.replies.map((reply) => renderComment(reply, locale))));
|
|
51
|
+
}
|
|
52
|
+
/** `12 March 2026` / `12 mars 2026` — a date is read in the page's language, not the server's. */
|
|
53
|
+
function formatDate(iso, locale) {
|
|
54
|
+
const date = new Date(iso);
|
|
55
|
+
if (Number.isNaN(date.getTime()))
|
|
56
|
+
return iso;
|
|
57
|
+
try {
|
|
58
|
+
return date.toLocaleDateString(locale, { day: 'numeric', month: 'long', year: 'numeric' });
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return date.toISOString().slice(0, 10);
|
|
62
|
+
}
|
|
21
63
|
}
|
|
22
64
|
function hidden(name, value) {
|
|
23
65
|
return h('input', { type: 'hidden', name, value });
|
|
24
66
|
}
|
|
25
67
|
/** The submission form — a plain HTML `<form method="post">`, no JavaScript required (fiche 15 task 6). */
|
|
26
|
-
function renderForm(options, parentId) {
|
|
68
|
+
function renderForm(options, t, parentId) {
|
|
27
69
|
const honeypot = options.honeypotField ?? 'website';
|
|
28
70
|
const formId = parentId === undefined ? 'cg-comment-form' : `cg-comment-form-${parentId}`;
|
|
29
71
|
return h('form', {
|
|
@@ -36,19 +78,19 @@ function renderForm(options, parentId) {
|
|
|
36
78
|
// attribute a theme's own stylesheet never has to know about — the
|
|
37
79
|
// element is not `type="hidden"` on purpose, so a bot's naive "fill
|
|
38
80
|
// every input" script still finds and fills it.
|
|
39
|
-
h('div', { class: 'cg-comment__honeypot', 'aria-hidden': 'true' }, h('label', { for: `${formId}-hp` }, text('
|
|
81
|
+
h('div', { class: 'cg-comment__honeypot', 'aria-hidden': 'true' }, h('label', { for: `${formId}-hp` }, text(t('form.honeypot'))), h('input', {
|
|
40
82
|
id: `${formId}-hp`,
|
|
41
83
|
type: 'text',
|
|
42
84
|
name: honeypot,
|
|
43
85
|
tabindex: -1,
|
|
44
86
|
autocomplete: 'off',
|
|
45
|
-
})), h('p', {}, h('label', { for: `${formId}-name` }, text('
|
|
87
|
+
})), h('p', {}, h('label', { for: `${formId}-name` }, text(t('comments.name'))), h('input', {
|
|
46
88
|
id: `${formId}-name`,
|
|
47
89
|
type: 'text',
|
|
48
90
|
name: 'name',
|
|
49
91
|
required: true,
|
|
50
92
|
maxlength: 200,
|
|
51
|
-
})), h('p', {}, h('label', { for: `${formId}-email` }, text(
|
|
93
|
+
})), h('p', {}, h('label', { for: `${formId}-email` }, text(t('comments.email'))), h('input', { id: `${formId}-email`, type: 'email', name: 'email', required: true })), h('p', {}, h('label', { for: `${formId}-url` }, text(t('comments.website'))), h('input', { id: `${formId}-url`, type: 'url', name: 'authorUrl' })), h('p', {}, h('label', { for: `${formId}-body` }, text(t(parentId === undefined ? 'comments.body' : 'comments.replyBody'))), h('textarea', { id: `${formId}-body`, name: 'body', required: true, rows: 5 })), h('p', {}, h('button', { type: 'submit' }, text(t(parentId === undefined ? 'comments.submit' : 'comments.submitReply')))));
|
|
52
94
|
}
|
|
53
95
|
/**
|
|
54
96
|
* The whole section: heading, thread, and — only when `open` — the form.
|
|
@@ -57,12 +99,23 @@ function renderForm(options, parentId) {
|
|
|
57
99
|
* property of the route the same way `/search`'s results are.
|
|
58
100
|
*/
|
|
59
101
|
export function renderCommentsSection(options) {
|
|
102
|
+
const locale = options.locale ?? 'en';
|
|
103
|
+
const t = options.t ?? createThemeTranslator(locale);
|
|
60
104
|
const tree = buildTree(options.comments);
|
|
61
105
|
const headingAttrs = { id: 'cg-comments-heading' };
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
106
|
+
const notice = options.notice;
|
|
107
|
+
return h('section',
|
|
108
|
+
// `id` is where the comments router sends a visitor back after sending,
|
|
109
|
+
// so the notice below is on screen rather than a page's length away.
|
|
110
|
+
{ id: 'cg-comments', class: 'cg-comments', 'aria-labelledby': 'cg-comments-heading' }, h('h2', headingAttrs, text(t('comments.heading', { count: options.comments.length }))), notice === undefined
|
|
111
|
+
? null
|
|
112
|
+
: h('p', {
|
|
113
|
+
class: `cg-comments__notice cg-comments__notice--${notice}`,
|
|
114
|
+
role: notice === 'approved' || notice === 'pending' ? 'status' : 'alert',
|
|
115
|
+
}, text(t(`comments.notice.${notice}`))), tree.length === 0
|
|
116
|
+
? h('p', { class: 'cg-comments__empty' }, text(t('comments.empty')))
|
|
117
|
+
: h('ol', { class: 'cg-comments__list' }, tree.map((node) => renderComment(node, locale))), options.open
|
|
118
|
+
? renderForm(options, t)
|
|
119
|
+
: h('p', { class: 'cg-comments__closed' }, text(t('comments.closed'))));
|
|
67
120
|
}
|
|
68
121
|
//# sourceMappingURL=comments.js.map
|
package/dist/comments.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,CAAC,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"comments.js","sourceRoot":"","sources":["../src/comments.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -105,5 +105,22 @@ export interface RenderContext {
|
|
|
105
105
|
* promised since L3. `providedBlockNode` is the one line that honours it.
|
|
106
106
|
*/
|
|
107
107
|
readonly blockNodes?: Readonly<Record<string, HtmlElement>>;
|
|
108
|
+
/**
|
|
109
|
+
* What an embed block's address says about itself (contract D `theme@1.9`,
|
|
110
|
+
* additive): the title and author its provider gave, and a thumbnail the
|
|
111
|
+
* site serves from its own storage — never the provider's image, so showing
|
|
112
|
+
* it before consent sends the visitor nowhere. `undefined` when the host has
|
|
113
|
+
* no preview for the address, or does not offer this at all: the block then
|
|
114
|
+
* renders exactly as it did before `1.9`.
|
|
115
|
+
*
|
|
116
|
+
* Pure and synchronous, like `image`: the host loaded the page's previews
|
|
117
|
+
* before rendering started.
|
|
118
|
+
*/
|
|
119
|
+
embedPreview?(url: string): EmbedPreview | undefined;
|
|
120
|
+
}
|
|
121
|
+
export interface EmbedPreview {
|
|
122
|
+
readonly title?: string;
|
|
123
|
+
readonly authorName?: string;
|
|
124
|
+
readonly thumbnail?: ImageSource;
|
|
108
125
|
}
|
|
109
126
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAEhE,YAAY,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,GACb,MAAM,iBAAiB,CAAA;AAExB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAE7C;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAA;AAEnC;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,CAAA;IACjE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAA;IAC9E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,IAAI,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;CACnC;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAA;IAClD,IAAI,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAA;CACzD;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAA;AAE5F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;QACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;QACpB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;QACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;KAC/B,CAAA;IACD,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IAEjB,0EAA0E;IAC1E,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAA;IAE1E,4FAA4F;IAC5F,KAAK,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,WAAW,CAAA;IAEjE,0EAA0E;IAC1E,IAAI,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAAA;IAErC,mEAAmE;IACnE,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAA;IAE/B;;;;;;;;;OASG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IAE3D;;;;;;;;;;OAUG;IACH,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;CACrD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAA;CACjC"}
|
package/dist/embed.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RenderContext } from './contract.js';
|
|
2
|
+
import { type HtmlElement } from './html.js';
|
|
3
|
+
/**
|
|
4
|
+
* The accessible name of the player: « YouTube : Inspection d'un poste » when
|
|
5
|
+
* the title is known, the generic « Contenu YouTube intégré » otherwise.
|
|
6
|
+
*/
|
|
7
|
+
export declare function embedFrameTitle(ctx: RenderContext, provider: string, url: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* The thumbnail, title and author of what the card stands for, or `null` when
|
|
10
|
+
* the host has no preview. Safe before consent: the thumbnail is served by the
|
|
11
|
+
* site, never fetched from the provider.
|
|
12
|
+
*/
|
|
13
|
+
export declare function renderEmbedPreview(ctx: RenderContext, url: string, className?: string): HtmlElement | null;
|
|
14
|
+
//# sourceMappingURL=embed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.d.ts","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,WAAW,CAAA;AAa/C;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKzF;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,aAAa,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,SAAa,GACrB,WAAW,GAAG,IAAI,CAuBpB"}
|
package/dist/embed.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { h } from './html.js';
|
|
2
|
+
import { renderImageSource } from './media.js';
|
|
3
|
+
/**
|
|
4
|
+
* The shared parts of an embed block that a preview enriches (contract D
|
|
5
|
+
* `theme@1.9`, L38). A theme keeps its own frame and card layout, and calls
|
|
6
|
+
* these for the two things every theme should say the same way.
|
|
7
|
+
*/
|
|
8
|
+
function previewOf(ctx, url) {
|
|
9
|
+
return ctx.embedPreview?.(url);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The accessible name of the player: « YouTube : Inspection d'un poste » when
|
|
13
|
+
* the title is known, the generic « Contenu YouTube intégré » otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export function embedFrameTitle(ctx, provider, url) {
|
|
16
|
+
const title = previewOf(ctx, url)?.title;
|
|
17
|
+
return title === undefined
|
|
18
|
+
? ctx.t('embed.title', { provider })
|
|
19
|
+
: ctx.t('embed.titled', { provider, title });
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* The thumbnail, title and author of what the card stands for, or `null` when
|
|
23
|
+
* the host has no preview. Safe before consent: the thumbnail is served by the
|
|
24
|
+
* site, never fetched from the provider.
|
|
25
|
+
*/
|
|
26
|
+
export function renderEmbedPreview(ctx, url, className = 'cg-embed') {
|
|
27
|
+
const preview = previewOf(ctx, url);
|
|
28
|
+
if (preview === undefined || (preview.title === undefined && preview.thumbnail === undefined)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return h('div', { class: `${className}__preview` }, preview.thumbnail === undefined
|
|
32
|
+
? null
|
|
33
|
+
: renderImageSource(preview.thumbnail, {
|
|
34
|
+
className: `${className}__thumbnail`,
|
|
35
|
+
sizes: '(min-width: 48rem) 40rem, 100vw',
|
|
36
|
+
}), preview.title === undefined ? null : h('p', { class: `${className}__title` }, preview.title), preview.authorName === undefined
|
|
37
|
+
? null
|
|
38
|
+
: h('p', { class: `${className}__author` }, ctx.t('embed.by', { author: preview.authorName })));
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=embed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embed.js","sourceRoot":"","sources":["../src/embed.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,CAAC,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAE9C;;;;GAIG;AAEH,SAAS,SAAS,CAAC,GAAkB,EAAE,GAAW;IAChD,OAAO,GAAG,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAA;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,GAAkB,EAAE,QAAgB,EAAE,GAAW;IAC/E,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,KAAK,CAAA;IACxC,OAAO,KAAK,KAAK,SAAS;QACxB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,CAAC;QACpC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAkB,EAClB,GAAW,EACX,SAAS,GAAG,UAAU;IAEtB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IACnC,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,EAAE,CAAC;QAC9F,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,CAAC,CACN,KAAK,EACL,EAAE,KAAK,EAAE,GAAG,SAAS,WAAW,EAAE,EAClC,OAAO,CAAC,SAAS,KAAK,SAAS;QAC7B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,SAAS,EAAE;YACnC,SAAS,EAAE,GAAG,SAAS,aAAa;YACpC,KAAK,EAAE,iCAAiC;SACzC,CAAC,EACN,OAAO,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,SAAS,SAAS,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAC5F,OAAO,CAAC,UAAU,KAAK,SAAS;QAC9B,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,CAAC,CACC,GAAG,EACH,EAAE,KAAK,EAAE,GAAG,SAAS,UAAU,EAAE,EACjC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAClD,CACN,CAAA;AACH,CAAC"}
|
package/dist/entry-header.d.ts
CHANGED
|
@@ -12,7 +12,15 @@ import { type PageContent } from './page.js';
|
|
|
12
12
|
*/
|
|
13
13
|
export interface PageEntryAuthor {
|
|
14
14
|
readonly name: string;
|
|
15
|
+
/**
|
|
16
|
+
* `theme@1.8`: the author's archive page (`/archive/author/{slug}`), when
|
|
17
|
+
* they have one — a public name and at least one published dated entry.
|
|
18
|
+
* Absent otherwise: a name with no page behind it is not a link.
|
|
19
|
+
*/
|
|
20
|
+
readonly href?: string;
|
|
15
21
|
}
|
|
22
|
+
/** The byline as a link when the author has a page, as text otherwise — one rule for every theme. */
|
|
23
|
+
export declare function authorNode(author: PageEntryAuthor, attributes?: Readonly<Record<string, string>>): HtmlElement;
|
|
16
24
|
/**
|
|
17
25
|
* One taxonomy classification, already resolved to a label and a route — the
|
|
18
26
|
* same shape `TermArchiveLink` uses, so a theme's eyebrow and its archive
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-header.d.ts","sourceRoot":"","sources":["../src/entry-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,WAAW,CAAA;AAE/D;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"entry-header.d.ts","sourceRoot":"","sources":["../src/entry-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,KAAK,WAAW,EAAK,MAAM,WAAW,CAAA;AAE/C,OAAO,EAAE,KAAK,WAAW,EAAqB,MAAM,WAAW,CAAA;AAE/D;;;;;;;;GAQG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qGAAqG;AACrG,wBAAgB,UAAU,CACxB,MAAM,EAAE,eAAe,EACvB,UAAU,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,GAChD,WAAW,CAIb;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,mFAAmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,4GAA4G;IAC5G,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAA;IACzC,mHAAmH;IACnH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAA;CAChE;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,CAAA;AAgD/E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,aAAa,EAClB,OAAO,GAAE;IAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAC5C,WAAW,GAAG,IAAI,CAyBpB"}
|
package/dist/entry-header.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { h } from './html.js';
|
|
2
2
|
import { renderImageSource } from './media.js';
|
|
3
3
|
import { pageHasOwnHeading } from './page.js';
|
|
4
|
+
/** The byline as a link when the author has a page, as text otherwise — one rule for every theme. */
|
|
5
|
+
export function authorNode(author, attributes = {}) {
|
|
6
|
+
return author.href === undefined
|
|
7
|
+
? h('span', attributes, author.name)
|
|
8
|
+
: h('a', { ...attributes, href: author.href, rel: 'author' }, author.name);
|
|
9
|
+
}
|
|
4
10
|
/** `Intl.DateTimeFormat`'s `dateStyle: 'long'`, in the page's own locale — the same formatting every other themed date on this page uses. */
|
|
5
11
|
function formatDate(iso, locale) {
|
|
6
12
|
try {
|
|
@@ -24,7 +30,7 @@ function renderMeta(entry, ctx) {
|
|
|
24
30
|
parts.push(h('time', { datetime: entry.publishedAt }, formatDate(entry.publishedAt, ctx.locale)));
|
|
25
31
|
}
|
|
26
32
|
if (entry.author !== undefined) {
|
|
27
|
-
parts.push(
|
|
33
|
+
parts.push(authorNode(entry.author, { class: 'cg-entry-header__author' }));
|
|
28
34
|
}
|
|
29
35
|
if (entry.readingMinutes !== undefined) {
|
|
30
36
|
parts.push(h('span', { class: 'cg-entry-header__reading-time' }, ctx.t('entry.readingTime', { minutes: entry.readingMinutes })));
|
package/dist/entry-header.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-header.js","sourceRoot":"","sources":["../src/entry-header.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,CAAC,EAAE,MAAM,WAAW,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAoB,iBAAiB,EAAE,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"entry-header.js","sourceRoot":"","sources":["../src/entry-header.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * from './archive.js';
|
|
|
14
14
|
export * from './chrome.js';
|
|
15
15
|
export * from './comments.js';
|
|
16
16
|
export * from './contract.js';
|
|
17
|
+
export * from './embed.js';
|
|
17
18
|
export * from './entry.js';
|
|
18
19
|
export * from './entry-header.js';
|
|
19
20
|
export * from './heading.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export * from './archive.js';
|
|
|
14
14
|
export * from './chrome.js';
|
|
15
15
|
export * from './comments.js';
|
|
16
16
|
export * from './contract.js';
|
|
17
|
+
export * from './embed.js';
|
|
17
18
|
export * from './entry.js';
|
|
18
19
|
export * from './entry-header.js';
|
|
19
20
|
export * from './heading.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA;AAC5B,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,cAAc,CAAA"}
|
package/dist/strings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAkC3D,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"strings.d.ts","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAA;AAErC,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAkC3D,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAiFrE,CAAA;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAG1D;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,SAAS,GAC5D,MAAM,CAMR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAM,GACzD,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,KAAK,MAAM,CAmB7E"}
|
package/dist/strings.js
CHANGED
|
@@ -50,10 +50,29 @@ export const THEME_STRINGS = {
|
|
|
50
50
|
'collection.empty': 'Nothing to show yet.',
|
|
51
51
|
'collection.carousel': 'Scrollable list',
|
|
52
52
|
'collection.featured': 'Featured',
|
|
53
|
+
'comments.heading': 'Comments ({{count}})',
|
|
54
|
+
'comments.empty': 'No comments yet.',
|
|
55
|
+
'comments.closed': 'Comments are closed on this page.',
|
|
56
|
+
'comments.name': 'Name',
|
|
57
|
+
'comments.email': 'Email (not published)',
|
|
58
|
+
'comments.website': 'Website (optional)',
|
|
59
|
+
'comments.body': 'Comment',
|
|
60
|
+
'comments.replyBody': 'Reply',
|
|
61
|
+
'comments.submit': 'Post comment',
|
|
62
|
+
'comments.submitReply': 'Post reply',
|
|
63
|
+
'comments.notice.approved': 'Thank you, your comment is published.',
|
|
64
|
+
'comments.notice.pending': 'Thank you, your comment will appear once it has been reviewed.',
|
|
65
|
+
'comments.notice.invalid': 'Your comment could not be sent: check your name, email address and message.',
|
|
66
|
+
'comments.notice.rateLimited': 'Too many comments in a short time: please try again in a few minutes.',
|
|
67
|
+
'comments.notice.closed': 'Comments are closed on this page.',
|
|
68
|
+
'comments.notice.error': 'Your comment could not be sent. Please try again in a moment.',
|
|
69
|
+
'form.honeypot': 'Leave this field empty',
|
|
53
70
|
'embed.consentRequired': 'This {{provider}} embed loads content from a third party.',
|
|
54
71
|
'embed.open': 'Open on {{provider}}',
|
|
55
72
|
'embed.openOther': 'Open the original',
|
|
56
73
|
'embed.title': '{{provider}} embed',
|
|
74
|
+
'embed.titled': '{{provider}}: {{title}}',
|
|
75
|
+
'embed.by': 'by {{author}}',
|
|
57
76
|
'embed.unsupported': 'This {{provider}} content cannot be embedded here.',
|
|
58
77
|
'embed.label': 'Embedded content',
|
|
59
78
|
'entry.untitled': 'Untitled',
|
|
@@ -69,10 +88,29 @@ export const THEME_STRINGS = {
|
|
|
69
88
|
'collection.empty': 'Rien à afficher pour le moment.',
|
|
70
89
|
'collection.carousel': 'Liste défilante',
|
|
71
90
|
'collection.featured': 'À la une',
|
|
91
|
+
'comments.heading': 'Commentaires ({{count}})',
|
|
92
|
+
'comments.empty': 'Aucun commentaire pour le moment.',
|
|
93
|
+
'comments.closed': 'Les commentaires sont fermés sur cette page.',
|
|
94
|
+
'comments.name': 'Nom',
|
|
95
|
+
'comments.email': 'Adresse e-mail (non publiée)',
|
|
96
|
+
'comments.website': 'Site web (facultatif)',
|
|
97
|
+
'comments.body': 'Commentaire',
|
|
98
|
+
'comments.replyBody': 'Réponse',
|
|
99
|
+
'comments.submit': 'Publier le commentaire',
|
|
100
|
+
'comments.submitReply': 'Publier la réponse',
|
|
101
|
+
'comments.notice.approved': 'Merci, votre commentaire est publié.',
|
|
102
|
+
'comments.notice.pending': 'Merci, votre commentaire sera publié après relecture.',
|
|
103
|
+
'comments.notice.invalid': 'Votre commentaire n’a pas pu être envoyé : vérifiez le nom, l’adresse e-mail et le message.',
|
|
104
|
+
'comments.notice.rateLimited': 'Trop de commentaires envoyés à la suite : réessayez dans quelques minutes.',
|
|
105
|
+
'comments.notice.closed': 'Les commentaires sont fermés sur cette page.',
|
|
106
|
+
'comments.notice.error': 'Votre commentaire n’a pas pu être envoyé. Réessayez dans un instant.',
|
|
107
|
+
'form.honeypot': 'Laissez ce champ vide',
|
|
72
108
|
'embed.consentRequired': 'Ce contenu {{provider}} est chargé depuis un service tiers.',
|
|
73
109
|
'embed.open': 'Ouvrir sur {{provider}}',
|
|
74
110
|
'embed.openOther': 'Ouvrir l’original',
|
|
75
111
|
'embed.title': 'Contenu {{provider}} intégré',
|
|
112
|
+
'embed.titled': '{{provider}} : {{title}}',
|
|
113
|
+
'embed.by': 'par {{author}}',
|
|
76
114
|
'embed.unsupported': 'Ce contenu {{provider}} ne peut pas être intégré ici.',
|
|
77
115
|
'embed.label': 'Contenu intégré',
|
|
78
116
|
'entry.untitled': 'Sans titre',
|
package/dist/strings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"strings.js","sourceRoot":"","sources":["../src/strings.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cogenta/theme-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "The shared contract D primitives every Cogenta theme package implements against: RenderContext, the HTML tree, rich text, comments and the twelve-block page shape.",
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"directory": "packages/theme-kit"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@cogenta/
|
|
31
|
-
"@cogenta/
|
|
30
|
+
"@cogenta/blocks": "1.1.5",
|
|
31
|
+
"@cogenta/render": "0.4.0"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
34
|
"typescript": "^7.0.2",
|