@refrakt-md/media 0.33.0 → 0.35.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/attributes.d.ts +7 -0
- package/dist/attributes.d.ts.map +1 -1
- package/dist/attributes.js +13 -6
- package/dist/attributes.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -12
- package/dist/index.js.map +1 -1
- package/dist/props.d.ts.map +1 -1
- package/dist/tags/audio.d.ts.map +1 -1
- package/dist/tags/audio.js +31 -13
- package/dist/tags/audio.js.map +1 -1
- package/dist/tags/playlist.d.ts +137 -0
- package/dist/tags/playlist.d.ts.map +1 -1
- package/dist/tags/playlist.js +298 -51
- package/dist/tags/playlist.js.map +1 -1
- package/dist/tags/track.d.ts +80 -0
- package/dist/tags/track.d.ts.map +1 -1
- package/dist/tags/track.js +122 -19
- package/dist/tags/track.js.map +1 -1
- package/package.json +4 -4
package/dist/tags/playlist.js
CHANGED
|
@@ -1,9 +1,93 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
const { Tag } = Markdoc;
|
|
3
|
-
import { createContentModelSchema, createComponentRenderable, asNodes, pageSectionProperties, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas, extractMediaImage } from '@refrakt-md/runes';
|
|
3
|
+
import { createContentModelSchema, createComponentRenderable, asNodes, pageSectionProperties, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas, extractMediaImage, } from '@refrakt-md/runes';
|
|
4
4
|
import { parseDuration } from '../duration.js';
|
|
5
|
+
import { TYPE_IMPLICIT } from './track.js';
|
|
5
6
|
const playlistType = ['album', 'podcast', 'audiobook', 'series', 'mix'];
|
|
7
|
+
/**
|
|
8
|
+
* The track kind a playlist gives a nested `{% track %}` that states none
|
|
9
|
+
* (WORK-572). The parent retypes its children; a child never declares its
|
|
10
|
+
* context (SPEC-130 D9), and Markdoc's bottom-up transform order means a child
|
|
11
|
+
* could not see its parent even if it wanted to.
|
|
12
|
+
*/
|
|
13
|
+
const CHILD_KIND = {
|
|
14
|
+
album: 'song',
|
|
15
|
+
mix: 'song',
|
|
16
|
+
podcast: 'episode',
|
|
17
|
+
audiobook: 'chapter',
|
|
18
|
+
series: 'episode',
|
|
19
|
+
};
|
|
6
20
|
const contentType = ['auto', 'lyrics', 'chapters'];
|
|
21
|
+
/**
|
|
22
|
+
* SPEC-130 / WORK-569 — the driving case, and the other half of BUG-013.
|
|
23
|
+
*
|
|
24
|
+
* `playlist` declared five kinds and published `MusicPlaylist` with
|
|
25
|
+
* `MusicRecording` items for every one of them, so `{% playlist type="podcast" %}`
|
|
26
|
+
* announced a podcast as a music playlist whose episodes were music recordings.
|
|
27
|
+
* The rune already knew what its content was and emitted the wrong schema anyway.
|
|
28
|
+
*
|
|
29
|
+
* | `type` | was | is |
|
|
30
|
+
* |-------------|-------------------------|--------------------------------|
|
|
31
|
+
* | `album` | `MusicPlaylist`/`track` | `MusicAlbum`/`track` |
|
|
32
|
+
* | `mix` | `MusicPlaylist`/`track` | unchanged |
|
|
33
|
+
* | `podcast` | `MusicPlaylist`/`track` | `PodcastSeries`/`hasPart` |
|
|
34
|
+
* | `audiobook` | `MusicPlaylist`/`track` | `Audiobook`/`hasPart` |
|
|
35
|
+
* | `series` | `MusicPlaylist`/`track` | `CreativeWorkSeries`/`hasPart` |
|
|
36
|
+
*
|
|
37
|
+
* **A child row is a type and a property map, not a type alone.** Retyping the
|
|
38
|
+
* item and leaving its stamps would put `byArtist` on a `PodcastEpisode`, which
|
|
39
|
+
* does not have that property — worse than the `MusicRecording` it replaced,
|
|
40
|
+
* which was at least coherently wrong. So the parent's map is the whole truth
|
|
41
|
+
* for a child it retypes, and the applier clears what it does not name.
|
|
42
|
+
*
|
|
43
|
+
* `Chapter` for an `Audiobook` and `CreativeWork` for a `CreativeWorkSeries` are
|
|
44
|
+
* the rows worth a second opinion. Nothing validates them (D5) — read them in
|
|
45
|
+
* `refrakt inspect playlist --type=all` and disagree there.
|
|
46
|
+
*/
|
|
47
|
+
const MUSIC_ITEM = {
|
|
48
|
+
'track-name': 'name',
|
|
49
|
+
'track-artist': 'byArtist',
|
|
50
|
+
duration: 'duration',
|
|
51
|
+
'track-meta': 'datePublished',
|
|
52
|
+
url: 'url',
|
|
53
|
+
position: 'position',
|
|
54
|
+
};
|
|
55
|
+
// Everything but the artist: `byArtist` is a `MusicRecording` property, and a
|
|
56
|
+
// series carries its publisher rather than each item doing so.
|
|
57
|
+
const SPOKEN_ITEM = {
|
|
58
|
+
'track-name': 'name',
|
|
59
|
+
duration: 'duration',
|
|
60
|
+
'track-meta': 'datePublished',
|
|
61
|
+
url: 'url',
|
|
62
|
+
position: 'position',
|
|
63
|
+
};
|
|
64
|
+
const musicRow = (type) => ({
|
|
65
|
+
type,
|
|
66
|
+
properties: { headline: 'name', mediaImage: 'image', artist: 'byArtist' },
|
|
67
|
+
lists: ['track'],
|
|
68
|
+
children: { track: { type: 'MusicRecording', property: 'track', properties: MUSIC_ITEM } },
|
|
69
|
+
});
|
|
70
|
+
const spokenRow = (type, itemType) => ({
|
|
71
|
+
type,
|
|
72
|
+
// No `byArtist` here either, for the same reason it is absent from the item.
|
|
73
|
+
properties: { headline: 'name', mediaImage: 'image' },
|
|
74
|
+
lists: ['hasPart'],
|
|
75
|
+
children: { track: { type: itemType, property: 'hasPart', properties: SPOKEN_ITEM } },
|
|
76
|
+
});
|
|
77
|
+
export const playlistSchema = {
|
|
78
|
+
by: 'type',
|
|
79
|
+
rows: {
|
|
80
|
+
album: musicRow('MusicAlbum'),
|
|
81
|
+
mix: musicRow('MusicPlaylist'),
|
|
82
|
+
podcast: spokenRow('PodcastSeries', 'PodcastEpisode'),
|
|
83
|
+
audiobook: spokenRow('Audiobook', 'Chapter'),
|
|
84
|
+
series: spokenRow('CreativeWorkSeries', 'CreativeWork'),
|
|
85
|
+
},
|
|
86
|
+
// The attribute defaults to `album` in the transform, so the absent case is
|
|
87
|
+
// an album — and `MusicAlbum`, a subtype of `MusicPlaylist`, has been
|
|
88
|
+
// available and unused the whole time.
|
|
89
|
+
fallback: musicRow('MusicAlbum'),
|
|
90
|
+
};
|
|
7
91
|
// SPEC-125 Phase 2 — join tables the rune declares about itself. Referenced
|
|
8
92
|
// from the theme config rather than owned by it: a theme may not redefine
|
|
9
93
|
// what a section *is* (ADR-028).
|
|
@@ -12,19 +96,48 @@ const contentType = ['auto', 'lyrics', 'chapters'];
|
|
|
12
96
|
// both structurally the body and genuinely prose-bearing. The track list stays
|
|
13
97
|
// unroled: it is structured content the rune reinterprets, and mapping it to
|
|
14
98
|
// `body` would invent a `datatable`-shaped overload where none exists.
|
|
15
|
-
export const playlistSections = {
|
|
99
|
+
export const playlistSections = {
|
|
100
|
+
preamble: 'preamble',
|
|
101
|
+
headline: 'title',
|
|
102
|
+
blurb: 'description',
|
|
103
|
+
media: 'media',
|
|
104
|
+
body: 'body',
|
|
105
|
+
};
|
|
16
106
|
export const playlistMediaSlots = { media: 'cover' };
|
|
17
107
|
export const playlist = createContentModelSchema({
|
|
108
|
+
schema: playlistSchema,
|
|
18
109
|
sections: playlistSections,
|
|
19
110
|
provides: ['prose'],
|
|
20
111
|
mediaSlots: playlistMediaSlots,
|
|
21
112
|
base: SplitLayoutModel,
|
|
22
113
|
attributes: {
|
|
23
|
-
type: {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
114
|
+
type: {
|
|
115
|
+
type: String,
|
|
116
|
+
required: false,
|
|
117
|
+
matches: playlistType.slice(),
|
|
118
|
+
description: 'Collection format: album, podcast, audiobook, series, or mix.',
|
|
119
|
+
},
|
|
120
|
+
artist: {
|
|
121
|
+
type: String,
|
|
122
|
+
required: false,
|
|
123
|
+
description: 'Default artist applied to tracks that omit their own.',
|
|
124
|
+
},
|
|
125
|
+
player: {
|
|
126
|
+
type: Boolean,
|
|
127
|
+
required: false,
|
|
128
|
+
description: 'Enable/disable an embedded audio player for the playlist.',
|
|
129
|
+
},
|
|
130
|
+
content: {
|
|
131
|
+
type: String,
|
|
132
|
+
required: false,
|
|
133
|
+
matches: contentType.slice(),
|
|
134
|
+
description: 'How nested lists are interpreted: auto-detect, lyrics, or chapters.',
|
|
135
|
+
},
|
|
136
|
+
id: {
|
|
137
|
+
type: String,
|
|
138
|
+
required: false,
|
|
139
|
+
description: 'Unique identifier used to link an audio rune to this playlist.',
|
|
140
|
+
},
|
|
28
141
|
},
|
|
29
142
|
contentModel: {
|
|
30
143
|
type: 'delimited',
|
|
@@ -35,22 +148,36 @@ export const playlist = createContentModelSchema({
|
|
|
35
148
|
{
|
|
36
149
|
name: 'media',
|
|
37
150
|
type: 'sequence',
|
|
38
|
-
fields: [
|
|
39
|
-
{ name: 'media', match: 'any', optional: true, greedy: true },
|
|
40
|
-
],
|
|
151
|
+
fields: [{ name: 'media', match: 'any', optional: true, greedy: true }],
|
|
41
152
|
},
|
|
42
153
|
{
|
|
43
154
|
name: 'content',
|
|
44
155
|
primary: true,
|
|
45
156
|
type: 'sequence',
|
|
46
157
|
fields: [
|
|
47
|
-
{ name: 'headline', match: 'heading', optional: false,
|
|
48
|
-
template: '# Playlist Name', description: 'Playlist title' },
|
|
49
|
-
{ name: 'blurb', match: 'paragraph', optional: true,
|
|
50
|
-
template: 'A description of this playlist.', description: 'Playlist description' },
|
|
51
158
|
{
|
|
159
|
+
name: 'headline',
|
|
160
|
+
match: 'heading',
|
|
161
|
+
optional: false,
|
|
162
|
+
template: '# Playlist Name',
|
|
163
|
+
description: 'Playlist title',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
name: 'blurb',
|
|
167
|
+
match: 'paragraph',
|
|
168
|
+
optional: true,
|
|
169
|
+
template: 'A description of this playlist.',
|
|
170
|
+
description: 'Playlist description',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
// WORK-572 — `tag:track` alongside `list` so the composition the
|
|
174
|
+
// docs promise works. Greedy because the two forms may alternate,
|
|
175
|
+
// and greedy collection is *consecutive*: prose between two tracks
|
|
176
|
+
// ends the run and pushes the rest to `body`. Documented on the
|
|
177
|
+
// rune page rather than left for an author to discover.
|
|
52
178
|
name: 'tracks',
|
|
53
|
-
match: 'list',
|
|
179
|
+
match: 'list|tag:track',
|
|
180
|
+
greedy: true,
|
|
54
181
|
optional: false,
|
|
55
182
|
description: 'Track listing',
|
|
56
183
|
template: '- **Track Name** (3:45)\n- **Another Track** (4:20)',
|
|
@@ -59,10 +186,13 @@ export const playlist = createContentModelSchema({
|
|
|
59
186
|
{ name: 'name', match: 'strong', optional: false },
|
|
60
187
|
{ name: 'src', match: 'link', optional: true, extract: 'href' },
|
|
61
188
|
{ name: 'artist', match: 'em', optional: true },
|
|
62
|
-
{
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
189
|
+
{
|
|
190
|
+
name: 'duration',
|
|
191
|
+
match: 'text',
|
|
192
|
+
optional: true,
|
|
193
|
+
pattern: /\((\d+:\d+(?::\d+)?)\)/,
|
|
194
|
+
},
|
|
195
|
+
{ name: 'date', match: 'text', optional: true, pattern: /—\s*(.+)$/ },
|
|
66
196
|
{ name: 'description', match: 'paragraph', optional: true, greedy: true },
|
|
67
197
|
{
|
|
68
198
|
name: 'cuePoints',
|
|
@@ -70,8 +200,12 @@ export const playlist = createContentModelSchema({
|
|
|
70
200
|
optional: true,
|
|
71
201
|
itemModel: {
|
|
72
202
|
fields: [
|
|
73
|
-
{
|
|
74
|
-
|
|
203
|
+
{
|
|
204
|
+
name: 'time',
|
|
205
|
+
match: 'text',
|
|
206
|
+
optional: true,
|
|
207
|
+
pattern: /\(?(\d+:\d+(?::\d+)?)\)?/,
|
|
208
|
+
},
|
|
75
209
|
{ name: 'label', match: 'strong', optional: true },
|
|
76
210
|
{ name: 'text', match: 'text', pattern: 'remainder', optional: false },
|
|
77
211
|
{ name: 'description', match: 'paragraph', optional: true, greedy: true },
|
|
@@ -95,10 +229,7 @@ export const playlist = createContentModelSchema({
|
|
|
95
229
|
const contentMode = attrs.content ?? 'auto';
|
|
96
230
|
const idValue = attrs.id ?? '';
|
|
97
231
|
// Collect header AST nodes (title, description) and transform together
|
|
98
|
-
const headerAstNodes = [
|
|
99
|
-
contentZone.headline,
|
|
100
|
-
contentZone.blurb,
|
|
101
|
-
].filter(Boolean);
|
|
232
|
+
const headerAstNodes = [contentZone.headline, contentZone.blurb].filter(Boolean);
|
|
102
233
|
const header = new RenderableNodeCursor(Markdoc.transform(headerAstNodes, config));
|
|
103
234
|
// Transform media zone
|
|
104
235
|
const mediaAstNodes = (Array.isArray(mediaZone.media) ? mediaZone.media : []);
|
|
@@ -112,18 +243,26 @@ export const playlist = createContentModelSchema({
|
|
|
112
243
|
const duration = track.duration ?? '';
|
|
113
244
|
const date = track.date?.trim() ?? '';
|
|
114
245
|
const cuePoints = track.cuePoints ?? [];
|
|
115
|
-
|
|
246
|
+
// WORK-569 — no `property=` here any more: `playlistSchema`'s child row
|
|
247
|
+
// stamps both populations, so the list form and a nested `{% track %}`
|
|
248
|
+
// take the same mapping instead of one being declared and one written
|
|
249
|
+
// out by hand.
|
|
250
|
+
const trackNameTag = new Tag('span', { 'data-name': 'track-name' }, [name]);
|
|
116
251
|
const trackChildrenArr = [trackNameTag];
|
|
117
252
|
if (artist) {
|
|
118
|
-
trackChildrenArr.push(new Tag('span', { 'data-name': 'track-artist'
|
|
253
|
+
trackChildrenArr.push(new Tag('span', { 'data-name': 'track-artist' }, [artist]));
|
|
119
254
|
}
|
|
120
255
|
if (duration) {
|
|
121
256
|
trackChildrenArr.push(new Tag('span', { 'data-name': 'track-duration' }, [duration]));
|
|
122
257
|
const durationSeconds = parseDuration(duration);
|
|
123
|
-
|
|
258
|
+
// Named `duration`, matching what `{% track %}` calls its ISO carrier,
|
|
259
|
+
// so one source reaches both forms. `track-duration` beside it is the
|
|
260
|
+
// *rendered* value ("3:45") and stays unmapped — publishing that as a
|
|
261
|
+
// schema.org duration is what naming them apart prevents.
|
|
262
|
+
trackChildrenArr.push(new Tag('meta', { 'data-name': 'duration', content: `PT${durationSeconds}S` }));
|
|
124
263
|
}
|
|
125
264
|
if (date) {
|
|
126
|
-
trackChildrenArr.push(new Tag('span', { 'data-name': 'track-meta'
|
|
265
|
+
trackChildrenArr.push(new Tag('span', { 'data-name': 'track-meta' }, [date]));
|
|
127
266
|
}
|
|
128
267
|
// Build cue point elements
|
|
129
268
|
if (cuePoints.length > 0) {
|
|
@@ -131,16 +270,55 @@ export const playlist = createContentModelSchema({
|
|
|
131
270
|
if (cueListTag)
|
|
132
271
|
trackChildrenArr.push(cueListTag);
|
|
133
272
|
}
|
|
134
|
-
|
|
273
|
+
// No `typeof` either — the child row types these. A list item states no
|
|
274
|
+
// kind of its own, so the parent is the only authority on what it is.
|
|
275
|
+
const trackAttrs = {};
|
|
135
276
|
if (src)
|
|
136
277
|
trackAttrs['data-src'] = src;
|
|
137
278
|
return new Tag('li', trackAttrs, trackChildrenArr);
|
|
138
279
|
});
|
|
139
|
-
|
|
280
|
+
// WORK-572 / BUG-016 — merge nested `{% track %}` children with the list
|
|
281
|
+
// items, in document order.
|
|
282
|
+
//
|
|
283
|
+
// `resolved.tracks` holds the matched nodes in source order; `tracksData`
|
|
284
|
+
// is the flat itemModel extraction across every list among them. Walking
|
|
285
|
+
// the nodes and consuming `tracksData` by list length is what keeps the two
|
|
286
|
+
// forms interleaved correctly, rather than appending one block after the
|
|
287
|
+
// other.
|
|
288
|
+
//
|
|
289
|
+
// Before this, a `{% track %}` inside a `{% playlist %}` fell through to the
|
|
290
|
+
// greedy `body` field: it rendered as an `<li>` outside any list and floated
|
|
291
|
+
// up as a detached top-level entity, while the docs recommended the
|
|
292
|
+
// composition.
|
|
293
|
+
const trackNodes = (contentZone.tracks ?? []);
|
|
294
|
+
const childKind = CHILD_KIND[playlistTypeValue] ?? 'song';
|
|
295
|
+
const orderedTracks = [];
|
|
296
|
+
let listCursor = 0;
|
|
297
|
+
for (const node of Array.isArray(trackNodes) ? trackNodes : [trackNodes]) {
|
|
298
|
+
if (!node || typeof node !== 'object')
|
|
299
|
+
continue;
|
|
300
|
+
if (node.type === 'list') {
|
|
301
|
+
const count = (node.children ?? []).length;
|
|
302
|
+
orderedTracks.push(...trackChildren.slice(listCursor, listCursor + count));
|
|
303
|
+
listCursor += count;
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
const transformed = new RenderableNodeCursor(Markdoc.transform([node], config))
|
|
307
|
+
.tag('li')
|
|
308
|
+
.toArray();
|
|
309
|
+
for (const li of transformed) {
|
|
310
|
+
orderedTracks.push(adoptNestedTrack(li, childKind, artistValue));
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
// Any list items a node walk missed (defensive: a shape the resolver
|
|
314
|
+
// collected but this loop did not recognise) still belong in the listing.
|
|
315
|
+
if (listCursor < trackChildren.length)
|
|
316
|
+
orderedTracks.push(...trackChildren.slice(listCursor));
|
|
317
|
+
const tracksOl = new Tag('ol', { 'data-name': 'tracks' }, orderedTracks);
|
|
140
318
|
// Build player element (when player attribute is set)
|
|
141
319
|
let playerEl = null;
|
|
142
320
|
if (hasPlayer) {
|
|
143
|
-
const playerData = tracksData.map(track => {
|
|
321
|
+
const playerData = tracksData.map((track) => {
|
|
144
322
|
const item = {
|
|
145
323
|
name: track.name ?? '',
|
|
146
324
|
};
|
|
@@ -161,7 +339,7 @@ export const playlist = createContentModelSchema({
|
|
|
161
339
|
}
|
|
162
340
|
// Layout meta tags
|
|
163
341
|
const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
|
|
164
|
-
const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta } = layoutMetas;
|
|
342
|
+
const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta, } = layoutMetas;
|
|
165
343
|
// Meta tags for identity transform modifiers
|
|
166
344
|
const typeMeta = new Tag('meta', { content: playlistTypeValue });
|
|
167
345
|
const hasPlayerMeta = hasPlayer ? new Tag('meta', { content: 'true' }) : null;
|
|
@@ -181,17 +359,12 @@ export const playlist = createContentModelSchema({
|
|
|
181
359
|
}
|
|
182
360
|
// Unwrap paragraph-wrapped images in the media zone
|
|
183
361
|
const mediaImgTag = extractMediaImage(side);
|
|
184
|
-
const mediaCursor = mediaImgTag
|
|
185
|
-
? new RenderableNodeCursor([mediaImgTag])
|
|
186
|
-
: side;
|
|
362
|
+
const mediaCursor = mediaImgTag ? new RenderableNodeCursor([mediaImgTag]) : side;
|
|
187
363
|
const mediaDiv = mediaCursor.wrap('div');
|
|
188
364
|
const hasMedia = mediaCursor.toArray().length > 0;
|
|
189
365
|
// Use the unwrapped image for SEO structured data
|
|
190
366
|
const seoImage = mediaImgTag;
|
|
191
|
-
const children = [
|
|
192
|
-
typeMeta,
|
|
193
|
-
...layoutChildren,
|
|
194
|
-
];
|
|
367
|
+
const children = [typeMeta, ...layoutChildren];
|
|
195
368
|
if (hasPlayerMeta)
|
|
196
369
|
children.push(hasPlayerMeta);
|
|
197
370
|
if (artistMeta)
|
|
@@ -207,8 +380,12 @@ export const playlist = createContentModelSchema({
|
|
|
207
380
|
children.push(tracksOl);
|
|
208
381
|
if (bodyDiv)
|
|
209
382
|
children.push(bodyDiv.next());
|
|
210
|
-
|
|
211
|
-
|
|
383
|
+
// WORK-572 — the merged, ordered set, not just the list items: this is the
|
|
384
|
+
// cursor `schema: { track }` stamps `property="track"` onto, and an unstamped
|
|
385
|
+
// child floats up as a detached top-level entity (BUG-016 symptom 2).
|
|
386
|
+
const trackItems = new RenderableNodeCursor(orderedTracks);
|
|
387
|
+
return createComponentRenderable({
|
|
388
|
+
rune: 'playlist',
|
|
212
389
|
tag: 'section',
|
|
213
390
|
property: 'contentSection',
|
|
214
391
|
properties: {
|
|
@@ -225,17 +402,85 @@ export const playlist = createContentModelSchema({
|
|
|
225
402
|
...sectionProps,
|
|
226
403
|
...(bodyDiv ? { body: bodyDiv } : {}),
|
|
227
404
|
media: mediaDiv,
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
...(seoImage ? { image: seoImage } : {}),
|
|
232
|
-
...(artistMeta ? { byArtist: artistMeta } : {}),
|
|
233
|
-
track: trackItems,
|
|
405
|
+
// WORK-561 — see the note on `recipe`: `image` is taken by
|
|
406
|
+
// `sectionProps`, so the media slot's image is `mediaImage`.
|
|
407
|
+
...(seoImage ? { mediaImage: seoImage } : {}),
|
|
234
408
|
},
|
|
235
409
|
children,
|
|
236
410
|
});
|
|
237
411
|
},
|
|
238
412
|
});
|
|
413
|
+
/**
|
|
414
|
+
* Adopt a nested `{% track %}` into its playlist (WORK-572).
|
|
415
|
+
*
|
|
416
|
+
* Two channels, and they behave differently (SPEC-130 D9):
|
|
417
|
+
*
|
|
418
|
+
* - **`typeof` — what the child *is* — is the child's when stated, else the
|
|
419
|
+
* parent's child-row default.** The `TYPE_IMPLICIT` marker is how the parent
|
|
420
|
+
* tells those apart; without it an absent `type` and an explicit
|
|
421
|
+
* `type="song"` are the same value by transform time.
|
|
422
|
+
* - **`property` — which collection it joins — is always the parent's**, and it
|
|
423
|
+
* is stamped by `createComponentRenderable`'s `schema:` map further down, not
|
|
424
|
+
* here. `collectJsonLd` nests a typed node only when it carries both `typeof`
|
|
425
|
+
* and `property`, so a child the parent never stamps floats free whatever type
|
|
426
|
+
* it has.
|
|
427
|
+
*
|
|
428
|
+
* The artist default rides along for the same reason the type does: the list
|
|
429
|
+
* form does `track.artist ?? playlistArtist`, so without it the two forms would
|
|
430
|
+
* disagree on `byArtist` and the equivalence would be false.
|
|
431
|
+
*/
|
|
432
|
+
function adoptNestedTrack(li, childKind, playlistArtist) {
|
|
433
|
+
if (!li || typeof li !== 'object')
|
|
434
|
+
return li;
|
|
435
|
+
if (!li[TYPE_IMPLICIT]) {
|
|
436
|
+
// The marker means "the author stated this type" (WORK-569), so its absence
|
|
437
|
+
// is what licenses adoption. The schema type is the applier's to set from
|
|
438
|
+
// `playlistSchema`'s child row, and the marker stays on the node for it to
|
|
439
|
+
// read; what is left here is the *rendered* modifier, so a podcast's nested
|
|
440
|
+
// track does not present itself as a song.
|
|
441
|
+
const raw = li.attributes['data-rune-fields'];
|
|
442
|
+
if (typeof raw === 'string') {
|
|
443
|
+
try {
|
|
444
|
+
const bag = JSON.parse(raw);
|
|
445
|
+
bag.type = childKind;
|
|
446
|
+
li.attributes['data-rune-fields'] = JSON.stringify(bag);
|
|
447
|
+
}
|
|
448
|
+
catch {
|
|
449
|
+
// A malformed bag is not this function's to repair.
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
for (const child of li.children ?? []) {
|
|
453
|
+
if (child?.name === 'meta' && child.attributes?.['data-field'] === 'type') {
|
|
454
|
+
child.attributes.content = childKind;
|
|
455
|
+
}
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
if (playlistArtist && !hasArtist(li)) {
|
|
459
|
+
// Named rather than stamped, so the child row decides whether a playlist's
|
|
460
|
+
// artist reaches the item at all — on a podcast or an audiobook it does
|
|
461
|
+
// not, because the series carries its publisher.
|
|
462
|
+
const artistMeta = new Markdoc.Tag('meta', {
|
|
463
|
+
content: playlistArtist,
|
|
464
|
+
'data-name': 'track-artist',
|
|
465
|
+
});
|
|
466
|
+
li.children = [...(li.children ?? []), artistMeta];
|
|
467
|
+
}
|
|
468
|
+
return li;
|
|
469
|
+
}
|
|
470
|
+
/** Whether a track already carries its own artist. */
|
|
471
|
+
function hasArtist(li) {
|
|
472
|
+
const raw = li.attributes?.['data-rune-fields'];
|
|
473
|
+
if (typeof raw === 'string') {
|
|
474
|
+
try {
|
|
475
|
+
if (JSON.parse(raw).artist)
|
|
476
|
+
return true;
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
// fall through to the node scan
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
return (li.children ?? []).some((c) => c?.attributes?.property === 'byArtist' || c?.attributes?.['data-name'] === 'track-artist');
|
|
483
|
+
}
|
|
239
484
|
/**
|
|
240
485
|
* Build cue point list (chapters or lyrics) from extracted itemModel data.
|
|
241
486
|
*/
|
|
@@ -243,9 +488,11 @@ function buildCuePoints(cuePoints, contentMode) {
|
|
|
243
488
|
if (cuePoints.length === 0)
|
|
244
489
|
return null;
|
|
245
490
|
// Detect content type: lyrics have timestamp at start with short text
|
|
246
|
-
const isLyrics = contentMode === 'lyrics' ||
|
|
491
|
+
const isLyrics = contentMode === 'lyrics' ||
|
|
492
|
+
(contentMode === 'auto' &&
|
|
493
|
+
cuePoints.every((cp) => cp.time && typeof cp.text === 'string' && cp.text.length < 100));
|
|
247
494
|
if (isLyrics) {
|
|
248
|
-
const lyricItems = cuePoints.map(cp => {
|
|
495
|
+
const lyricItems = cuePoints.map((cp) => {
|
|
249
496
|
const attrs = {};
|
|
250
497
|
if (cp.time)
|
|
251
498
|
attrs['data-time'] = String(parseDuration(cp.time));
|
|
@@ -256,7 +503,7 @@ function buildCuePoints(cuePoints, contentMode) {
|
|
|
256
503
|
return new Tag('ol', { 'data-name': 'lyrics' }, lyricItems);
|
|
257
504
|
}
|
|
258
505
|
// Chapters
|
|
259
|
-
const chapterItems = cuePoints.map(cp => {
|
|
506
|
+
const chapterItems = cuePoints.map((cp) => {
|
|
260
507
|
const attrs = {};
|
|
261
508
|
if (cp.time)
|
|
262
509
|
attrs['data-time'] = String(parseDuration(cp.time));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"playlist.js","sourceRoot":"","sources":["../../src/tags/playlist.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"playlist.js","sourceRoot":"","sources":["../../src/tags/playlist.ts"],"names":[],"mappings":"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"}
|
package/dist/tags/track.d.ts
CHANGED
|
@@ -1,3 +1,83 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
|
+
/**
|
|
3
|
+
* Marks a track whose `type` the author **did** state (WORK-572 / WORK-569).
|
|
4
|
+
*
|
|
5
|
+
* WORK-572 introduced this the other way round, as "the author stated nothing",
|
|
6
|
+
* because `playlist` was the only reader and adoption was the special case.
|
|
7
|
+
* WORK-569 moved it into the applier and inverted it: D9's default is that a
|
|
8
|
+
* parent retypes its children, so what needs marking is the exception — a type
|
|
9
|
+
* the author wrote, which no parent may overrule.
|
|
10
|
+
*
|
|
11
|
+
* Re-exported under the old name because `playlist` also reads it to decide
|
|
12
|
+
* whether to adopt the *rendered* kind, which is not a schema concern.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TYPE_IMPLICIT: symbol;
|
|
15
|
+
export declare const trackSchema: {
|
|
16
|
+
by: string;
|
|
17
|
+
rows: {
|
|
18
|
+
song: {
|
|
19
|
+
type: string;
|
|
20
|
+
properties: {
|
|
21
|
+
artist: string;
|
|
22
|
+
name: "name";
|
|
23
|
+
duration: "duration";
|
|
24
|
+
url: "url";
|
|
25
|
+
position: "position";
|
|
26
|
+
datePublished: "datePublished";
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
episode: {
|
|
30
|
+
type: string;
|
|
31
|
+
properties: {
|
|
32
|
+
readonly name: "name";
|
|
33
|
+
readonly duration: "duration";
|
|
34
|
+
readonly url: "url";
|
|
35
|
+
readonly position: "position";
|
|
36
|
+
readonly datePublished: "datePublished";
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
chapter: {
|
|
40
|
+
type: string;
|
|
41
|
+
properties: {
|
|
42
|
+
readonly name: "name";
|
|
43
|
+
readonly duration: "duration";
|
|
44
|
+
readonly url: "url";
|
|
45
|
+
readonly position: "position";
|
|
46
|
+
readonly datePublished: "datePublished";
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
talk: {
|
|
50
|
+
type: string;
|
|
51
|
+
properties: {
|
|
52
|
+
readonly name: "name";
|
|
53
|
+
readonly duration: "duration";
|
|
54
|
+
readonly url: "url";
|
|
55
|
+
readonly position: "position";
|
|
56
|
+
readonly datePublished: "datePublished";
|
|
57
|
+
};
|
|
58
|
+
};
|
|
59
|
+
video: {
|
|
60
|
+
type: string;
|
|
61
|
+
properties: {
|
|
62
|
+
readonly name: "name";
|
|
63
|
+
readonly duration: "duration";
|
|
64
|
+
readonly url: "url";
|
|
65
|
+
readonly position: "position";
|
|
66
|
+
readonly datePublished: "datePublished";
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
fallback: {
|
|
71
|
+
type: string;
|
|
72
|
+
properties: {
|
|
73
|
+
artist: string;
|
|
74
|
+
name: "name";
|
|
75
|
+
duration: "duration";
|
|
76
|
+
url: "url";
|
|
77
|
+
position: "position";
|
|
78
|
+
datePublished: "datePublished";
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
2
82
|
export declare const track: Markdoc.Schema;
|
|
3
83
|
//# sourceMappingURL=track.d.ts.map
|
package/dist/tags/track.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/tags/track.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"track.d.ts","sourceRoot":"","sources":["../../src/tags/track.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAcvC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,aAAa,QAAuB,CAAC;AA+BlD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAavB,CAAC;AAEF,eAAO,MAAM,KAAK,gBA4JhB,CAAC"}
|