@refrakt-md/storytelling 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +3 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +118 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +159 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/bond.d.ts +23 -0
- package/dist/schema/bond.d.ts.map +1 -0
- package/dist/schema/bond.js +10 -0
- package/dist/schema/bond.js.map +1 -0
- package/dist/schema/character.d.ts +27 -0
- package/dist/schema/character.d.ts.map +1 -0
- package/dist/schema/character.js +11 -0
- package/dist/schema/character.js.map +1 -0
- package/dist/schema/faction.d.ts +26 -0
- package/dist/schema/faction.d.ts.map +1 -0
- package/dist/schema/faction.js +11 -0
- package/dist/schema/faction.js.map +1 -0
- package/dist/schema/lore.d.ts +20 -0
- package/dist/schema/lore.d.ts.map +1 -0
- package/dist/schema/lore.js +9 -0
- package/dist/schema/lore.js.map +1 -0
- package/dist/schema/plot.d.ts +42 -0
- package/dist/schema/plot.d.ts.map +1 -0
- package/dist/schema/plot.js +19 -0
- package/dist/schema/plot.js.map +1 -0
- package/dist/schema/realm.d.ts +27 -0
- package/dist/schema/realm.d.ts.map +1 -0
- package/dist/schema/realm.js +11 -0
- package/dist/schema/realm.js.map +1 -0
- package/dist/schema/story-section.d.ts +14 -0
- package/dist/schema/story-section.d.ts.map +1 -0
- package/dist/schema/story-section.js +6 -0
- package/dist/schema/story-section.js.map +1 -0
- package/dist/schema/storyboard.d.ts +30 -0
- package/dist/schema/storyboard.d.ts.map +1 -0
- package/dist/schema/storyboard.js +10 -0
- package/dist/schema/storyboard.js.map +1 -0
- package/dist/tags/bond.d.ts +3 -0
- package/dist/tags/bond.d.ts.map +1 -0
- package/dist/tags/bond.js +71 -0
- package/dist/tags/bond.js.map +1 -0
- package/dist/tags/character.d.ts +4 -0
- package/dist/tags/character.d.ts.map +1 -0
- package/dist/tags/character.js +162 -0
- package/dist/tags/character.js.map +1 -0
- package/dist/tags/faction.d.ts +4 -0
- package/dist/tags/faction.d.ts.map +1 -0
- package/dist/tags/faction.js +148 -0
- package/dist/tags/faction.js.map +1 -0
- package/dist/tags/lore.d.ts +3 -0
- package/dist/tags/lore.d.ts.map +1 -0
- package/dist/tags/lore.js +61 -0
- package/dist/tags/lore.js.map +1 -0
- package/dist/tags/plot.d.ts +4 -0
- package/dist/tags/plot.d.ts.map +1 -0
- package/dist/tags/plot.js +189 -0
- package/dist/tags/plot.js.map +1 -0
- package/dist/tags/realm.d.ts +4 -0
- package/dist/tags/realm.d.ts.map +1 -0
- package/dist/tags/realm.js +160 -0
- package/dist/tags/realm.js.map +1 -0
- package/dist/tags/storyboard.d.ts +4 -0
- package/dist/tags/storyboard.d.ts.map +1 -0
- package/dist/tags/storyboard.js +100 -0
- package/dist/tags/storyboard.js.map +1 -0
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +24 -0
- package/dist/types.js.map +1 -0
- package/package.json +30 -0
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Markdoc from '@markdoc/markdoc';
|
|
11
|
+
const { Ast, Tag } = Markdoc;
|
|
12
|
+
import { NodeStream, attribute, group, Model, createComponentRenderable, createSchema } from '@refrakt-md/runes';
|
|
13
|
+
import { schema } from '../types.js';
|
|
14
|
+
// Parse status marker from list item text: [x]=complete, [>]=active, [ ]=planned, [-]=abandoned
|
|
15
|
+
const MARKER_PATTERN = /^\[(x|>|\s|-)\]\s*/;
|
|
16
|
+
class BeatModel extends Model {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.label = '';
|
|
20
|
+
this.status = 'planned';
|
|
21
|
+
this.id = '';
|
|
22
|
+
this.track = '';
|
|
23
|
+
this.follows = '';
|
|
24
|
+
}
|
|
25
|
+
transform() {
|
|
26
|
+
const labelTag = new Tag('span', {}, [this.label]);
|
|
27
|
+
const statusMeta = new Tag('meta', { content: this.status });
|
|
28
|
+
const idMeta = new Tag('meta', { content: this.id });
|
|
29
|
+
const trackMeta = new Tag('meta', { content: this.track });
|
|
30
|
+
const followsMeta = new Tag('meta', { content: this.follows });
|
|
31
|
+
const body = this.transformChildren().wrap('div');
|
|
32
|
+
return createComponentRenderable(schema.Beat, {
|
|
33
|
+
tag: 'li',
|
|
34
|
+
properties: {
|
|
35
|
+
label: labelTag,
|
|
36
|
+
status: statusMeta,
|
|
37
|
+
id: idMeta,
|
|
38
|
+
track: trackMeta,
|
|
39
|
+
follows: followsMeta,
|
|
40
|
+
},
|
|
41
|
+
refs: { body: body.tag('div') },
|
|
42
|
+
children: [labelTag, statusMeta, idMeta, trackMeta, followsMeta, body.next()],
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
__decorate([
|
|
47
|
+
attribute({ type: String, required: true }),
|
|
48
|
+
__metadata("design:type", String)
|
|
49
|
+
], BeatModel.prototype, "label", void 0);
|
|
50
|
+
__decorate([
|
|
51
|
+
attribute({ type: String, required: false }),
|
|
52
|
+
__metadata("design:type", String)
|
|
53
|
+
], BeatModel.prototype, "status", void 0);
|
|
54
|
+
__decorate([
|
|
55
|
+
attribute({ type: String, required: false }),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], BeatModel.prototype, "id", void 0);
|
|
58
|
+
__decorate([
|
|
59
|
+
attribute({ type: String, required: false }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], BeatModel.prototype, "track", void 0);
|
|
62
|
+
__decorate([
|
|
63
|
+
attribute({ type: String, required: false }),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], BeatModel.prototype, "follows", void 0);
|
|
66
|
+
const plotType = ['arc', 'quest', 'subplot', 'campaign', 'episode', 'act', 'chapter'];
|
|
67
|
+
const structureType = ['linear', 'parallel', 'branching', 'web'];
|
|
68
|
+
class PlotModel extends Model {
|
|
69
|
+
constructor() {
|
|
70
|
+
super(...arguments);
|
|
71
|
+
this.title = '';
|
|
72
|
+
this.type = 'arc';
|
|
73
|
+
this.structure = 'linear';
|
|
74
|
+
this.tags = '';
|
|
75
|
+
}
|
|
76
|
+
processChildren(nodes) {
|
|
77
|
+
const converted = [];
|
|
78
|
+
for (const node of nodes) {
|
|
79
|
+
if (node.type === 'list') {
|
|
80
|
+
for (const item of node.children) {
|
|
81
|
+
// Extract text content to find marker and label
|
|
82
|
+
const firstParagraph = item.children[0];
|
|
83
|
+
if (!firstParagraph)
|
|
84
|
+
continue;
|
|
85
|
+
const textParts = [];
|
|
86
|
+
for (const child of firstParagraph.walk()) {
|
|
87
|
+
if (child.type === 'text' && child.attributes.content) {
|
|
88
|
+
textParts.push(child.attributes.content);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
const text = textParts.join('').trim();
|
|
92
|
+
// Parse status marker
|
|
93
|
+
let status = 'planned';
|
|
94
|
+
const markerMatch = text.match(MARKER_PATTERN);
|
|
95
|
+
if (markerMatch) {
|
|
96
|
+
const marker = markerMatch[1];
|
|
97
|
+
status = marker === 'x' ? 'complete'
|
|
98
|
+
: marker === '>' ? 'active'
|
|
99
|
+
: marker === '-' ? 'abandoned'
|
|
100
|
+
: 'planned';
|
|
101
|
+
}
|
|
102
|
+
// Extract label from first strong node, or fall back to text
|
|
103
|
+
let label = '';
|
|
104
|
+
for (const child of firstParagraph.walk()) {
|
|
105
|
+
if (child.type === 'strong') {
|
|
106
|
+
const strongParts = [];
|
|
107
|
+
for (const sc of child.walk()) {
|
|
108
|
+
if (sc.type === 'text' && sc.attributes.content) {
|
|
109
|
+
strongParts.push(sc.attributes.content);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
label = strongParts.join('').trim();
|
|
113
|
+
break;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (!label) {
|
|
117
|
+
// No bold label — use full text minus marker
|
|
118
|
+
label = markerMatch ? text.slice(markerMatch[0].length).trim() : text;
|
|
119
|
+
// Strip leading dash separator if present
|
|
120
|
+
label = label.replace(/^[-–—]\s*/, '');
|
|
121
|
+
}
|
|
122
|
+
converted.push(new Ast.Node('tag', {
|
|
123
|
+
label,
|
|
124
|
+
status,
|
|
125
|
+
}, item.children.slice(1), 'beat'));
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
converted.push(node);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return super.processChildren(converted);
|
|
133
|
+
}
|
|
134
|
+
transform() {
|
|
135
|
+
const header = this.header.transform();
|
|
136
|
+
const itemStream = this.itemgroup.transform();
|
|
137
|
+
const titleTag = new Tag('span', {}, [this.title]);
|
|
138
|
+
const plotTypeMeta = new Tag('meta', { content: this.type });
|
|
139
|
+
const structureMeta = new Tag('meta', { content: this.structure });
|
|
140
|
+
const tagsMeta = new Tag('meta', { content: this.tags });
|
|
141
|
+
const beats = itemStream.tag('li').typeof('Beat');
|
|
142
|
+
const beatsList = new Tag('ol', {}, beats.toArray());
|
|
143
|
+
const children = [titleTag, plotTypeMeta, structureMeta, tagsMeta];
|
|
144
|
+
if (header.count() > 0) {
|
|
145
|
+
children.push(header.wrap('header').next());
|
|
146
|
+
}
|
|
147
|
+
children.push(beatsList);
|
|
148
|
+
return createComponentRenderable(schema.Plot, {
|
|
149
|
+
tag: 'section',
|
|
150
|
+
property: 'contentSection',
|
|
151
|
+
properties: {
|
|
152
|
+
title: titleTag,
|
|
153
|
+
plotType: plotTypeMeta,
|
|
154
|
+
structure: structureMeta,
|
|
155
|
+
tags: tagsMeta,
|
|
156
|
+
beat: beats,
|
|
157
|
+
},
|
|
158
|
+
refs: { beats: beatsList },
|
|
159
|
+
children,
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
__decorate([
|
|
164
|
+
attribute({ type: String, required: true }),
|
|
165
|
+
__metadata("design:type", String)
|
|
166
|
+
], PlotModel.prototype, "title", void 0);
|
|
167
|
+
__decorate([
|
|
168
|
+
attribute({ type: String, required: false, matches: plotType.slice() }),
|
|
169
|
+
__metadata("design:type", Object)
|
|
170
|
+
], PlotModel.prototype, "type", void 0);
|
|
171
|
+
__decorate([
|
|
172
|
+
attribute({ type: String, required: false, matches: structureType.slice() }),
|
|
173
|
+
__metadata("design:type", Object)
|
|
174
|
+
], PlotModel.prototype, "structure", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
attribute({ type: String, required: false }),
|
|
177
|
+
__metadata("design:type", String)
|
|
178
|
+
], PlotModel.prototype, "tags", void 0);
|
|
179
|
+
__decorate([
|
|
180
|
+
group({ include: ['heading', 'paragraph'] }),
|
|
181
|
+
__metadata("design:type", NodeStream)
|
|
182
|
+
], PlotModel.prototype, "header", void 0);
|
|
183
|
+
__decorate([
|
|
184
|
+
group({ include: ['tag'] }),
|
|
185
|
+
__metadata("design:type", NodeStream)
|
|
186
|
+
], PlotModel.prototype, "itemgroup", void 0);
|
|
187
|
+
export const beat = createSchema(BeatModel);
|
|
188
|
+
export const plot = createSchema(PlotModel);
|
|
189
|
+
//# sourceMappingURL=plot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plot.js","sourceRoot":"","sources":["../../src/tags/plot.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjH,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,gGAAgG;AAChG,MAAM,cAAc,GAAG,oBAAoB,CAAC;AAE5C,MAAM,SAAU,SAAQ,KAAK;IAA7B;;QAEC,UAAK,GAAW,EAAE,CAAC;QAGnB,WAAM,GAAW,SAAS,CAAC;QAG3B,OAAE,GAAW,EAAE,CAAC;QAGhB,UAAK,GAAW,EAAE,CAAC;QAGnB,YAAO,GAAW,EAAE,CAAC;IAuBtB,CAAC;IArBA,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7C,GAAG,EAAE,IAAI;YACT,UAAU,EAAE;gBACX,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,UAAU;gBAClB,EAAE,EAAE,MAAM;gBACV,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,WAAW;aACpB;YACD,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SAC7E,CAAC,CAAC;IACJ,CAAC;CACD;AAnCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACzB;AAGnB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;yCAClB;AAG3B;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qCAC7B;AAGhB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;wCAC1B;AAGnB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0CACxB;AAyBtB,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,CAAU,CAAC;AAC/F,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAU,CAAC;AAE1E,MAAM,SAAU,SAAQ,KAAK;IAA7B;;QAEC,UAAK,GAAW,EAAE,CAAC;QAGnB,SAAI,GAA4B,KAAK,CAAC;QAGtC,cAAS,GAAiC,QAAQ,CAAC;QAGnD,SAAI,GAAW,EAAE,CAAC;IAuGnB,CAAC;IA/FA,eAAe,CAAC,KAAa;QAC5B,MAAM,SAAS,GAAW,EAAE,CAAC;QAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClC,gDAAgD;oBAChD,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;oBACxC,IAAI,CAAC,cAAc;wBAAE,SAAS;oBAE9B,MAAM,SAAS,GAAa,EAAE,CAAC;oBAC/B,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;4BACvD,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;wBAC1C,CAAC;oBACF,CAAC;oBACD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEvC,sBAAsB;oBACtB,IAAI,MAAM,GAAG,SAAS,CAAC;oBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAC/C,IAAI,WAAW,EAAE,CAAC;wBACjB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;wBAC9B,MAAM,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU;4BACnC,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ;gCAC3B,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,WAAW;oCAC9B,CAAC,CAAC,SAAS,CAAC;oBACd,CAAC;oBAED,6DAA6D;oBAC7D,IAAI,KAAK,GAAG,EAAE,CAAC;oBACf,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC3C,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;4BACjC,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;gCAC/B,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;oCACjD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gCACzC,CAAC;4BACF,CAAC;4BACD,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;4BACpC,MAAM;wBACP,CAAC;oBACF,CAAC;oBACD,IAAI,CAAC,KAAK,EAAE,CAAC;wBACZ,6CAA6C;wBAC7C,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBACtE,0CAA0C;wBAC1C,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACxC,CAAC;oBAED,SAAS,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE;wBAClC,KAAK;wBACL,MAAM;qBACN,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrC,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED,SAAS;QACR,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;QAE9C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAErD,MAAM,QAAQ,GAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC1E,IAAI,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;YACxB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7C,GAAG,EAAE,SAAS;YACd,QAAQ,EAAE,gBAAgB;YAC1B,UAAU,EAAE;gBACX,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,KAAK;aACX;YACD,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;YAC1B,QAAQ;SACR,CAAC,CAAC;IACJ,CAAC;CACD;AAhHA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;wCACzB;AAGnB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;;uCAClC;AAGtC;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC;;4CAC1B;AAGnD;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;uCAC3B;AAGlB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,EAAE,CAAC;8BACrC,UAAU;yCAAC;AAGnB;IADC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;8BACjB,UAAU;4CAAC;AAmGvB,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,CAAC,MAAM,IAAI,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realm.d.ts","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA4IvC,eAAO,MAAM,YAAY,gBAAkC,CAAC;AAC5D,eAAO,MAAM,KAAK,gBAA2B,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Markdoc from '@markdoc/markdoc';
|
|
11
|
+
const { Ast, Tag } = Markdoc;
|
|
12
|
+
import { NodeStream, attribute, group, Model, createComponentRenderable, createSchema, headingsToList } from '@refrakt-md/runes';
|
|
13
|
+
import { schema } from '../types.js';
|
|
14
|
+
class RealmSectionModel extends Model {
|
|
15
|
+
constructor() {
|
|
16
|
+
super(...arguments);
|
|
17
|
+
this.name = '';
|
|
18
|
+
}
|
|
19
|
+
transform() {
|
|
20
|
+
const nameTag = new Tag('span', {}, [this.name]);
|
|
21
|
+
const body = this.transformChildren().wrap('div');
|
|
22
|
+
return createComponentRenderable(schema.RealmSection, {
|
|
23
|
+
tag: 'div',
|
|
24
|
+
properties: { name: nameTag },
|
|
25
|
+
refs: { body: body.tag('div') },
|
|
26
|
+
children: [nameTag, body.next()],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
__decorate([
|
|
31
|
+
attribute({ type: String, required: true }),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], RealmSectionModel.prototype, "name", void 0);
|
|
34
|
+
class RealmModel extends Model {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.headingLevel = undefined;
|
|
38
|
+
this.name = '';
|
|
39
|
+
this.type = 'place';
|
|
40
|
+
this.scale = '';
|
|
41
|
+
this.tags = '';
|
|
42
|
+
this.parent = '';
|
|
43
|
+
}
|
|
44
|
+
convertHeadings(nodes) {
|
|
45
|
+
const level = this.headingLevel ?? nodes.find(n => n.type === 'heading')?.attributes.level;
|
|
46
|
+
if (!level)
|
|
47
|
+
return nodes;
|
|
48
|
+
const converted = headingsToList({ level })(nodes);
|
|
49
|
+
const n = converted.length - 1;
|
|
50
|
+
if (!converted[n] || converted[n].type !== 'list')
|
|
51
|
+
return nodes;
|
|
52
|
+
const tags = converted[n].children.map(item => {
|
|
53
|
+
const heading = item.children[0];
|
|
54
|
+
const name = Array.from(heading.walk())
|
|
55
|
+
.filter(n => n.type === 'text')
|
|
56
|
+
.map(t => t.attributes.content)
|
|
57
|
+
.join(' ');
|
|
58
|
+
return new Ast.Node('tag', { name }, item.children.slice(1), 'realm-section');
|
|
59
|
+
});
|
|
60
|
+
converted.splice(n, 1, ...tags);
|
|
61
|
+
return converted;
|
|
62
|
+
}
|
|
63
|
+
processChildren(nodes) {
|
|
64
|
+
return super.processChildren(this.convertHeadings(nodes));
|
|
65
|
+
}
|
|
66
|
+
transform() {
|
|
67
|
+
const header = this.header.transform();
|
|
68
|
+
const itemStream = this.itemgroup.transform();
|
|
69
|
+
const nameTag = new Tag('span', {}, [this.name]);
|
|
70
|
+
const realmTypeMeta = new Tag('meta', { content: this.type });
|
|
71
|
+
const scaleMeta = new Tag('meta', { content: this.scale });
|
|
72
|
+
const tagsMeta = new Tag('meta', { content: this.tags });
|
|
73
|
+
const parentMeta = new Tag('meta', { content: this.parent });
|
|
74
|
+
// Extract scene image from header
|
|
75
|
+
const scene = header.tag('img').limit(1);
|
|
76
|
+
const hasScene = scene.count() > 0;
|
|
77
|
+
const sceneDiv = hasScene ? scene.wrap('div') : undefined;
|
|
78
|
+
const sections = itemStream.tag('div').typeof('RealmSection');
|
|
79
|
+
const hasSections = sections.count() > 0;
|
|
80
|
+
const children = [nameTag, realmTypeMeta, scaleMeta, tagsMeta, parentMeta];
|
|
81
|
+
if (sceneDiv)
|
|
82
|
+
children.push(sceneDiv.next());
|
|
83
|
+
if (hasSections) {
|
|
84
|
+
const sectionsContainer = sections.wrap('div');
|
|
85
|
+
children.push(sectionsContainer.next());
|
|
86
|
+
return createComponentRenderable(schema.Realm, {
|
|
87
|
+
tag: 'article',
|
|
88
|
+
property: 'contentSection',
|
|
89
|
+
properties: {
|
|
90
|
+
name: nameTag,
|
|
91
|
+
realmType: realmTypeMeta,
|
|
92
|
+
scale: scaleMeta,
|
|
93
|
+
tags: tagsMeta,
|
|
94
|
+
parent: parentMeta,
|
|
95
|
+
section: sections,
|
|
96
|
+
},
|
|
97
|
+
refs: {
|
|
98
|
+
...(sceneDiv ? { scene: sceneDiv } : {}),
|
|
99
|
+
sections: sectionsContainer,
|
|
100
|
+
},
|
|
101
|
+
children,
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const body = itemStream.wrap('div');
|
|
106
|
+
children.push(body.next());
|
|
107
|
+
return createComponentRenderable(schema.Realm, {
|
|
108
|
+
tag: 'article',
|
|
109
|
+
property: 'contentSection',
|
|
110
|
+
properties: {
|
|
111
|
+
name: nameTag,
|
|
112
|
+
realmType: realmTypeMeta,
|
|
113
|
+
scale: scaleMeta,
|
|
114
|
+
tags: tagsMeta,
|
|
115
|
+
parent: parentMeta,
|
|
116
|
+
},
|
|
117
|
+
refs: {
|
|
118
|
+
...(sceneDiv ? { scene: sceneDiv } : {}),
|
|
119
|
+
body,
|
|
120
|
+
},
|
|
121
|
+
children,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
__decorate([
|
|
127
|
+
attribute({ type: Number, required: false }),
|
|
128
|
+
__metadata("design:type", Object)
|
|
129
|
+
], RealmModel.prototype, "headingLevel", void 0);
|
|
130
|
+
__decorate([
|
|
131
|
+
attribute({ type: String, required: true }),
|
|
132
|
+
__metadata("design:type", String)
|
|
133
|
+
], RealmModel.prototype, "name", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
attribute({ type: String, required: false }),
|
|
136
|
+
__metadata("design:type", String)
|
|
137
|
+
], RealmModel.prototype, "type", void 0);
|
|
138
|
+
__decorate([
|
|
139
|
+
attribute({ type: String, required: false }),
|
|
140
|
+
__metadata("design:type", String)
|
|
141
|
+
], RealmModel.prototype, "scale", void 0);
|
|
142
|
+
__decorate([
|
|
143
|
+
attribute({ type: String, required: false }),
|
|
144
|
+
__metadata("design:type", String)
|
|
145
|
+
], RealmModel.prototype, "tags", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
attribute({ type: String, required: false }),
|
|
148
|
+
__metadata("design:type", String)
|
|
149
|
+
], RealmModel.prototype, "parent", void 0);
|
|
150
|
+
__decorate([
|
|
151
|
+
group({ include: ['heading', 'paragraph', 'image'] }),
|
|
152
|
+
__metadata("design:type", NodeStream)
|
|
153
|
+
], RealmModel.prototype, "header", void 0);
|
|
154
|
+
__decorate([
|
|
155
|
+
group({ include: ['tag'] }),
|
|
156
|
+
__metadata("design:type", NodeStream)
|
|
157
|
+
], RealmModel.prototype, "itemgroup", void 0);
|
|
158
|
+
export const realmSection = createSchema(RealmSectionModel);
|
|
159
|
+
export const realm = createSchema(RealmModel);
|
|
160
|
+
//# sourceMappingURL=realm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"realm.js","sourceRoot":"","sources":["../../src/tags/realm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storyboard.d.ts","sourceRoot":"","sources":["../../src/tags/storyboard.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA2FvC,eAAO,MAAM,eAAe,gBAAqC,CAAC;AAClE,eAAO,MAAM,UAAU,gBAAgC,CAAC"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import Markdoc from '@markdoc/markdoc';
|
|
11
|
+
const { Ast, Tag } = Markdoc;
|
|
12
|
+
import { NodeStream, attribute, group, Model, createComponentRenderable, createSchema } from '@refrakt-md/runes';
|
|
13
|
+
import { schema } from '../types.js';
|
|
14
|
+
const styleType = ['comic', 'clean', 'polaroid'];
|
|
15
|
+
class StoryboardPanelModel extends Model {
|
|
16
|
+
transform() {
|
|
17
|
+
const children = this.transformChildren();
|
|
18
|
+
const image = children.tag('img').limit(1);
|
|
19
|
+
const caption = children.tag('p').limit(1);
|
|
20
|
+
const body = children.wrap('div');
|
|
21
|
+
return createComponentRenderable(schema.StoryboardPanel, {
|
|
22
|
+
tag: 'div',
|
|
23
|
+
properties: {
|
|
24
|
+
image,
|
|
25
|
+
caption,
|
|
26
|
+
},
|
|
27
|
+
refs: {
|
|
28
|
+
body: body.tag('div'),
|
|
29
|
+
},
|
|
30
|
+
children: [body.next()],
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
class StoryboardModel extends Model {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.columns = 3;
|
|
38
|
+
this.style = 'clean';
|
|
39
|
+
}
|
|
40
|
+
processChildren(nodes) {
|
|
41
|
+
// Group nodes into panels: each image starts a new panel
|
|
42
|
+
const converted = [];
|
|
43
|
+
let currentPanelChildren = [];
|
|
44
|
+
const flushPanel = () => {
|
|
45
|
+
if (currentPanelChildren.length > 0) {
|
|
46
|
+
converted.push(new Ast.Node('tag', {}, currentPanelChildren, 'storyboard-panel'));
|
|
47
|
+
currentPanelChildren = [];
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
for (const node of nodes) {
|
|
51
|
+
if (node.type === 'image' || (node.type === 'paragraph' && Array.from(node.walk()).some(n => n.type === 'image'))) {
|
|
52
|
+
// Image starts a new panel
|
|
53
|
+
flushPanel();
|
|
54
|
+
currentPanelChildren.push(node);
|
|
55
|
+
}
|
|
56
|
+
else if (currentPanelChildren.length > 0) {
|
|
57
|
+
// Non-image after an image: add to current panel as caption
|
|
58
|
+
currentPanelChildren.push(node);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// Content before first image: start a panel anyway
|
|
62
|
+
currentPanelChildren.push(node);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
flushPanel();
|
|
66
|
+
return super.processChildren(converted);
|
|
67
|
+
}
|
|
68
|
+
transform() {
|
|
69
|
+
const body = this.body.transform();
|
|
70
|
+
const styleMeta = new Tag('meta', { content: this.style });
|
|
71
|
+
const columnsMeta = new Tag('meta', { content: String(this.columns) });
|
|
72
|
+
const panels = body.tag('div').typeof('StoryboardPanel');
|
|
73
|
+
const panelsContainer = panels.wrap('div');
|
|
74
|
+
return createComponentRenderable(schema.Storyboard, {
|
|
75
|
+
tag: 'div',
|
|
76
|
+
properties: {
|
|
77
|
+
panel: panels,
|
|
78
|
+
style: styleMeta,
|
|
79
|
+
columns: columnsMeta,
|
|
80
|
+
},
|
|
81
|
+
refs: { panels: panelsContainer },
|
|
82
|
+
children: [styleMeta, columnsMeta, panelsContainer.next()],
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
__decorate([
|
|
87
|
+
attribute({ type: Number, required: false }),
|
|
88
|
+
__metadata("design:type", Number)
|
|
89
|
+
], StoryboardModel.prototype, "columns", void 0);
|
|
90
|
+
__decorate([
|
|
91
|
+
attribute({ type: String, required: false, matches: styleType.slice() }),
|
|
92
|
+
__metadata("design:type", Object)
|
|
93
|
+
], StoryboardModel.prototype, "style", void 0);
|
|
94
|
+
__decorate([
|
|
95
|
+
group({ include: ['tag'] }),
|
|
96
|
+
__metadata("design:type", NodeStream)
|
|
97
|
+
], StoryboardModel.prototype, "body", void 0);
|
|
98
|
+
export const storyboardPanel = createSchema(StoryboardPanelModel);
|
|
99
|
+
export const storyboard = createSchema(StoryboardModel);
|
|
100
|
+
//# sourceMappingURL=storyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storyboard.js","sourceRoot":"","sources":["../../src/tags/storyboard.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { StorySectionComponent } from './schema/story-section.js';
|
|
2
|
+
import { CharacterComponent } from './schema/character.js';
|
|
3
|
+
import { RealmComponent } from './schema/realm.js';
|
|
4
|
+
import { FactionComponent } from './schema/faction.js';
|
|
5
|
+
import { LoreComponent } from './schema/lore.js';
|
|
6
|
+
import { PlotComponent, BeatComponent } from './schema/plot.js';
|
|
7
|
+
import { BondComponent } from './schema/bond.js';
|
|
8
|
+
import { StoryboardComponent, StoryboardPanelComponent } from './schema/storyboard.js';
|
|
9
|
+
export declare const schema: {
|
|
10
|
+
Character: import("@refrakt-md/types").Type<CharacterComponent>;
|
|
11
|
+
CharacterSection: import("@refrakt-md/types").Type<StorySectionComponent>;
|
|
12
|
+
Realm: import("@refrakt-md/types").Type<RealmComponent>;
|
|
13
|
+
RealmSection: import("@refrakt-md/types").Type<StorySectionComponent>;
|
|
14
|
+
Faction: import("@refrakt-md/types").Type<FactionComponent>;
|
|
15
|
+
FactionSection: import("@refrakt-md/types").Type<StorySectionComponent>;
|
|
16
|
+
Lore: import("@refrakt-md/types").Type<LoreComponent>;
|
|
17
|
+
Plot: import("@refrakt-md/types").Type<PlotComponent>;
|
|
18
|
+
Beat: import("@refrakt-md/types").Type<BeatComponent>;
|
|
19
|
+
Bond: import("@refrakt-md/types").Type<BondComponent>;
|
|
20
|
+
Storyboard: import("@refrakt-md/types").Type<StoryboardComponent>;
|
|
21
|
+
StoryboardPanel: import("@refrakt-md/types").Type<StoryboardPanelComponent>;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAa,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAS,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAW,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAQ,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAQ,aAAa,EAAQ,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAQ,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAc,mBAAmB,EAAmB,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEpH,eAAO,MAAM,MAAM;;;;;;;;;;;;;CAalB,CAAC"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useSchema } from '@refrakt-md/types';
|
|
2
|
+
import { StorySection } from './schema/story-section.js';
|
|
3
|
+
import { Character } from './schema/character.js';
|
|
4
|
+
import { Realm } from './schema/realm.js';
|
|
5
|
+
import { Faction } from './schema/faction.js';
|
|
6
|
+
import { Lore } from './schema/lore.js';
|
|
7
|
+
import { Plot, Beat } from './schema/plot.js';
|
|
8
|
+
import { Bond } from './schema/bond.js';
|
|
9
|
+
import { Storyboard, StoryboardPanel } from './schema/storyboard.js';
|
|
10
|
+
export const schema = {
|
|
11
|
+
Character: useSchema(Character).defineType('Character'),
|
|
12
|
+
CharacterSection: useSchema(StorySection).defineType('CharacterSection'),
|
|
13
|
+
Realm: useSchema(Realm).defineType('Realm'),
|
|
14
|
+
RealmSection: useSchema(StorySection).defineType('RealmSection'),
|
|
15
|
+
Faction: useSchema(Faction).defineType('Faction'),
|
|
16
|
+
FactionSection: useSchema(StorySection).defineType('FactionSection'),
|
|
17
|
+
Lore: useSchema(Lore).defineType('Lore'),
|
|
18
|
+
Plot: useSchema(Plot).defineType('Plot'),
|
|
19
|
+
Beat: useSchema(Beat).defineType('Beat'),
|
|
20
|
+
Bond: useSchema(Bond).defineType('Bond'),
|
|
21
|
+
Storyboard: useSchema(Storyboard).defineType('Storyboard'),
|
|
22
|
+
StoryboardPanel: useSchema(StoryboardPanel).defineType('StoryboardPanel'),
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAyB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,SAAS,EAAsB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAkB,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAoB,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,IAAI,EAAiB,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAiB,IAAI,EAAiB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAiB,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAuB,eAAe,EAA4B,MAAM,wBAAwB,CAAC;AAEpH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAqB,WAAW,CAAC;IAC3E,gBAAgB,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAwB,kBAAkB,CAAC;IAC/F,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAiB,OAAO,CAAC;IAC3D,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAwB,cAAc,CAAC;IACvF,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAmB,SAAS,CAAC;IACnE,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAwB,gBAAgB,CAAC;IAC3F,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAgB,MAAM,CAAC;IACvD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAgB,MAAM,CAAC;IACvD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAgB,MAAM,CAAC;IACvD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAgB,MAAM,CAAC;IACvD,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAsB,YAAY,CAAC;IAC/E,eAAe,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,UAAU,CAA2B,iBAAiB,CAAC;CACpG,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@refrakt-md/storytelling",
|
|
3
|
+
"description": "Storytelling runes for refrakt.md — characters, realms, factions, plots, and more",
|
|
4
|
+
"version": "0.7.0",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/refrakt-md/refrakt.git",
|
|
10
|
+
"directory": "runes/storytelling"
|
|
11
|
+
},
|
|
12
|
+
"publishConfig": {
|
|
13
|
+
"access": "public"
|
|
14
|
+
},
|
|
15
|
+
"main": "dist/index.js",
|
|
16
|
+
"types": "dist/index.d.ts",
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "tsc"
|
|
22
|
+
},
|
|
23
|
+
"dependencies": {
|
|
24
|
+
"@refrakt-md/types": "0.7.0",
|
|
25
|
+
"@refrakt-md/transform": "0.7.0",
|
|
26
|
+
"@refrakt-md/runes": "0.7.0",
|
|
27
|
+
"@markdoc/markdoc": "0.4.0",
|
|
28
|
+
"reflect-metadata": "^0.2.0"
|
|
29
|
+
}
|
|
30
|
+
}
|