@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.
@@ -1,17 +1,102 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Tag } = Markdoc;
3
- import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor } from '@refrakt-md/runes';
3
+ import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor, SCHEMA_TYPE_EXPLICIT, } from '@refrakt-md/runes';
4
4
  import { parseDuration, formatDuration } from '../duration.js';
5
5
  const trackType = ['song', 'episode', 'chapter', 'talk', 'video'];
6
+ /**
7
+ * Marks a track whose `type` the author **did** state (WORK-572 / WORK-569).
8
+ *
9
+ * WORK-572 introduced this the other way round, as "the author stated nothing",
10
+ * because `playlist` was the only reader and adoption was the special case.
11
+ * WORK-569 moved it into the applier and inverted it: D9's default is that a
12
+ * parent retypes its children, so what needs marking is the exception — a type
13
+ * the author wrote, which no parent may overrule.
14
+ *
15
+ * Re-exported under the old name because `playlist` also reads it to decide
16
+ * whether to adopt the *rendered* kind, which is not a schema concern.
17
+ */
18
+ export const TYPE_IMPLICIT = SCHEMA_TYPE_EXPLICIT;
19
+ /**
20
+ * SPEC-130 / WORK-569 — `track` keys off the enum its author already set.
21
+ *
22
+ * The rune declared five kinds and emitted `MusicRecording` for all of them, so
23
+ * `{% track type="episode" %}` published a podcast episode as a music
24
+ * recording. Half of BUG-013; `playlist` is the other half, and the two tables
25
+ * are independent — neither rune declares anything about the other (D9).
26
+ *
27
+ * **`byArtist` is on the music row only.** It belongs to `MusicRecording`; a
28
+ * `PodcastEpisode`, `Chapter`, `CreativeWork` or `VideoObject` does not have it,
29
+ * and carrying it across would be worse than the type it replaced, which was at
30
+ * least coherently wrong. Mapping the artist to `author` on those rows is
31
+ * arguable and deliberately not done here: `author` expects a Person or
32
+ * Organization and the value is a bare string, so it is a new claim rather than
33
+ * a relocation. Nothing checks either judgement (D5) — read the row in
34
+ * `refrakt inspect` and disagree there.
35
+ *
36
+ * `talk` is the row with no obvious type. `CreativeWork` is the honest answer:
37
+ * schema.org has no talk, and `PresentationDigitalDocument` describes the slides
38
+ * rather than the talk.
39
+ */
40
+ const trackCommon = {
41
+ name: 'name',
42
+ duration: 'duration',
43
+ url: 'url',
44
+ position: 'position',
45
+ datePublished: 'datePublished',
46
+ };
47
+ export const trackSchema = {
48
+ by: 'type',
49
+ rows: {
50
+ song: { type: 'MusicRecording', properties: { ...trackCommon, artist: 'byArtist' } },
51
+ episode: { type: 'PodcastEpisode', properties: trackCommon },
52
+ chapter: { type: 'Chapter', properties: trackCommon },
53
+ talk: { type: 'CreativeWork', properties: trackCommon },
54
+ video: { type: 'VideoObject', properties: trackCommon },
55
+ },
56
+ // A standalone track with no stated kind is a song, matching the `'song'`
57
+ // fallback the transform has always used. Nested, the marker above lets its
58
+ // playlist replace this.
59
+ fallback: { type: 'MusicRecording', properties: { ...trackCommon, artist: 'byArtist' } },
60
+ };
6
61
  export const track = createContentModelSchema({
62
+ schema: trackSchema,
7
63
  attributes: {
8
- src: { type: String, required: false, description: 'URL of the audio or video file for this track.' },
9
- artist: { type: String, required: false, description: 'Performer or creator name for this track.' },
10
- duration: { type: String, required: false, description: 'Track length in m:ss, h:mm:ss, or ISO 8601 duration format.' },
11
- number: { type: Number, required: false, description: 'Position number of the track in its parent listing.' },
12
- date: { type: String, required: false, description: 'Publication or release date for the track.' },
13
- url: { type: String, required: false, description: 'External link to the track on a streaming platform or website.' },
14
- type: { type: String, required: false, matches: trackType.slice(), description: 'Media category: song, episode, chapter, talk, or video.' },
64
+ src: {
65
+ type: String,
66
+ required: false,
67
+ description: 'URL of the audio or video file for this track.',
68
+ },
69
+ artist: {
70
+ type: String,
71
+ required: false,
72
+ description: 'Performer or creator name for this track.',
73
+ },
74
+ duration: {
75
+ type: String,
76
+ required: false,
77
+ description: 'Track length in m:ss, h:mm:ss, or ISO 8601 duration format.',
78
+ },
79
+ number: {
80
+ type: Number,
81
+ required: false,
82
+ description: 'Position number of the track in its parent listing.',
83
+ },
84
+ date: {
85
+ type: String,
86
+ required: false,
87
+ description: 'Publication or release date for the track.',
88
+ },
89
+ url: {
90
+ type: String,
91
+ required: false,
92
+ description: 'External link to the track on a streaming platform or website.',
93
+ },
94
+ type: {
95
+ type: String,
96
+ required: false,
97
+ matches: trackType.slice(),
98
+ description: 'Media category: song, episode, chapter, talk, or video.',
99
+ },
15
100
  },
16
101
  contentModel: {
17
102
  type: 'sequence',
@@ -27,7 +112,14 @@ export const track = createContentModelSchema({
27
112
  const number = attrs.number;
28
113
  const date = attrs.date ?? '';
29
114
  const url = attrs.url ?? '';
30
- const typeValue = attrs.type ?? 'song';
115
+ // WORK-572 — an absent `type` and an explicit `type="song"` must stay
116
+ // distinguishable. Coalescing here made them identical by transform time,
117
+ // so "no explicit type → inherit the playlist's" could never fire. The
118
+ // `'song'` default is now the *standalone* fallback only; a nested track
119
+ // with no explicit type is retyped by its parent (SPEC-130 D9 — the parent
120
+ // retypes its children; a child never declares its context).
121
+ const explicitType = attrs.type;
122
+ const typeValue = explicitType ?? 'song';
31
123
  // Transform title
32
124
  const titleNodes = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.title), config));
33
125
  // Extract track name from title heading or paragraph
@@ -69,19 +161,32 @@ export const track = createContentModelSchema({
69
161
  if (src)
70
162
  rootAttrs['data-src'] = src;
71
163
  const durationMeta = duration
72
- ? new Tag('meta', { content: duration.startsWith('PT') ? duration : `PT${parseDuration(duration)}S` })
164
+ ? new Tag('meta', {
165
+ content: duration.startsWith('PT') ? duration : `PT${parseDuration(duration)}S`,
166
+ })
73
167
  : undefined;
74
168
  const artistMeta = artist ? new Tag('meta', { content: artist }) : undefined;
75
169
  const urlMeta = url ? new Tag('meta', { content: url }) : undefined;
76
170
  const numberMeta = number !== undefined ? new Tag('meta', { content: String(number) }) : undefined;
77
171
  const dateMeta = date ? new Tag('meta', { content: date }) : undefined;
172
+ // WORK-572 — `artistMeta` and `durationMeta` were declared in `properties`
173
+ // and `schema` but never pushed here, so they were stamped onto nodes that
174
+ // were not in the tree: a standalone `{% track artist="Radiohead"
175
+ // duration="4:01" %}` published its name and nothing else. The visible
176
+ // `track-artist` / `track-duration` spans carry no `property=`, so
177
+ // `collectProperties` never saw a value either.
178
+ if (artistMeta)
179
+ children.push(artistMeta);
180
+ if (durationMeta)
181
+ children.push(durationMeta);
78
182
  if (urlMeta)
79
183
  children.push(urlMeta);
80
184
  if (numberMeta)
81
185
  children.push(numberMeta);
82
186
  if (dateMeta)
83
187
  children.push(dateMeta);
84
- return createComponentRenderable({ rune: 'track', schemaOrgType: 'MusicRecording',
188
+ const renderable = createComponentRenderable({
189
+ rune: 'track',
85
190
  tag: 'li',
86
191
  properties: {
87
192
  name: nameTag,
@@ -92,16 +197,14 @@ export const track = createContentModelSchema({
92
197
  ...(dateMeta ? { datePublished: dateMeta } : {}),
93
198
  type: typeMeta,
94
199
  },
95
- schema: {
96
- name: nameTag,
97
- ...(artistMeta ? { byArtist: artistMeta } : {}),
98
- ...(durationMeta ? { duration: durationMeta } : {}),
99
- ...(urlMeta ? { url: urlMeta } : {}),
100
- ...(numberMeta ? { position: numberMeta } : {}),
101
- ...(dateMeta ? { datePublished: dateMeta } : {}),
102
- },
103
200
  children,
104
201
  });
202
+ // `rootAttrs` was assembled and then never applied, so `src` was dropped on
203
+ // a standalone track — the audio file the author pointed at reached nothing.
204
+ Object.assign(renderable.attributes, rootAttrs);
205
+ if (explicitType !== undefined)
206
+ renderable[TYPE_IMPLICIT] = true;
207
+ return renderable;
105
208
  },
106
209
  });
107
210
  function extractText(tag) {
@@ -1 +1 @@
1
- {"version":3,"file":"track.js","sourceRoot":"","sources":["../../src/tags/track.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"track.js","sourceRoot":"","sources":["../../src/tags/track.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/media",
3
3
  "description": "Media runes for refrakt.md — music playlists and recordings",
4
- "version": "0.33.0",
4
+ "version": "0.35.0",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -21,9 +21,9 @@
21
21
  "build": "tsc"
22
22
  },
23
23
  "dependencies": {
24
- "@refrakt-md/types": "0.33.0",
25
- "@refrakt-md/transform": "0.33.0",
26
- "@refrakt-md/runes": "0.33.0",
24
+ "@refrakt-md/types": "0.35.0",
25
+ "@refrakt-md/transform": "0.35.0",
26
+ "@refrakt-md/runes": "0.35.0",
27
27
  "@markdoc/markdoc": "0.4.0",
28
28
  "iso8601-duration": "2.1.2",
29
29
  "reflect-metadata": "^0.2.0"