@growth-labs/cms 0.5.18 → 0.5.20
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 +46 -0
- package/dist/content/index.d.ts +4 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +10 -0
- package/dist/content/index.js.map +1 -0
- package/dist/schema/insights-ingest.d.ts +18 -18
- package/dist/schema/portable-text.d.ts.map +1 -1
- package/dist/schema/portable-text.js +8 -0
- package/dist/schema/portable-text.js.map +1 -1
- package/dist/ui/editor/Rte.d.ts.map +1 -1
- package/dist/ui/editor/Rte.js +22 -0
- package/dist/ui/editor/Rte.js.map +1 -1
- package/dist/ui/editor/blocks.d.ts +17 -0
- package/dist/ui/editor/blocks.d.ts.map +1 -0
- package/dist/ui/editor/blocks.js +113 -0
- package/dist/ui/editor/blocks.js.map +1 -0
- package/dist/ui/editor/extensions.d.ts +1 -1
- package/dist/ui/editor/extensions.d.ts.map +1 -1
- package/dist/ui/editor/extensions.js +19 -0
- package/dist/ui/editor/extensions.js.map +1 -1
- package/dist/ui/editor/portable-text.d.ts.map +1 -1
- package/dist/ui/editor/portable-text.js +57 -1
- package/dist/ui/editor/portable-text.js.map +1 -1
- package/dist/ui/editor/serialize.d.ts.map +1 -1
- package/dist/ui/editor/serialize.js +96 -2
- package/dist/ui/editor/serialize.js.map +1 -1
- package/dist/ui/editor/slash-menu.d.ts +14 -0
- package/dist/ui/editor/slash-menu.d.ts.map +1 -0
- package/dist/ui/editor/slash-menu.js +200 -0
- package/dist/ui/editor/slash-menu.js.map +1 -0
- package/dist/ui/styles/broadsheet.css +20 -0
- package/package.json +11 -1
- package/src/content/index.ts +16 -0
- package/src/schema/portable-text.ts +8 -0
- package/src/ui/editor/Rte.tsx +25 -0
- package/src/ui/editor/blocks.ts +140 -0
- package/src/ui/editor/extensions.ts +20 -0
- package/src/ui/editor/portable-text.ts +60 -1
- package/src/ui/editor/serialize.ts +100 -2
- package/src/ui/editor/slash-menu.ts +218 -0
- package/src/ui/styles/broadsheet.css +20 -0
package/README.md
CHANGED
|
@@ -170,6 +170,52 @@ envelope means "no structured body, render the markdown".
|
|
|
170
170
|
so an external markdown writer can never leave a stale structured body for
|
|
171
171
|
renderers to prefer.
|
|
172
172
|
- Golden round-trip tests: `__tests__/ui/portable-text.test.ts`.
|
|
173
|
+
- Typed editorial blocks (Phase 1): `callout` (`{ tone, content }`, markdown
|
|
174
|
+
form = GFM alert `> [!NOTE]`), `pullQuote` (`{ attribution, content }`,
|
|
175
|
+
markdown form = `:::pullquote` directive), `generatedFaq` (`{ markdown }`,
|
|
176
|
+
the machine-owned `<!-- generated-faq -->` region as an opaque atom that
|
|
177
|
+
re-serializes byte-identically), and the `citation` annotation
|
|
178
|
+
(`markDef { _type: 'citation', href }`, markdown form `[[label]](href)`).
|
|
179
|
+
Editor node specs live in `src/ui/editor/blocks.ts`.
|
|
180
|
+
- Editor UX: a `/` slash menu at line start inserts any block
|
|
181
|
+
(`src/ui/editor/slash-menu.ts` — the item list + filter are pure and
|
|
182
|
+
tested), a drag handle reorders blocks
|
|
183
|
+
(`@tiptap/extension-drag-handle`; its collaboration peer set is a hard
|
|
184
|
+
static-import requirement at 3.24.0 and ships in the admin bundle only),
|
|
185
|
+
and toolbar buttons cover callout / pull quote / citation.
|
|
186
|
+
- Site tooling imports the serializer quartet from
|
|
187
|
+
`@growth-labs/cms/content` (backfills, HTML-diff gates, importers) —
|
|
188
|
+
never from deep `ui/editor` paths.
|
|
189
|
+
|
|
190
|
+
### How to add a new block type
|
|
191
|
+
|
|
192
|
+
Every block exists in four places; a change is complete only when all four
|
|
193
|
+
round-trip in the golden tests:
|
|
194
|
+
|
|
195
|
+
1. **Editor node** — a pure Tiptap `Node.create`/`Mark.create` spec in
|
|
196
|
+
`src/ui/editor/blocks.ts` (no Editor/EditorView usage), registered in
|
|
197
|
+
`src/ui/editor/extensions.ts`, plus minimal styling in
|
|
198
|
+
`src/ui/styles/broadsheet.css`.
|
|
199
|
+
2. **Portable Text** — a `_type` mapping in BOTH directions in
|
|
200
|
+
`src/ui/editor/portable-text.ts` (`serializeBlockNode` and `parseObject`;
|
|
201
|
+
annotations additionally touch the mark handling in `buildTextBlock` /
|
|
202
|
+
`parseSpan`). Follow the @portabletext/markdown canonical shape when one
|
|
203
|
+
exists so ecosystem tooling understands the type. Document the shape in
|
|
204
|
+
`src/schema/portable-text.ts`.
|
|
205
|
+
3. **Markdown dialect** — a serialization in `serializeBlock` and a parse in
|
|
206
|
+
`parseBlocks`/`parseInline` in `src/ui/editor/serialize.ts`. The derived
|
|
207
|
+
markdown is what every legacy `body_markdown` consumer sees; prefer
|
|
208
|
+
ecosystem syntax (GFM) over invented directives when possible.
|
|
209
|
+
4. **Site renderer** — a component for the `_type` in each consuming site
|
|
210
|
+
(fronts: `src/lib/article-portable-text.ts`). Until the site ships it, the
|
|
211
|
+
renderer's unknown-type guard falls the article back to the markdown path
|
|
212
|
+
— safe, but the block renders in its markdown form.
|
|
213
|
+
|
|
214
|
+
Add golden tests in `__tests__/ui/portable-text.test.ts` covering: doc → PT →
|
|
215
|
+
doc identity, markdown → doc → markdown byte-stability, and (for annotations)
|
|
216
|
+
markDef structure. A block whose markdown form is lossy (like table cell
|
|
217
|
+
spans) is fine — Portable Text is the durable store — but the loss must be
|
|
218
|
+
deliberate and documented in the dialect header of `serialize.ts`.
|
|
173
219
|
|
|
174
220
|
## Use the routes
|
|
175
221
|
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PORTABLE_TEXT_VERSION, type PortableTextEnvelope, type PortableTextObject, parsePortableTextEnvelope, wrapPortableText, } from '../schema/portable-text.js';
|
|
2
|
+
export { docToPortableText, portableTextToDoc } from '../ui/editor/portable-text.js';
|
|
3
|
+
export { docToMarkdown, markdownToDoc } from '../ui/editor/serialize.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AAOA,OAAO,EACN,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,yBAAyB,EACzB,gBAAgB,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
// src/content/index.ts
|
|
2
|
+
// Site-side content tooling surface (`@growth-labs/cms/content`): the pure
|
|
3
|
+
// serializer quartet plus the envelope contract, for backfills, gates, and
|
|
4
|
+
// import tooling that must convert between markdown, Tiptap JSON, and
|
|
5
|
+
// Portable Text OUTSIDE the editor. No Editor/EditorView/DOM anywhere on
|
|
6
|
+
// this import path.
|
|
7
|
+
export { PORTABLE_TEXT_VERSION, parsePortableTextEnvelope, wrapPortableText, } from '../schema/portable-text.js';
|
|
8
|
+
export { docToPortableText, portableTextToDoc } from '../ui/editor/portable-text.js';
|
|
9
|
+
export { docToMarkdown, markdownToDoc } from '../ui/editor/serialize.js';
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"AAAA,uBAAuB;AACvB,2EAA2E;AAC3E,2EAA2E;AAC3E,sEAAsE;AACtE,yEAAyE;AACzE,oBAAoB;AAEpB,OAAO,EACN,qBAAqB,EAGrB,yBAAyB,EACzB,gBAAgB,GAChB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA"}
|
|
@@ -2774,21 +2774,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2774
2774
|
beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
|
|
2775
2775
|
}>, "many">;
|
|
2776
2776
|
}, "strip", z.ZodTypeAny, {
|
|
2777
|
-
meta: {
|
|
2778
|
-
status: "failed" | "running" | "completed" | "partial";
|
|
2779
|
-
counts: {
|
|
2780
|
-
demand_count: number;
|
|
2781
|
-
opportunity_count: number;
|
|
2782
|
-
};
|
|
2783
|
-
site_id: string;
|
|
2784
|
-
run_date: string;
|
|
2785
|
-
event_id: string;
|
|
2786
|
-
run_id: string;
|
|
2787
|
-
run_attempt: number;
|
|
2788
|
-
generated_at: number;
|
|
2789
|
-
content_hash: string;
|
|
2790
|
-
error?: string | null | undefined;
|
|
2791
|
-
};
|
|
2792
2777
|
rows: {
|
|
2793
2778
|
site_id: string;
|
|
2794
2779
|
run_date: string;
|
|
@@ -2913,7 +2898,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2913
2898
|
intent_key: string;
|
|
2914
2899
|
beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
|
|
2915
2900
|
}[];
|
|
2916
|
-
}, {
|
|
2917
2901
|
meta: {
|
|
2918
2902
|
status: "failed" | "running" | "completed" | "partial";
|
|
2919
2903
|
counts: {
|
|
@@ -2929,6 +2913,7 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
2929
2913
|
content_hash: string;
|
|
2930
2914
|
error?: string | null | undefined;
|
|
2931
2915
|
};
|
|
2916
|
+
}, {
|
|
2932
2917
|
rows: {
|
|
2933
2918
|
site_id: string;
|
|
2934
2919
|
run_date: string;
|
|
@@ -3053,7 +3038,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
3053
3038
|
intent_key: string;
|
|
3054
3039
|
beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
|
|
3055
3040
|
}[];
|
|
3056
|
-
}>, {
|
|
3057
3041
|
meta: {
|
|
3058
3042
|
status: "failed" | "running" | "completed" | "partial";
|
|
3059
3043
|
counts: {
|
|
@@ -3069,6 +3053,7 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
3069
3053
|
content_hash: string;
|
|
3070
3054
|
error?: string | null | undefined;
|
|
3071
3055
|
};
|
|
3056
|
+
}>, {
|
|
3072
3057
|
rows: {
|
|
3073
3058
|
site_id: string;
|
|
3074
3059
|
run_date: string;
|
|
@@ -3193,7 +3178,6 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
3193
3178
|
intent_key: string;
|
|
3194
3179
|
beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
|
|
3195
3180
|
}[];
|
|
3196
|
-
}, {
|
|
3197
3181
|
meta: {
|
|
3198
3182
|
status: "failed" | "running" | "completed" | "partial";
|
|
3199
3183
|
counts: {
|
|
@@ -3209,6 +3193,7 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
3209
3193
|
content_hash: string;
|
|
3210
3194
|
error?: string | null | undefined;
|
|
3211
3195
|
};
|
|
3196
|
+
}, {
|
|
3212
3197
|
rows: {
|
|
3213
3198
|
site_id: string;
|
|
3214
3199
|
run_date: string;
|
|
@@ -3333,6 +3318,21 @@ export declare const InsightsIngestPayloadSchema: z.ZodEffects<z.ZodObject<{
|
|
|
3333
3318
|
intent_key: string;
|
|
3334
3319
|
beat: "defense" | "intelligence" | "diplomacy" | "analysis" | null;
|
|
3335
3320
|
}[];
|
|
3321
|
+
meta: {
|
|
3322
|
+
status: "failed" | "running" | "completed" | "partial";
|
|
3323
|
+
counts: {
|
|
3324
|
+
demand_count: number;
|
|
3325
|
+
opportunity_count: number;
|
|
3326
|
+
};
|
|
3327
|
+
site_id: string;
|
|
3328
|
+
run_date: string;
|
|
3329
|
+
event_id: string;
|
|
3330
|
+
run_id: string;
|
|
3331
|
+
run_attempt: number;
|
|
3332
|
+
generated_at: number;
|
|
3333
|
+
content_hash: string;
|
|
3334
|
+
error?: string | null | undefined;
|
|
3335
|
+
};
|
|
3336
3336
|
}>;
|
|
3337
3337
|
export type InsightsIngestPayload = z.infer<typeof InsightsIngestPayloadSchema>;
|
|
3338
3338
|
export type InsightsIngestMeta = z.infer<typeof InsightsIngestMetaSchema>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portable-text.d.ts","sourceRoot":"","sources":["../../src/schema/portable-text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"portable-text.d.ts","sourceRoot":"","sources":["../../src/schema/portable-text.ts"],"names":[],"mappings":"AA8BA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,qBAAqB,IAAI,CAAA;AAEtC,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,qBAAqB,CAAA;IACrC,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC7B;AA+CD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrC,CAAA;AAEF,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,oBAAoB,CAEpF;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,oBAAoB,GAAG,IAAI,CAWnF"}
|
|
@@ -19,6 +19,14 @@
|
|
|
19
19
|
// Text arrays so in-cell links are ordinary annotations.
|
|
20
20
|
// Cell extension fields: header, colspan, rowspan, colwidth,
|
|
21
21
|
// align.
|
|
22
|
+
// callout { tone: note|tip|important|warning|caution, content:
|
|
23
|
+
// block[] } (@portabletext/markdown callout shape; markdown
|
|
24
|
+
// form is a GFM alert)
|
|
25
|
+
// pullQuote { attribution: string|null, content: block[] }
|
|
26
|
+
// generatedFaq { markdown } — the machine-owned <!-- generated-faq -->
|
|
27
|
+
// region as an opaque atom
|
|
28
|
+
// citation annotation markDef { _type: 'citation', href } (markdown
|
|
29
|
+
// form [[label]](href))
|
|
22
30
|
import { z } from 'zod';
|
|
23
31
|
export const PORTABLE_TEXT_VERSION = 1;
|
|
24
32
|
const typedObjectSchema = z
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portable-text.js","sourceRoot":"","sources":["../../src/schema/portable-text.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,2CAA2C;AAC3C,EAAE;AACF,0EAA0E;AAC1E,2DAA2D;AAC3D,4EAA4E;AAC5E,8EAA8E;AAC9E,kDAAkD;AAClD,uCAAuC;AACvC,sCAAsC;AACtC,2BAA2B;AAC3B,sBAAsB;AACtB,yEAAyE;AACzE,6EAA6E;AAC7E,0EAA0E;AAC1E,8EAA8E;AAC9E,0BAA0B;
|
|
1
|
+
{"version":3,"file":"portable-text.js","sourceRoot":"","sources":["../../src/schema/portable-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rte.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/Rte.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Rte.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/Rte.tsx"],"names":[],"mappings":"AA4GA,MAAM,WAAW,QAAQ;IACxB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IACpD,wFAAwF;IACxF,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACxD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAClB;AAMD,wBAAgB,GAAG,CAAC,EACnB,KAAK,EACL,YAAmB,EACnB,QAAQ,EACR,aAAa,EACb,WAAW,EAAE,YAAY,EACzB,QAAgB,GAChB,EAAE,QAAQ,+BA+IV"}
|
package/dist/ui/editor/Rte.js
CHANGED
|
@@ -50,7 +50,10 @@ const RTE_TOOLS = [
|
|
|
50
50
|
{ cmd: 'bullet', label: 'Bullet list', icon: 'rows' },
|
|
51
51
|
{ cmd: 'ordered', label: 'Ordered list', icon: 'rows' },
|
|
52
52
|
{ cmd: 'link', label: 'Link', icon: 'link' },
|
|
53
|
+
{ cmd: 'citation', label: 'Citation', icon: 'globe' },
|
|
53
54
|
{ cmd: 'image', label: 'Image', icon: 'image' },
|
|
55
|
+
{ cmd: 'callout', label: 'Callout', icon: 'flag' },
|
|
56
|
+
{ cmd: 'pullquote', label: 'Pull quote', icon: 'star' },
|
|
54
57
|
{ cmd: 'table', label: 'Insert table', icon: 'grid' },
|
|
55
58
|
];
|
|
56
59
|
/** Shown only while the selection sits inside a table. */
|
|
@@ -222,6 +225,19 @@ function ToolButton({ tool, editor, onImageUploadClick, disabled = false, }) {
|
|
|
222
225
|
}
|
|
223
226
|
break;
|
|
224
227
|
}
|
|
228
|
+
case 'callout':
|
|
229
|
+
chain.toggleWrap('callout', { tone: 'note' }).run();
|
|
230
|
+
break;
|
|
231
|
+
case 'pullquote':
|
|
232
|
+
chain.toggleWrap('pullQuote').run();
|
|
233
|
+
break;
|
|
234
|
+
case 'citation': {
|
|
235
|
+
const href = window.prompt('Citation URL');
|
|
236
|
+
if (href) {
|
|
237
|
+
chain.toggleMark('citation', { href }).run();
|
|
238
|
+
}
|
|
239
|
+
break;
|
|
240
|
+
}
|
|
225
241
|
case 'table':
|
|
226
242
|
chain.insertTable({ rows: 3, cols: 3, withHeaderRow: true }).run();
|
|
227
243
|
break;
|
|
@@ -267,6 +283,12 @@ function ToolButton({ tool, editor, onImageUploadClick, disabled = false, }) {
|
|
|
267
283
|
return editor.isActive('bulletList');
|
|
268
284
|
case 'ordered':
|
|
269
285
|
return editor.isActive('orderedList');
|
|
286
|
+
case 'callout':
|
|
287
|
+
return editor.isActive('callout');
|
|
288
|
+
case 'pullquote':
|
|
289
|
+
return editor.isActive('pullQuote');
|
|
290
|
+
case 'citation':
|
|
291
|
+
return editor.isActive('citation');
|
|
270
292
|
case 'table':
|
|
271
293
|
return editor.isActive('table');
|
|
272
294
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rte.js","sourceRoot":"","sources":["../../../src/ui/editor/Rte.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Rte.js","sourceRoot":"","sources":["../../../src/ui/editor/Rte.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Mark, Node } from '@tiptap/core';
|
|
2
|
+
export declare const CALLOUT_TONES: readonly ["note", "tip", "important", "warning", "caution"];
|
|
3
|
+
export type CalloutTone = (typeof CALLOUT_TONES)[number];
|
|
4
|
+
/** Editorial callout: an aside with a tone, rendered as a GFM alert in markdown. */
|
|
5
|
+
export declare const Callout: Node<any, any>;
|
|
6
|
+
/** Pull quote with an optional attribution line. */
|
|
7
|
+
export declare const PullQuote: Node<any, any>;
|
|
8
|
+
/**
|
|
9
|
+
* Generated-FAQ block: an opaque, machine-owned region. The editor shows a
|
|
10
|
+
* read-only marker; the inner markdown (without the comment markers) rides in
|
|
11
|
+
* the attrs and re-serializes byte-identically so the FAQ/JSON-LD consumers
|
|
12
|
+
* of body_markdown never notice the editor round trip.
|
|
13
|
+
*/
|
|
14
|
+
export declare const GeneratedFaq: Node<any, any>;
|
|
15
|
+
/** Citation annotation: a source reference rendered as [[label]](href) in markdown. */
|
|
16
|
+
export declare const Citation: Mark<any, any>;
|
|
17
|
+
//# sourceMappingURL=blocks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/blocks.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,IAAI,EAAmB,IAAI,EAAE,MAAM,cAAc,CAAA;AAE1D,eAAO,MAAM,aAAa,6DAA8D,CAAA;AACxF,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD,oFAAoF;AACpF,eAAO,MAAM,OAAO,gBA+BlB,CAAA;AAEF,oDAAoD;AACpD,eAAO,MAAM,SAAS,gBA2BpB,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY,gBA8BvB,CAAA;AAEF,uFAAuF;AACvF,eAAO,MAAM,QAAQ,gBAsBnB,CAAA"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
// src/ui/editor/blocks.ts
|
|
2
|
+
// Pure Tiptap specs for the Phase 1 typed blocks. Like tweet-embed.ts these
|
|
3
|
+
// NEVER instantiate Editor/EditorView; the HTML encodings exist for Tiptap's
|
|
4
|
+
// clipboard pipeline. Durable forms live in the serializers:
|
|
5
|
+
// callout ↔ PT { tone, content } ↔ GFM alert (> [!NOTE] …)
|
|
6
|
+
// pullQuote ↔ PT { attribution, content } ↔ :::pullquote directive
|
|
7
|
+
// generatedFaq ↔ PT { markdown } ↔ <!-- generated-faq --> comment block
|
|
8
|
+
// citation ↔ PT markDef { _type: 'citation', href } ↔ [[label]](href)
|
|
9
|
+
import { Mark, mergeAttributes, Node } from '@tiptap/core';
|
|
10
|
+
export const CALLOUT_TONES = ['note', 'tip', 'important', 'warning', 'caution'];
|
|
11
|
+
/** Editorial callout: an aside with a tone, rendered as a GFM alert in markdown. */
|
|
12
|
+
export const Callout = Node.create({
|
|
13
|
+
name: 'callout',
|
|
14
|
+
group: 'block',
|
|
15
|
+
content: 'paragraph+',
|
|
16
|
+
defining: true,
|
|
17
|
+
addAttributes() {
|
|
18
|
+
return {
|
|
19
|
+
tone: {
|
|
20
|
+
default: 'note',
|
|
21
|
+
parseHTML: (element) => {
|
|
22
|
+
const tone = element.getAttribute('data-tone');
|
|
23
|
+
return tone && CALLOUT_TONES.includes(tone) ? tone : 'note';
|
|
24
|
+
},
|
|
25
|
+
renderHTML: (attributes) => ({
|
|
26
|
+
'data-tone': attributes.tone,
|
|
27
|
+
}),
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
},
|
|
31
|
+
parseHTML() {
|
|
32
|
+
return [{ tag: 'div[data-callout]' }];
|
|
33
|
+
},
|
|
34
|
+
renderHTML({ HTMLAttributes }) {
|
|
35
|
+
return ['div', mergeAttributes(HTMLAttributes, { 'data-callout': '' }), 0];
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
/** Pull quote with an optional attribution line. */
|
|
39
|
+
export const PullQuote = Node.create({
|
|
40
|
+
name: 'pullQuote',
|
|
41
|
+
group: 'block',
|
|
42
|
+
content: 'paragraph+',
|
|
43
|
+
defining: true,
|
|
44
|
+
addAttributes() {
|
|
45
|
+
return {
|
|
46
|
+
attribution: {
|
|
47
|
+
default: null,
|
|
48
|
+
parseHTML: (element) => element.getAttribute('data-attribution'),
|
|
49
|
+
renderHTML: (attributes) => attributes.attribution ? { 'data-attribution': attributes.attribution } : {},
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
},
|
|
53
|
+
parseHTML() {
|
|
54
|
+
return [{ tag: 'figure[data-pull-quote]' }];
|
|
55
|
+
},
|
|
56
|
+
renderHTML({ HTMLAttributes }) {
|
|
57
|
+
return ['figure', mergeAttributes(HTMLAttributes, { 'data-pull-quote': '' }), 0];
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
/**
|
|
61
|
+
* Generated-FAQ block: an opaque, machine-owned region. The editor shows a
|
|
62
|
+
* read-only marker; the inner markdown (without the comment markers) rides in
|
|
63
|
+
* the attrs and re-serializes byte-identically so the FAQ/JSON-LD consumers
|
|
64
|
+
* of body_markdown never notice the editor round trip.
|
|
65
|
+
*/
|
|
66
|
+
export const GeneratedFaq = Node.create({
|
|
67
|
+
name: 'generatedFaq',
|
|
68
|
+
group: 'block',
|
|
69
|
+
atom: true,
|
|
70
|
+
addAttributes() {
|
|
71
|
+
return {
|
|
72
|
+
markdown: {
|
|
73
|
+
default: '',
|
|
74
|
+
parseHTML: (element) => element.getAttribute('data-markdown') ?? '',
|
|
75
|
+
renderHTML: (attributes) => ({
|
|
76
|
+
'data-markdown': attributes.markdown,
|
|
77
|
+
}),
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
parseHTML() {
|
|
82
|
+
return [{ tag: 'div[data-generated-faq]' }];
|
|
83
|
+
},
|
|
84
|
+
renderHTML({ HTMLAttributes }) {
|
|
85
|
+
return [
|
|
86
|
+
'div',
|
|
87
|
+
mergeAttributes(HTMLAttributes, { 'data-generated-faq': '' }),
|
|
88
|
+
'Generated FAQ block (machine-managed)',
|
|
89
|
+
];
|
|
90
|
+
},
|
|
91
|
+
});
|
|
92
|
+
/** Citation annotation: a source reference rendered as [[label]](href) in markdown. */
|
|
93
|
+
export const Citation = Mark.create({
|
|
94
|
+
name: 'citation',
|
|
95
|
+
addAttributes() {
|
|
96
|
+
return {
|
|
97
|
+
href: {
|
|
98
|
+
default: '',
|
|
99
|
+
parseHTML: (element) => element.getAttribute('href') ?? '',
|
|
100
|
+
renderHTML: (attributes) => ({
|
|
101
|
+
href: attributes.href,
|
|
102
|
+
}),
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
},
|
|
106
|
+
parseHTML() {
|
|
107
|
+
return [{ tag: 'a[data-citation]' }];
|
|
108
|
+
},
|
|
109
|
+
renderHTML({ HTMLAttributes }) {
|
|
110
|
+
return ['a', mergeAttributes(HTMLAttributes, { 'data-citation': '' }), 0];
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
//# sourceMappingURL=blocks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blocks.js","sourceRoot":"","sources":["../../../src/ui/editor/blocks.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
* and interleaved underscores through link syntax (the recurring "hyperlinks
|
|
7
7
|
* formatted incorrectly" incidents). With no underline extension, TipTap
|
|
8
8
|
* silently drops underline styling on paste — Word documents come in clean. */
|
|
9
|
-
export declare function createRteExtensions(): (import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any>)[];
|
|
9
|
+
export declare function createRteExtensions(): (import("@tiptap/core").Extension<any, any> | import("@tiptap/core").Node<any, any> | import("@tiptap/core").Mark<any, any> | import("@tiptap/core").Extension<import("@tiptap/starter-kit").StarterKitOptions, any> | import("@tiptap/core").Mark<import("@tiptap/extension-link").LinkOptions, any> | import("@tiptap/core").Node<import("@tiptap/extension-image").ImageOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-table").TableKitOptions, any> | import("@tiptap/core").Extension<import("@tiptap/extension-drag-handle").DragHandleOptions, any>)[];
|
|
10
10
|
//# sourceMappingURL=extensions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/extensions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extensions.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/extensions.ts"],"names":[],"mappings":"AAiBA;;;;;;;+EAO+E;AAC/E,wBAAgB,mBAAmB,8jBAqBlC"}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import { DragHandle } from '@tiptap/extension-drag-handle';
|
|
1
2
|
import Image from '@tiptap/extension-image';
|
|
2
3
|
import Link from '@tiptap/extension-link';
|
|
3
4
|
import { TableKit } from '@tiptap/extension-table';
|
|
4
5
|
import StarterKit from '@tiptap/starter-kit';
|
|
6
|
+
import { Callout, Citation, GeneratedFaq, PullQuote } from './blocks.js';
|
|
7
|
+
import { SlashMenu } from './slash-menu.js';
|
|
5
8
|
import { TrimBoundaryMarks } from './trim-boundary-marks.js';
|
|
6
9
|
import { TweetEmbed } from './tweet-embed.js';
|
|
10
|
+
function renderDragHandle() {
|
|
11
|
+
const handle = document.createElement('div');
|
|
12
|
+
handle.className = 'drag-handle';
|
|
13
|
+
handle.textContent = '⋮⋮';
|
|
14
|
+
return handle;
|
|
15
|
+
}
|
|
7
16
|
/** The single extension set used by Masthead and its behavioral editor tests.
|
|
8
17
|
*
|
|
9
18
|
* Underline is deliberately ABSENT. It has no markdown form — the serializer
|
|
@@ -22,6 +31,16 @@ export function createRteExtensions() {
|
|
|
22
31
|
// One consolidated package registers table/tableRow/tableHeader/tableCell.
|
|
23
32
|
// Gapcursor (via StarterKit) lets the caret sit before/after a table.
|
|
24
33
|
TableKit.configure({ table: { resizable: true } }),
|
|
34
|
+
Callout,
|
|
35
|
+
PullQuote,
|
|
36
|
+
GeneratedFaq,
|
|
37
|
+
Citation,
|
|
38
|
+
SlashMenu,
|
|
39
|
+
// DragHandle constructs its handle element (render()) during plugin
|
|
40
|
+
// setup, not lazily — browser-only, unlike every other extension here.
|
|
41
|
+
...(typeof document !== 'undefined'
|
|
42
|
+
? [DragHandle.configure({ render: renderDragHandle })]
|
|
43
|
+
: []),
|
|
25
44
|
];
|
|
26
45
|
}
|
|
27
46
|
//# sourceMappingURL=extensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/ui/editor/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,IAAI,MAAM,wBAAwB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;+EAO+E;AAC/E,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACtC,iBAAiB;QACjB,KAAK;QACL,UAAU;QACV,2EAA2E;QAC3E,sEAAsE;QACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/ui/editor/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,MAAM,yBAAyB,CAAA;AAC3C,OAAO,IAAI,MAAM,wBAAwB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,UAAU,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C,SAAS,gBAAgB;IACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,CAAC,SAAS,GAAG,aAAa,CAAA;IAChC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,OAAO,MAAM,CAAA;AACd,CAAC;AAED;;;;;;;+EAO+E;AAC/E,MAAM,UAAU,mBAAmB;IAClC,OAAO;QACN,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QACtC,iBAAiB;QACjB,KAAK;QACL,UAAU;QACV,2EAA2E;QAC3E,sEAAsE;QACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QAClD,OAAO;QACP,SAAS;QACT,YAAY;QACZ,QAAQ;QACR,SAAS;QACT,oEAAoE;QACpE,uEAAuE;QACvE,GAAG,CAAC,OAAO,QAAQ,KAAK,WAAW;YAClC,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACtD,CAAC,CAAC,EAAE,CAAC;KACN,CAAA;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portable-text.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/portable-text.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AA+BvE,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAIxE;
|
|
1
|
+
{"version":3,"file":"portable-text.d.ts","sourceRoot":"","sources":["../../../src/ui/editor/portable-text.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAA;AA+BvE,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,WAAW,GAAG,kBAAkB,EAAE,CAIxE;AA8SD,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,EAAE,GAAG,WAAW,CAE3E"}
|
|
@@ -99,6 +99,29 @@ function serializeBlockNode(node, out, nextKey, list) {
|
|
|
99
99
|
case 'table':
|
|
100
100
|
out.push(serializeTable(node, nextKey));
|
|
101
101
|
return;
|
|
102
|
+
case 'callout':
|
|
103
|
+
out.push({
|
|
104
|
+
_type: 'callout',
|
|
105
|
+
_key: nextKey(),
|
|
106
|
+
tone: node.attrs?.tone ?? 'note',
|
|
107
|
+
content: serializeBlocks(node.content ?? [], nextKey),
|
|
108
|
+
});
|
|
109
|
+
return;
|
|
110
|
+
case 'pullQuote':
|
|
111
|
+
out.push({
|
|
112
|
+
_type: 'pullQuote',
|
|
113
|
+
_key: nextKey(),
|
|
114
|
+
attribution: node.attrs?.attribution ?? null,
|
|
115
|
+
content: serializeBlocks(node.content ?? [], nextKey),
|
|
116
|
+
});
|
|
117
|
+
return;
|
|
118
|
+
case 'generatedFaq':
|
|
119
|
+
out.push({
|
|
120
|
+
_type: 'generatedFaq',
|
|
121
|
+
_key: nextKey(),
|
|
122
|
+
markdown: node.attrs?.markdown ?? '',
|
|
123
|
+
});
|
|
124
|
+
return;
|
|
102
125
|
default: {
|
|
103
126
|
// Unknown block: keep its text content rather than dropping it.
|
|
104
127
|
const inline = node.content ?? [];
|
|
@@ -169,6 +192,10 @@ function buildTextBlock(style, inline, nextKey, list) {
|
|
|
169
192
|
}
|
|
170
193
|
if (mark.type === 'link') {
|
|
171
194
|
marks.push(linkMarkDefKey(mark, markDefs, nextKey));
|
|
195
|
+
continue;
|
|
196
|
+
}
|
|
197
|
+
if (mark.type === 'citation') {
|
|
198
|
+
marks.push(citationMarkDefKey(mark, markDefs, nextKey));
|
|
172
199
|
}
|
|
173
200
|
// Marks without a Portable Text form (legacy underline) are dropped,
|
|
174
201
|
// matching the markdown serializer.
|
|
@@ -212,6 +239,15 @@ function linkMarkDefKey(mark, markDefs, nextKey) {
|
|
|
212
239
|
markDefs.push(def);
|
|
213
240
|
return def._key;
|
|
214
241
|
}
|
|
242
|
+
function citationMarkDefKey(mark, markDefs, nextKey) {
|
|
243
|
+
const href = mark.attrs?.href ?? '';
|
|
244
|
+
const existing = markDefs.find((def) => def._type === 'citation' && def.href === href);
|
|
245
|
+
if (existing)
|
|
246
|
+
return existing._key;
|
|
247
|
+
const def = { _key: nextKey(), _type: 'citation', href };
|
|
248
|
+
markDefs.push(def);
|
|
249
|
+
return def._key;
|
|
250
|
+
}
|
|
215
251
|
function serializeTable(node, nextKey) {
|
|
216
252
|
const rows = (node.content ?? []).filter((row) => row.type === 'tableRow');
|
|
217
253
|
let headerRows = 0;
|
|
@@ -338,6 +374,23 @@ function parseObject(block) {
|
|
|
338
374
|
return { type: 'horizontalRule' };
|
|
339
375
|
case 'table':
|
|
340
376
|
return parseTable(block);
|
|
377
|
+
case 'callout':
|
|
378
|
+
return {
|
|
379
|
+
type: 'callout',
|
|
380
|
+
attrs: { tone: block.tone ?? 'note' },
|
|
381
|
+
content: parseBlocks(block.content ?? []),
|
|
382
|
+
};
|
|
383
|
+
case 'pullQuote':
|
|
384
|
+
return {
|
|
385
|
+
type: 'pullQuote',
|
|
386
|
+
attrs: { attribution: block.attribution ?? null },
|
|
387
|
+
content: parseBlocks(block.content ?? []),
|
|
388
|
+
};
|
|
389
|
+
case 'generatedFaq':
|
|
390
|
+
return {
|
|
391
|
+
type: 'generatedFaq',
|
|
392
|
+
attrs: { markdown: block.markdown ?? '' },
|
|
393
|
+
};
|
|
341
394
|
default:
|
|
342
395
|
throw new Error(`portableTextToDoc: unknown Portable Text _type "${block._type}" — the stored content is newer than this serializer`);
|
|
343
396
|
}
|
|
@@ -412,7 +465,10 @@ function parseSpan(span, markDefs) {
|
|
|
412
465
|
},
|
|
413
466
|
});
|
|
414
467
|
}
|
|
415
|
-
|
|
468
|
+
else if (def._type === 'citation') {
|
|
469
|
+
marks.push({ type: 'citation', attrs: { href: def.href ?? '' } });
|
|
470
|
+
}
|
|
471
|
+
// Other annotation types have no Tiptap node yet; drop the mark but
|
|
416
472
|
// keep the text.
|
|
417
473
|
continue;
|
|
418
474
|
}
|