@refrakt-md/storytelling 0.8.5 → 0.9.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 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAgK7C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGxD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6M7C,CAAC"}
package/dist/config.js CHANGED
@@ -2,6 +2,9 @@ import { ratioToFr, resolveValign, resolveGap } from '@refrakt-md/transform';
2
2
  export const config = {
3
3
  Character: {
4
4
  block: 'character',
5
+ defaultDensity: 'full',
6
+ sections: { badge: 'header', name: 'title', content: 'body', portrait: 'media' },
7
+ mediaSlots: { portrait: 'portrait' },
5
8
  contentWrapper: { tag: 'div', ref: 'content' },
6
9
  modifiers: {
7
10
  role: { source: 'meta', default: 'supporting' },
@@ -13,8 +16,8 @@ export const config = {
13
16
  badge: {
14
17
  tag: 'div', before: true,
15
18
  children: [
16
- { tag: 'span', ref: 'role-badge', metaText: 'role' },
17
- { tag: 'span', ref: 'status-badge', metaText: 'status', condition: 'status' },
19
+ { tag: 'span', ref: 'role-badge', metaText: 'role', label: 'Role:', metaType: 'category', metaRank: 'primary' },
20
+ { tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', condition: 'status', metaType: 'status', metaRank: 'primary', sentimentMap: { alive: 'positive', dead: 'negative', unknown: 'neutral', missing: 'caution' } },
18
21
  ],
19
22
  },
20
23
  },
@@ -23,6 +26,10 @@ export const config = {
23
26
  CharacterSection: { block: 'character-section', parent: 'Character', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
24
27
  Realm: {
25
28
  block: 'realm',
29
+ defaultDensity: 'full',
30
+ sections: { badge: 'header', name: 'title', scene: 'media' },
31
+ mediaSlots: { scene: 'cover' },
32
+ rootAttributes: { 'data-media-position': 'top' },
26
33
  modifiers: {
27
34
  realmType: { source: 'meta', default: 'place' },
28
35
  scale: { source: 'meta' },
@@ -43,8 +50,8 @@ export const config = {
43
50
  badge: {
44
51
  tag: 'div', before: true,
45
52
  children: [
46
- { tag: 'span', ref: 'type-badge', metaText: 'realmType' },
47
- { tag: 'span', ref: 'scale-badge', metaText: 'scale', condition: 'scale' },
53
+ { tag: 'span', ref: 'type-badge', metaText: 'realmType', label: 'Type:', metaType: 'category', metaRank: 'primary' },
54
+ { tag: 'span', ref: 'scale-badge', metaText: 'scale', label: 'Scale:', condition: 'scale', metaType: 'category', metaRank: 'secondary' },
48
55
  ],
49
56
  },
50
57
  },
@@ -54,6 +61,8 @@ export const config = {
54
61
  RealmSection: { block: 'realm-section', parent: 'Realm', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
55
62
  Lore: {
56
63
  block: 'lore',
64
+ defaultDensity: 'full',
65
+ sections: { badge: 'header', title: 'title', content: 'body' },
57
66
  contentWrapper: { tag: 'div', ref: 'content' },
58
67
  modifiers: {
59
68
  category: { source: 'meta' },
@@ -65,7 +74,7 @@ export const config = {
65
74
  tag: 'div', before: true,
66
75
  conditionAny: ['category'],
67
76
  children: [
68
- { tag: 'span', ref: 'category-badge', metaText: 'category', condition: 'category' },
77
+ { tag: 'span', ref: 'category-badge', metaText: 'category', label: 'Category:', condition: 'category', metaType: 'category', metaRank: 'primary' },
69
78
  ],
70
79
  },
71
80
  },
@@ -73,6 +82,10 @@ export const config = {
73
82
  },
74
83
  Faction: {
75
84
  block: 'faction',
85
+ defaultDensity: 'full',
86
+ sections: { badge: 'header', name: 'title', scene: 'media' },
87
+ mediaSlots: { scene: 'cover' },
88
+ rootAttributes: { 'data-media-position': 'top' },
76
89
  modifiers: {
77
90
  factionType: { source: 'meta' },
78
91
  alignment: { source: 'meta' },
@@ -94,9 +107,9 @@ export const config = {
94
107
  tag: 'div', before: true,
95
108
  conditionAny: ['factionType', 'alignment', 'size'],
96
109
  children: [
97
- { tag: 'span', ref: 'type-badge', metaText: 'factionType', condition: 'factionType' },
98
- { tag: 'span', ref: 'alignment-badge', metaText: 'alignment', condition: 'alignment' },
99
- { tag: 'span', ref: 'size-badge', metaText: 'size', condition: 'size' },
110
+ { tag: 'span', ref: 'type-badge', metaText: 'factionType', label: 'Type:', condition: 'factionType', metaType: 'category', metaRank: 'primary' },
111
+ { tag: 'span', ref: 'alignment-badge', metaText: 'alignment', label: 'Alignment:', condition: 'alignment', metaType: 'category', metaRank: 'primary', sentimentMap: { good: 'positive', neutral: 'neutral', evil: 'negative', chaotic: 'caution', lawful: 'neutral' } },
112
+ { tag: 'span', ref: 'size-badge', metaText: 'size', label: 'Size:', condition: 'size', metaType: 'quantity', metaRank: 'secondary' },
100
113
  ],
101
114
  },
102
115
  },
@@ -106,6 +119,8 @@ export const config = {
106
119
  FactionSection: { block: 'faction-section', parent: 'Faction', autoLabel: { span: 'header' }, editHints: { header: 'inline', name: 'inline', body: 'none' } },
107
120
  Plot: {
108
121
  block: 'plot',
122
+ defaultDensity: 'full',
123
+ sections: { badge: 'header', title: 'title' },
109
124
  modifiers: {
110
125
  plotType: { source: 'meta', default: 'arc' },
111
126
  structure: { source: 'meta', default: 'linear' },
@@ -116,12 +131,26 @@ export const config = {
116
131
  tag: 'div', before: true,
117
132
  conditionAny: ['plotType', 'structure'],
118
133
  children: [
119
- { tag: 'span', ref: 'type-badge', metaText: 'plotType', condition: 'plotType' },
120
- { tag: 'span', ref: 'structure-badge', metaText: 'structure', condition: 'structure' },
134
+ { tag: 'span', ref: 'type-badge', metaText: 'plotType', label: 'Type:', condition: 'plotType', metaType: 'category', metaRank: 'primary' },
135
+ { tag: 'span', ref: 'structure-badge', metaText: 'structure', label: 'Structure:', condition: 'structure', metaType: 'category', metaRank: 'secondary' },
121
136
  ],
122
137
  },
123
138
  },
124
139
  editHints: { title: 'inline', beats: 'none' },
140
+ postTransform(node, { modifiers }) {
141
+ // Linear plots use connected sequence for beat timeline
142
+ if (modifiers.structure === 'linear') {
143
+ const children = [...node.children];
144
+ for (let i = 0; i < children.length; i++) {
145
+ const child = children[i];
146
+ if (typeof child === 'object' && child !== null && !Array.isArray(child) && child.name === 'ol') {
147
+ children[i] = { ...child, attributes: { ...child.attributes, 'data-sequence': 'connected' } };
148
+ }
149
+ }
150
+ return { ...node, children };
151
+ }
152
+ return node;
153
+ },
125
154
  },
126
155
  Beat: {
127
156
  block: 'beat',
@@ -133,9 +162,24 @@ export const config = {
133
162
  follows: { source: 'meta' },
134
163
  },
135
164
  editHints: { label: 'inline', body: 'none' },
165
+ postTransform(node, { modifiers }) {
166
+ const STATUS_TO_CHECKED = {
167
+ complete: 'checked',
168
+ active: 'active',
169
+ planned: 'unchecked',
170
+ abandoned: 'skipped',
171
+ };
172
+ const checked = STATUS_TO_CHECKED[modifiers.status];
173
+ if (checked) {
174
+ return { ...node, attributes: { ...node.attributes, 'data-checked': checked } };
175
+ }
176
+ return node;
177
+ },
136
178
  },
137
179
  Bond: {
138
180
  block: 'bond',
181
+ defaultDensity: 'compact',
182
+ sections: { body: 'body' },
139
183
  modifiers: {
140
184
  bondType: { source: 'meta' },
141
185
  status: { source: 'meta', default: 'active' },
@@ -145,6 +189,7 @@ export const config = {
145
189
  },
146
190
  Storyboard: {
147
191
  block: 'storyboard',
192
+ defaultDensity: 'full',
148
193
  modifiers: {
149
194
  variant: { source: 'meta', default: 'clean' },
150
195
  columns: { source: 'meta', default: '3' },
@@ -152,6 +197,6 @@ export const config = {
152
197
  styles: { columns: '--sb-columns' },
153
198
  editHints: { panels: 'none' },
154
199
  },
155
- StoryboardPanel: { block: 'storyboard-panel', parent: 'Storyboard', editHints: { image: 'image', caption: 'inline', body: 'none' } },
200
+ StoryboardPanel: { block: 'storyboard-panel', parent: 'Storyboard', mediaSlots: { image: 'cover' }, editHints: { image: 'image', caption: 'inline', body: 'none' } },
156
201
  };
157
202
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE7E,MAAM,CAAC,MAAM,MAAM,GAA+B;IACjD,SAAS,EAAE;QACV,KAAK,EAAE,WAAW;QAClB,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;QAC9C,SAAS,EAAE;YACV,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE;YAC/C,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAC5C,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC3B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;SACxB;QACD,SAAS,EAAE;YACV,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;gBACxB,QAAQ,EAAE;oBACT,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE;oBACpD,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE;iBAC7E;aACD;SACD;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KAChF;IACD,gBAAgB,EAAE,EAAE,KAAK,EAAE,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAEnK,KAAK,EAAE;QACN,KAAK,EAAE,OAAO;QACd,SAAS,EAAE;YACV,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAC/C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACzB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACxB,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;YAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC3D,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5D,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;YAC7D,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;SAC9C;QACD,MAAM,EAAE;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE;YACtD,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE;YAC5D,GAAG,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE;SACnD;QACD,SAAS,EAAE;YACV,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;gBACxB,QAAQ,EAAE;oBACT,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,WAAW,EAAE;oBACzD,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE;iBAC1E;aACD;SACD;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC7E;IACD,YAAY,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAEvJ,IAAI,EAAE;QACL,KAAK,EAAE,MAAM;QACb,cAAc,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE;QAC9C,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC5B,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;SACxB;QACD,SAAS,EAAE;YACV,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;gBACxB,YAAY,EAAE,CAAC,UAAU,CAAC;gBAC1B,QAAQ,EAAE;oBACT,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;iBACnF;aACD;SACD;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;KAC5C;IAED,OAAO,EAAE;QACR,KAAK,EAAE,SAAS;QAChB,SAAS,EAAE;YACV,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC/B,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC7B,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACxB,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACxB,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;YAC9C,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC3D,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE;YAC5D,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE;YAC7D,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE;SAC9C;QACD,MAAM,EAAE;YACP,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE;YACtD,MAAM,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE;YAC5D,GAAG,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE;SACnD;QACD,SAAS,EAAE;YACV,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;gBACxB,YAAY,EAAE,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC;gBAClD,QAAQ,EAAE;oBACT,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE;oBACrF,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;oBACtF,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE;iBACvE;aACD;SACD;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QAC7B,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE;KAC7D;IACD,cAAc,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;IAE7J,IAAI,EAAE;QACL,KAAK,EAAE,MAAM;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;YAC5C,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;YAChD,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;SACxB;QACD,SAAS,EAAE;YACV,KAAK,EAAE;gBACN,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI;gBACxB,YAAY,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;gBACvC,QAAQ,EAAE;oBACT,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE;oBAC/E,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;iBACtF;aACD;SACD;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE;KAC7C;IACD,IAAI,EAAE;QACL,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,SAAS,EAAE;YACV,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE;YAC9C,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACtB,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACzB,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;SAC3B;QACD,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;KAC5C;IAED,IAAI,EAAE;QACL,KAAK,EAAE,MAAM;QACb,SAAS,EAAE;YACV,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YAC5B,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE;YAC7C,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE;SAClD;QACD,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE;KAC3F;IAED,UAAU,EAAE;QACX,KAAK,EAAE,YAAY;QACnB,SAAS,EAAE;YACV,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE;YAC7C,OAAO,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE;SACzC;QACD,MAAM,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;QACnC,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;KAC7B;IACD,eAAe,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;CACpI,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUrD,eAAO,MAAM,YAAY,EAAE,WAkK1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWrD,eAAO,MAAM,YAAY,EAAE,WAmK1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -6,10 +6,11 @@ import { plot, beat } from './tags/plot.js';
6
6
  import { bond } from './tags/bond.js';
7
7
  import { storyboard, storyboardPanel } from './tags/storyboard.js';
8
8
  import { config } from './config.js';
9
+ import { storytellingPipelineHooks } from './pipeline.js';
9
10
  export const storytelling = {
10
11
  name: 'storytelling',
11
12
  displayName: 'Storytelling',
12
- version: '0.8.5',
13
+ version: '0.9.0',
13
14
  runes: {
14
15
  'character': {
15
16
  transform: character,
@@ -168,6 +169,7 @@ The journey begins.
168
169
  theme: {
169
170
  runes: config,
170
171
  },
172
+ pipeline: storytellingPipelineHooks,
171
173
  };
172
174
  export default storytelling;
173
175
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { PackagePipelineHooks, EntityRegistration } from '@refrakt-md/types';
2
+ export interface BondRelationship {
3
+ target: string;
4
+ bondType: string;
5
+ status: string;
6
+ bidirectional: boolean;
7
+ sourceUrl: string;
8
+ }
9
+ export interface StorytellingAggregatedData {
10
+ /** All registered entities by name for cross-link lookup */
11
+ entityByName: Map<string, EntityRegistration>;
12
+ /** Relationship graph from bonds: entityName → relationships */
13
+ relationships: Map<string, BondRelationship[]>;
14
+ /** Bond validation warnings (orphaned from/to references) */
15
+ orphanedBonds: string[];
16
+ }
17
+ export declare const storytellingPipelineHooks: PackagePipelineHooks;
18
+ //# sourceMappingURL=pipeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAyGlF,MAAM,WAAW,gBAAgB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IAC1C,4DAA4D;IAC5D,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC9C,gEAAgE;IAChE,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,aAAa,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,yBAAyB,EAAE,oBA+JvC,CAAC"}
@@ -0,0 +1,242 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Tag } = Markdoc;
3
+ const STORYTELLING_ENTITY_TYPES = new Set(['character', 'realm', 'faction', 'lore', 'plot', 'bond']);
4
+ /** Tags where cross-links should not resolve */
5
+ const EXCLUDED_TAGS = new Set(['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'pre', 'code']);
6
+ function walkTags(node, fn) {
7
+ if (Markdoc.Tag.isTag(node)) {
8
+ fn(node);
9
+ for (const child of node.children)
10
+ walkTags(child, fn);
11
+ }
12
+ else if (Array.isArray(node)) {
13
+ node.forEach(n => walkTags(n, fn));
14
+ }
15
+ }
16
+ function extractTextContent(node) {
17
+ if (typeof node === 'string')
18
+ return node;
19
+ if (!Markdoc.Tag.isTag(node))
20
+ return '';
21
+ return node.children.map(c => extractTextContent(c)).join('');
22
+ }
23
+ /** Convert camelCase to kebab-case (matching engine convention) */
24
+ function toKebabCase(s) {
25
+ return s
26
+ .replace(/([a-z])([A-Z])/g, '$1-$2')
27
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1-$2')
28
+ .toLowerCase();
29
+ }
30
+ function readField(tag, field) {
31
+ const kebab = toKebabCase(field);
32
+ const meta = tag.children.find((c) => Markdoc.Tag.isTag(c) && c.attributes['data-field'] === kebab);
33
+ return Markdoc.Tag.isTag(meta) ? meta.attributes.content ?? '' : '';
34
+ }
35
+ function readRefText(tag, name) {
36
+ const ref = tag.children.find((c) => Markdoc.Tag.isTag(c) && c.attributes['data-name'] === name);
37
+ return ref ? extractTextContent(ref) : '';
38
+ }
39
+ /** Extract the display name for a storytelling entity based on rune type */
40
+ function extractEntityName(tag, runeType) {
41
+ switch (runeType) {
42
+ case 'character':
43
+ case 'realm':
44
+ case 'faction':
45
+ return readRefText(tag, 'name');
46
+ case 'lore':
47
+ case 'plot':
48
+ return readRefText(tag, 'title');
49
+ default:
50
+ return '';
51
+ }
52
+ }
53
+ /** Extract type-specific metadata for a storytelling entity */
54
+ function extractEntityData(tag, runeType) {
55
+ const data = {};
56
+ switch (runeType) {
57
+ case 'character':
58
+ data.role = readField(tag, 'role');
59
+ data.status = readField(tag, 'status');
60
+ data.aliases = readField(tag, 'aliases');
61
+ data.tags = readField(tag, 'tags');
62
+ break;
63
+ case 'realm':
64
+ data.realmType = readField(tag, 'realmType');
65
+ data.scale = readField(tag, 'scale');
66
+ data.tags = readField(tag, 'tags');
67
+ data.parent = readField(tag, 'parent');
68
+ break;
69
+ case 'faction':
70
+ data.factionType = readField(tag, 'factionType');
71
+ data.alignment = readField(tag, 'alignment');
72
+ data.size = readField(tag, 'size');
73
+ data.tags = readField(tag, 'tags');
74
+ break;
75
+ case 'lore':
76
+ data.category = readField(tag, 'category');
77
+ data.spoiler = readField(tag, 'spoiler');
78
+ data.tags = readField(tag, 'tags');
79
+ break;
80
+ case 'plot':
81
+ data.plotType = readField(tag, 'plotType');
82
+ data.structure = readField(tag, 'structure');
83
+ data.tags = readField(tag, 'tags');
84
+ break;
85
+ case 'bond':
86
+ data.from = readRefText(tag, 'from');
87
+ data.to = readRefText(tag, 'to');
88
+ data.bondType = readField(tag, 'bondType');
89
+ data.status = readField(tag, 'status');
90
+ data.bidirectional = readField(tag, 'bidirectional');
91
+ break;
92
+ }
93
+ return data;
94
+ }
95
+ export const storytellingPipelineHooks = {
96
+ register(pages, registry, ctx) {
97
+ for (const page of pages) {
98
+ walkTags(page.renderable, (tag) => {
99
+ const runeType = tag.attributes['data-rune'];
100
+ if (!STORYTELLING_ENTITY_TYPES.has(runeType))
101
+ return;
102
+ if (runeType === 'bond') {
103
+ const from = readRefText(tag, 'from');
104
+ const to = readRefText(tag, 'to');
105
+ if (!from || !to) {
106
+ ctx.warn(`Bond missing from or to attribute`, page.url);
107
+ return;
108
+ }
109
+ const data = extractEntityData(tag, runeType);
110
+ data.name = `${from} → ${to}`;
111
+ registry.register({
112
+ type: 'bond',
113
+ id: `${from}→${to}`,
114
+ sourceUrl: page.url,
115
+ data,
116
+ });
117
+ return;
118
+ }
119
+ const name = extractEntityName(tag, runeType);
120
+ if (!name) {
121
+ ctx.warn(`Storytelling ${runeType} missing name/title`, page.url);
122
+ return;
123
+ }
124
+ const data = extractEntityData(tag, runeType);
125
+ data.name = name;
126
+ registry.register({
127
+ type: runeType,
128
+ id: name,
129
+ sourceUrl: page.url,
130
+ data,
131
+ });
132
+ });
133
+ }
134
+ },
135
+ aggregate(registry, ctx) {
136
+ // Build entity lookup by name (for cross-link resolution)
137
+ const entityByName = new Map();
138
+ const entityTypes = ['character', 'realm', 'faction', 'lore', 'plot'];
139
+ for (const type of entityTypes) {
140
+ for (const entity of registry.getAll(type)) {
141
+ entityByName.set(entity.id, entity);
142
+ // Also register character aliases
143
+ if (type === 'character') {
144
+ const aliases = String(entity.data.aliases ?? '');
145
+ if (aliases) {
146
+ for (const alias of aliases.split(',').map(a => a.trim()).filter(Boolean)) {
147
+ if (!entityByName.has(alias)) {
148
+ entityByName.set(alias, entity);
149
+ }
150
+ }
151
+ }
152
+ }
153
+ }
154
+ }
155
+ // Build relationship graph from bonds
156
+ const relationships = new Map();
157
+ const orphanedBonds = [];
158
+ function addRelationship(from, rel) {
159
+ if (!relationships.has(from))
160
+ relationships.set(from, []);
161
+ relationships.get(from).push(rel);
162
+ }
163
+ for (const bond of registry.getAll('bond')) {
164
+ const from = String(bond.data.from ?? '');
165
+ const to = String(bond.data.to ?? '');
166
+ const bondType = String(bond.data.bondType ?? '');
167
+ const status = String(bond.data.status ?? 'active');
168
+ const bidirectional = String(bond.data.bidirectional ?? 'true') === 'true';
169
+ // Validate references
170
+ const fromExists = entityByName.has(from);
171
+ const toExists = entityByName.has(to);
172
+ if (!fromExists) {
173
+ ctx.warn(`Bond references unknown entity "${from}"`, bond.sourceUrl);
174
+ orphanedBonds.push(`${from} → ${to}`);
175
+ }
176
+ if (!toExists) {
177
+ ctx.warn(`Bond references unknown entity "${to}"`, bond.sourceUrl);
178
+ if (!orphanedBonds.includes(`${from} → ${to}`)) {
179
+ orphanedBonds.push(`${from} → ${to}`);
180
+ }
181
+ }
182
+ addRelationship(from, { target: to, bondType, status, bidirectional, sourceUrl: bond.sourceUrl });
183
+ if (bidirectional) {
184
+ addRelationship(to, { target: from, bondType, status, bidirectional, sourceUrl: bond.sourceUrl });
185
+ }
186
+ }
187
+ return {
188
+ entityByName,
189
+ relationships,
190
+ orphanedBonds,
191
+ };
192
+ },
193
+ postProcess(page, aggregated) {
194
+ const maybeStoryData = aggregated['storytelling'];
195
+ if (!maybeStoryData || !maybeStoryData.entityByName || maybeStoryData.entityByName.size === 0)
196
+ return page;
197
+ const storyData = maybeStoryData;
198
+ const linkedNames = new Set();
199
+ let modified = false;
200
+ function mapNode(node, insideRuneDepth) {
201
+ if (typeof node === 'string')
202
+ return node;
203
+ if (Array.isArray(node)) {
204
+ const mapped = node.map(n => mapNode(n, insideRuneDepth));
205
+ return mapped.some((n, i) => n !== node[i]) ? mapped : node;
206
+ }
207
+ if (!Markdoc.Tag.isTag(node))
208
+ return node;
209
+ // Skip headings and code blocks entirely
210
+ if (EXCLUDED_TAGS.has(node.name))
211
+ return node;
212
+ // Skip nested runes (allow the page's top-level rune through)
213
+ if (node.attributes['data-rune'] != null && insideRuneDepth > 0)
214
+ return node;
215
+ const newDepth = node.attributes['data-rune'] != null ? insideRuneDepth + 1 : insideRuneDepth;
216
+ // Check for strong tags to cross-link
217
+ if (node.name === 'strong') {
218
+ const text = extractTextContent(node).trim();
219
+ if (text && !linkedNames.has(text)) {
220
+ const entity = storyData.entityByName.get(text);
221
+ if (entity && entity.sourceUrl !== page.url) {
222
+ linkedNames.add(text);
223
+ modified = true;
224
+ return new Tag('a', { href: entity.sourceUrl }, [node]);
225
+ }
226
+ }
227
+ }
228
+ // Recurse children
229
+ const newChildren = node.children.map((c) => mapNode(c, newDepth));
230
+ const changed = newChildren.some((c, i) => c !== node.children[i]);
231
+ if (changed) {
232
+ return new Tag(node.name, node.attributes, newChildren);
233
+ }
234
+ return node;
235
+ }
236
+ const newRenderable = mapNode(page.renderable, 0);
237
+ if (!modified)
238
+ return page;
239
+ return { ...page, renderable: newRenderable };
240
+ },
241
+ };
242
+ //# sourceMappingURL=pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipeline.js","sourceRoot":"","sources":["../src/pipeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyBvC,eAAO,MAAM,gBAAgB,gBAAkC,CAAC;AAEhE,eAAO,MAAM,SAAS,gBAoGpB,CAAC"}
1
+ {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyBvC,eAAO,MAAM,gBAAgB,gBAAkC,CAAC;AAEhE,eAAO,MAAM,SAAS,gBAgFpB,CAAC"}
@@ -72,56 +72,36 @@ export const character = createContentModelSchema({
72
72
  const portraitDiv = hasPortrait ? portrait.wrap('div') : undefined;
73
73
  const sections = sectionNodes.tag('div').typeof('CharacterSection');
74
74
  const hasSections = sections.count() > 0;
75
- const children = [nameTag, roleMeta, statusMeta, aliasesMeta, tagsMeta];
75
+ // Portrait before name so the image appears between header and title in stacked layout.
76
+ const children = [];
76
77
  if (portraitDiv)
77
78
  children.push(portraitDiv.next());
79
+ children.push(nameTag, roleMeta, statusMeta, aliasesMeta, tagsMeta);
78
80
  const schemaMap = {
79
81
  name: nameTag,
80
82
  jobTitle: roleMeta,
81
83
  };
82
- if (hasSections) {
83
- const sectionsContainer = sections.wrap('div');
84
- children.push(sectionsContainer.next());
85
- return createComponentRenderable(schema.Character, {
86
- tag: 'article',
87
- property: 'contentSection',
88
- properties: {
89
- role: roleMeta,
90
- status: statusMeta,
91
- aliases: aliasesMeta,
92
- tags: tagsMeta,
93
- section: sections,
94
- },
95
- refs: {
96
- name: nameTag,
97
- ...(portraitDiv ? { portrait: portraitDiv } : {}),
98
- sections: sectionsContainer,
99
- },
100
- schema: schemaMap,
101
- children,
102
- });
103
- }
104
- else {
105
- const body = sectionNodes.wrap('div');
106
- children.push(body.next());
107
- return createComponentRenderable(schema.Character, {
108
- tag: 'article',
109
- property: 'contentSection',
110
- properties: {
111
- role: roleMeta,
112
- status: statusMeta,
113
- aliases: aliasesMeta,
114
- tags: tagsMeta,
115
- },
116
- refs: {
117
- name: nameTag,
118
- ...(portraitDiv ? { portrait: portraitDiv } : {}),
119
- body,
120
- },
121
- schema: schemaMap,
122
- children,
123
- });
124
- }
84
+ const sectionsContainer = hasSections ? sections.wrap('div') : undefined;
85
+ const body = !hasSections ? sectionNodes.wrap('div') : undefined;
86
+ children.push(hasSections ? sectionsContainer.next() : body.next());
87
+ return createComponentRenderable(schema.Character, {
88
+ tag: 'article',
89
+ property: 'contentSection',
90
+ properties: {
91
+ role: roleMeta,
92
+ status: statusMeta,
93
+ aliases: aliasesMeta,
94
+ tags: tagsMeta,
95
+ ...(hasSections ? { section: sections } : {}),
96
+ },
97
+ refs: {
98
+ name: nameTag,
99
+ ...(portraitDiv ? { portrait: portraitDiv } : {}),
100
+ ...(hasSections ? { sections: sectionsContainer } : { body: body }),
101
+ },
102
+ schema: schemaMap,
103
+ children,
104
+ });
125
105
  },
126
106
  });
127
107
  //# sourceMappingURL=character.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"character.js","sourceRoot":"","sources":["../../src/tags/character.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ import type { RenderableTreeNode } from '@markdoc/markdoc';
3
+ import { RenderableNodeCursor } from '@refrakt-md/runes';
4
+ /**
5
+ * Shared scene-image extraction for storytelling runes (realm, faction).
6
+ *
7
+ * Takes the resolved `scene` field, transforms it, and returns either:
8
+ * - A media div wrapping the extracted `<img>` tag (if the scene was an image)
9
+ * - Extra description nodes (if the scene was text, not an image)
10
+ *
11
+ * Also returns the raw `<img>` tag for SEO schema use.
12
+ */
13
+ export declare function extractScene(sceneResolved: unknown, config: Record<string, any>): {
14
+ sceneDiv: RenderableNodeCursor<Markdoc.Tag> | undefined;
15
+ sceneImgTag: Markdoc.Tag | undefined;
16
+ extraDescription: RenderableTreeNode[];
17
+ };
18
+ /**
19
+ * Shared content assembly for storytelling runes with sections (realm, faction).
20
+ *
21
+ * Takes the extra description nodes, resolved description field, section cursor,
22
+ * and section type name, and returns a wrapped content div.
23
+ */
24
+ export declare function buildStoryContent(extraDescription: RenderableTreeNode[], descriptionResolved: unknown, sectionNodes: RenderableNodeCursor, sectionTypeName: string, config: Record<string, any>): {
25
+ mainContent: RenderableNodeCursor<Markdoc.Tag>;
26
+ sections: RenderableNodeCursor<Markdoc.Tag>;
27
+ hasSections: boolean;
28
+ };
29
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAW,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAErF;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC3B,aAAa,EAAE,OAAO,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB;IACF,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IACxD,WAAW,EAAE,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IACrC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;CACvC,CAmBA;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAChC,gBAAgB,EAAE,kBAAkB,EAAE,EACtC,mBAAmB,EAAE,OAAO,EAC5B,YAAY,EAAE,oBAAoB,EAClC,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB;IACF,WAAW,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,QAAQ,EAAE,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5C,WAAW,EAAE,OAAO,CAAC;CACrB,CA8BA"}
@@ -0,0 +1,59 @@
1
+ import Markdoc from '@markdoc/markdoc';
2
+ const { Tag } = Markdoc;
3
+ import { asNodes, RenderableNodeCursor, extractMediaImage } from '@refrakt-md/runes';
4
+ /**
5
+ * Shared scene-image extraction for storytelling runes (realm, faction).
6
+ *
7
+ * Takes the resolved `scene` field, transforms it, and returns either:
8
+ * - A media div wrapping the extracted `<img>` tag (if the scene was an image)
9
+ * - Extra description nodes (if the scene was text, not an image)
10
+ *
11
+ * Also returns the raw `<img>` tag for SEO schema use.
12
+ */
13
+ export function extractScene(sceneResolved, config) {
14
+ const sceneAstNodes = asNodes(sceneResolved);
15
+ const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
16
+ const sceneImgTag = extractMediaImage(sceneRendered);
17
+ let sceneDiv;
18
+ let extraDescription = [];
19
+ if (sceneImgTag) {
20
+ sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
21
+ }
22
+ else if (sceneRendered.count() > 0) {
23
+ // First paragraph was text, not an image — include as description
24
+ extraDescription = sceneRendered.toArray();
25
+ }
26
+ return { sceneDiv, sceneImgTag, extraDescription };
27
+ }
28
+ /**
29
+ * Shared content assembly for storytelling runes with sections (realm, faction).
30
+ *
31
+ * Takes the extra description nodes, resolved description field, section cursor,
32
+ * and section type name, and returns a wrapped content div.
33
+ */
34
+ export function buildStoryContent(extraDescription, descriptionResolved, sectionNodes, sectionTypeName, config) {
35
+ // Transform description paragraphs
36
+ const descAstNodes = asNodes(descriptionResolved);
37
+ const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
38
+ const sections = sectionNodes.tag('div').typeof(sectionTypeName);
39
+ const hasSections = sections.count() > 0;
40
+ // Build content children (everything except scene)
41
+ const contentChildren = [];
42
+ const allDescNodes = [...extraDescription, ...descRendered.toArray()];
43
+ if (allDescNodes.length > 0) {
44
+ contentChildren.push(...allDescNodes);
45
+ }
46
+ if (hasSections) {
47
+ const sectionsContainer = sections.wrap('div');
48
+ contentChildren.push(sectionsContainer.next());
49
+ }
50
+ else {
51
+ const body = sectionNodes.wrap('div');
52
+ if (sectionNodes.count() > 0) {
53
+ contentChildren.push(body.next());
54
+ }
55
+ }
56
+ const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
57
+ return { mainContent, sections, hasSections };
58
+ }
59
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/tags/common.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAErF;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC3B,aAAsB,EACtB,MAA2B;IAM3B,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,aAAa,GAAG,IAAI,oBAAoB,CAC7C,OAAO,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAyB,CAChE,CAAC;IAEF,MAAM,WAAW,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAErD,IAAI,QAAuD,CAAC;IAC5D,IAAI,gBAAgB,GAAyB,EAAE,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QACjB,QAAQ,GAAG,IAAI,oBAAoB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAsC,CAAC;IACrG,CAAC;SAAM,IAAI,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;QACtC,kEAAkE;QAClE,gBAAgB,GAAG,aAAa,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAChC,gBAAsC,EACtC,mBAA4B,EAC5B,YAAkC,EAClC,eAAuB,EACvB,MAA2B;IAM3B,mCAAmC;IACnC,MAAM,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAC5C,OAAO,CAAC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAyB,CAC/D,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAsC,CAAC;IACtG,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEzC,mDAAmD;IACnD,MAAM,eAAe,GAAU,EAAE,CAAC;IAClC,MAAM,YAAY,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;IACtE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,eAAe,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;SAAM,CAAC;QACP,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YAC9B,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE1E,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAC/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"faction.d.ts","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAsBvC,eAAO,MAAM,cAAc,gBAAoC,CAAC;AAEhE,eAAO,MAAM,OAAO,gBA4JlB,CAAC"}
1
+ {"version":3,"file":"faction.d.ts","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuBvC,eAAO,MAAM,cAAc,gBAAoC,CAAC;AAEhE,eAAO,MAAM,OAAO,gBA+FlB,CAAC"}
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Tag } = Markdoc;
12
- import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel } from '@refrakt-md/runes';
12
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
+ import { extractScene, buildStoryContent } from './common.js';
14
15
  class FactionSectionModel extends Model {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -59,80 +60,26 @@ export const faction = createContentModelSchema({
59
60
  // Combine explicit child tags (preamble items) with emitted section tags
60
61
  const allItems = [...asNodes(resolved.items), ...asNodes(resolved.sections)];
61
62
  const sectionNodes = new RenderableNodeCursor(Markdoc.transform(allItems, config));
63
+ // Domain meta tags
62
64
  const nameTag = new Tag('span', {}, [attrs.name ?? '']);
63
65
  const factionTypeMeta = new Tag('meta', { content: attrs.type ?? '' });
64
66
  const alignmentMeta = new Tag('meta', { content: attrs.alignment ?? '' });
65
67
  const sizeMeta = new Tag('meta', { content: attrs.size ?? '' });
66
68
  const tagsMeta = new Tag('meta', { content: attrs.tags ?? '' });
67
69
  // Layout meta tags
68
- const layout = attrs.layout || 'stacked';
69
- const ratio = attrs.ratio || '1 1';
70
- const valign = attrs.valign || 'top';
71
- const gap = attrs.gap || 'default';
72
- const collapse = attrs.collapse;
73
- const layoutMeta = new Tag('meta', { content: layout });
74
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
75
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
76
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
77
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
78
- // Extract scene image from the first preamble paragraph
79
- const sceneAstNodes = asNodes(resolved.scene);
80
- const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
81
- let sceneImgTag;
82
- for (const node of sceneRendered.toArray()) {
83
- if (Markdoc.Tag.isTag(node) && node.name === 'img') {
84
- sceneImgTag = node;
85
- break;
86
- }
87
- if (Markdoc.Tag.isTag(node) && node.name === 'p') {
88
- const img = node.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'img');
89
- if (img) {
90
- sceneImgTag = img;
91
- break;
92
- }
93
- }
94
- }
95
- let sceneDiv;
96
- let extraDescription = [];
97
- if (sceneImgTag) {
98
- sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
99
- }
100
- else if (sceneRendered.count() > 0) {
101
- extraDescription = sceneRendered.toArray();
102
- }
103
- // Transform description paragraphs
104
- const descAstNodes = asNodes(resolved.description);
105
- const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
106
- const sections = sectionNodes.tag('div').typeof('FactionSection');
107
- const hasSections = sections.count() > 0;
108
- // Build content children (everything except scene)
109
- const contentChildren = [];
110
- const allDescNodes = [...extraDescription, ...descRendered.toArray()];
111
- if (allDescNodes.length > 0) {
112
- contentChildren.push(...allDescNodes);
113
- }
114
- if (hasSections) {
115
- const sectionsContainer = sections.wrap('div');
116
- contentChildren.push(sectionsContainer.next());
117
- }
118
- else {
119
- const body = sectionNodes.wrap('div');
120
- if (sectionNodes.count() > 0) {
121
- contentChildren.push(body.next());
122
- }
123
- }
124
- const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
70
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
71
+ const { layout: layoutMeta, ratio: ratioMeta, valign: valignMeta, gap: gapMeta, collapse: collapseMeta } = layoutMetas;
72
+ // Extract scene image (shared helper)
73
+ const { sceneDiv, sceneImgTag, extraDescription } = extractScene(resolved.scene, config);
74
+ // Build content div with sections (shared helper)
75
+ const { mainContent, sections, hasSections } = buildStoryContent(extraDescription, resolved.description, sectionNodes, 'FactionSection', config);
125
76
  // Build children array
126
- const children = [
127
- nameTag, factionTypeMeta, alignmentMeta, sizeMeta, tagsMeta,
128
- layoutMeta,
129
- ...(ratioMeta ? [ratioMeta] : []),
130
- ...(valignMeta ? [valignMeta] : []),
131
- ...(gapMeta ? [gapMeta] : []),
132
- ...(collapseMeta ? [collapseMeta] : []),
133
- ];
77
+ // Scene before name so the image appears between header and title in stacked layout.
78
+ // In split layouts, CSS grid explicit placement controls the visual order.
79
+ const children = [];
134
80
  if (sceneDiv)
135
81
  children.push(sceneDiv.next());
82
+ children.push(nameTag, factionTypeMeta, alignmentMeta, sizeMeta, tagsMeta, ...layoutChildren);
136
83
  children.push(mainContent.next());
137
84
  // SEO schema
138
85
  const schemaMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"faction.js","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"faction.js","sourceRoot":"","sources":["../../src/tags/faction.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,YAAY,EAAE,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC3L,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAE9D,MAAM,mBAAoB,SAAQ,KAAK;IAAvC;;QAEC,SAAI,GAAW,EAAE,CAAC;IAYnB,CAAC;IAVA,SAAS;QACR,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,OAAO,yBAAyB,CAAC,MAAM,CAAC,cAAc,EAAE;YACvD,GAAG,EAAE,KAAK;YACV,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC9C,QAAQ,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SAChC,CAAC,CAAC;IACJ,CAAC;CACD;AAZA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;iDAC1B;AAcnB,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;IAC/C,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE;QACX,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,2CAA2C,EAAE;QAChG,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,iEAAiE,EAAE;QACvH,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,2EAA2E,EAAE;QACtI,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,wEAAwE,EAAE;QAC9H,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,+DAA+D,EAAE;KACrH;IACD,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACpB,IAAI,EAAE,UAAmB;QACzB,cAAc,EAAE,SAAS;QACzB,OAAO,EAAE,iBAAiB;QAC1B,cAAc,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE;QACpC,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;YACzE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC7D;QACD,YAAY,EAAE;YACb,IAAI,EAAE,UAAmB;YACzB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;SACtE;KACD,CAAC;IACF,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,yEAAyE;QACzE,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,oBAAoB,CAC5C,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAyB,CAC3D,CAAC;QAEF,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;QAEhE,mBAAmB;QACnB,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,WAAW,CAAC;QAEvH,sCAAsC;QACtC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEzF,kDAAkD;QAClD,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,iBAAiB,CAC/D,gBAAgB,EAAE,QAAQ,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,CAC9E,CAAC;QAEF,uBAAuB;QACvB,qFAAqF;QACrF,2EAA2E;QAC3E,MAAM,QAAQ,GAAU,EAAE,CAAC;QAC3B,IAAI,QAAQ;YAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CACZ,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAC3D,GAAG,cAAc,CACjB,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAElC,aAAa;QACb,MAAM,SAAS,GAAwB;YACtC,IAAI,EAAE,OAAO;SACb,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YACjB,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC;QAC/B,CAAC;QAED,OAAO,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACX,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,eAAe;gBAC5B,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,UAAU;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,UAAU;gBAClB,GAAG,EAAE,OAAO;gBACZ,QAAQ,EAAE,YAAY;gBACtB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,OAAO;gBACb,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,OAAO,EAAE,WAAW;gBACpB,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1D;YACD,MAAM,EAAE,SAAS;YACjB,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAsBvC,eAAO,MAAM,YAAY,gBAAkC,CAAC;AAE5D,eAAO,MAAM,KAAK,gBA+JhB,CAAC"}
1
+ {"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAuBvC,eAAO,MAAM,YAAY,gBAAkC,CAAC;AAE5D,eAAO,MAAM,KAAK,gBAgGhB,CAAC"}
@@ -9,8 +9,9 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Tag } = Markdoc;
12
- import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel } from '@refrakt-md/runes';
12
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, SplitLayoutModel, buildLayoutMetas } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
+ import { extractScene, buildStoryContent } from './common.js';
14
15
  class RealmSectionModel extends Model {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -59,82 +60,26 @@ export const realm = createContentModelSchema({
59
60
  // Combine explicit child tags (preamble items) with emitted section tags
60
61
  const allItems = [...asNodes(resolved.items), ...asNodes(resolved.sections)];
61
62
  const sectionNodes = new RenderableNodeCursor(Markdoc.transform(allItems, config));
63
+ // Domain meta tags
62
64
  const nameTag = new Tag('span', {}, [attrs.name ?? '']);
63
65
  const realmTypeMeta = new Tag('meta', { content: attrs.type ?? 'place' });
64
66
  const scaleMeta = new Tag('meta', { content: attrs.scale ?? '' });
65
67
  const tagsMeta = new Tag('meta', { content: attrs.tags ?? '' });
66
68
  const parentMeta = new Tag('meta', { content: attrs.parent ?? '' });
67
- // Layout meta tags (following recipe pattern)
68
- const layout = attrs.layout || 'stacked';
69
- const ratio = attrs.ratio || '1 1';
70
- const valign = attrs.valign || 'top';
71
- const gap = attrs.gap || 'default';
72
- const collapse = attrs.collapse;
73
- const layoutMeta = new Tag('meta', { content: layout });
74
- const ratioMeta = layout !== 'stacked' ? new Tag('meta', { content: ratio }) : undefined;
75
- const valignMeta = layout !== 'stacked' ? new Tag('meta', { content: valign }) : undefined;
76
- const gapMeta = gap !== 'default' ? new Tag('meta', { content: gap }) : undefined;
77
- const collapseMeta = collapse ? new Tag('meta', { content: collapse }) : undefined;
78
- // Extract scene image from the first preamble paragraph (if it contains an image)
79
- const sceneAstNodes = asNodes(resolved.scene);
80
- const sceneRendered = new RenderableNodeCursor(Markdoc.transform(sceneAstNodes, config));
81
- // The image is wrapped in a <p> by Markdoc — look inside paragraph children for <img>
82
- let sceneImgTag;
83
- for (const node of sceneRendered.toArray()) {
84
- if (Markdoc.Tag.isTag(node) && node.name === 'img') {
85
- sceneImgTag = node;
86
- break;
87
- }
88
- if (Markdoc.Tag.isTag(node) && node.name === 'p') {
89
- const img = node.children.find((c) => Markdoc.Tag.isTag(c) && c.name === 'img');
90
- if (img) {
91
- sceneImgTag = img;
92
- break;
93
- }
94
- }
95
- }
96
- let sceneDiv;
97
- let extraDescription = [];
98
- if (sceneImgTag) {
99
- sceneDiv = new RenderableNodeCursor([sceneImgTag]).wrap('div');
100
- }
101
- else if (sceneRendered.count() > 0) {
102
- // First paragraph was text, not an image — include as description
103
- extraDescription = sceneRendered.toArray();
104
- }
105
- // Transform description paragraphs
106
- const descAstNodes = asNodes(resolved.description);
107
- const descRendered = new RenderableNodeCursor(Markdoc.transform(descAstNodes, config));
108
- const sections = sectionNodes.tag('div').typeof('RealmSection');
109
- const hasSections = sections.count() > 0;
110
- // Build content children (everything except scene)
111
- const contentChildren = [];
112
- const allDescNodes = [...extraDescription, ...descRendered.toArray()];
113
- if (allDescNodes.length > 0) {
114
- contentChildren.push(...allDescNodes);
115
- }
116
- if (hasSections) {
117
- const sectionsContainer = sections.wrap('div');
118
- contentChildren.push(sectionsContainer.next());
119
- }
120
- else {
121
- const body = sectionNodes.wrap('div');
122
- if (sectionNodes.count() > 0) {
123
- contentChildren.push(body.next());
124
- }
125
- }
126
- const mainContent = new RenderableNodeCursor(contentChildren).wrap('div');
127
- // Build children array: meta tags, then scene before content (image at top in stacked)
128
- const children = [
129
- nameTag, realmTypeMeta, scaleMeta, tagsMeta, parentMeta,
130
- layoutMeta,
131
- ...(ratioMeta ? [ratioMeta] : []),
132
- ...(valignMeta ? [valignMeta] : []),
133
- ...(gapMeta ? [gapMeta] : []),
134
- ...(collapseMeta ? [collapseMeta] : []),
135
- ];
69
+ // Layout meta tags
70
+ const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas(attrs);
71
+ const { layout: layoutMeta, ratio: ratioMeta, valign: valignMeta, gap: gapMeta, collapse: collapseMeta } = layoutMetas;
72
+ // Extract scene image (shared helper)
73
+ const { sceneDiv, sceneImgTag, extraDescription } = extractScene(resolved.scene, config);
74
+ // Build content div with sections (shared helper)
75
+ const { mainContent, sections, hasSections } = buildStoryContent(extraDescription, resolved.description, sectionNodes, 'RealmSection', config);
76
+ // Build children array
77
+ // Scene before name so the image appears between header and title in stacked layout.
78
+ // In split layouts, CSS grid explicit placement controls the visual order.
79
+ const children = [];
136
80
  if (sceneDiv)
137
81
  children.push(sceneDiv.next());
82
+ children.push(nameTag, realmTypeMeta, scaleMeta, tagsMeta, parentMeta, ...layoutChildren);
138
83
  children.push(mainContent.next());
139
84
  // SEO schema
140
85
  const schemaMap = {
@@ -1 +1 @@
1
- {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"realm.js","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@refrakt-md/storytelling",
3
3
  "description": "Storytelling runes for refrakt.md — characters, realms, factions, plots, and more",
4
- "version": "0.8.5",
4
+ "version": "0.9.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.8.5",
25
- "@refrakt-md/transform": "0.8.5",
26
- "@refrakt-md/runes": "0.8.5",
24
+ "@refrakt-md/types": "0.9.0",
25
+ "@refrakt-md/transform": "0.9.0",
26
+ "@refrakt-md/runes": "0.9.0",
27
27
  "@markdoc/markdoc": "0.4.0",
28
28
  "reflect-metadata": "^0.2.0"
29
29
  }