@longform/longform 0.0.11 → 0.0.13
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/longform.cjs +79 -33
- package/dist/longform.cjs.map +1 -1
- package/dist/longform.js +79 -33
- package/dist/longform.js.br +0 -0
- package/dist/longform.js.gz +0 -0
- package/dist/longform.js.map +1 -1
- package/dist/longform.min.js +79 -33
- package/dist/longform.min.js.br +0 -0
- package/dist/longform.min.js.gz +0 -0
- package/dist/longform.min.js.map +1 -1
- package/dist/types.d.ts +69 -16
- package/lib/longform.ts +104 -47
- package/lib/types.ts +85 -17
- package/package.json +2 -2
package/dist/longform.cjs
CHANGED
|
@@ -9,8 +9,8 @@ const sniffTestRe = /^((?: )*)(?:(@)([a-z][a-z\-]*(?::[a-z][a-z\-]*)?)(?:(?:::
|
|
|
9
9
|
// or if the line is consumed by the regexp.
|
|
10
10
|
, outer = /([a-z][\w\-]*(?::[a-z][\w\-]*)?)((?:(?:[^:])|(?::(?!:)))*)::(?: (?:({{?)|(.*)))?/gi
|
|
11
11
|
// captures each id, class and attribute declaration in an element
|
|
12
|
-
, inner = /(?:\.([a-z][\w\-]+)|#([a-z][\w\-]+)|\[([a-z][a-z\-]+(?::[a-z][a-z|\-]*)?)(?:=(?:"([^"]+)"|'([^']+)'|([^\]]+)))?\])/gi, attribute1 = /((?:\ \ )+)\[(\w[\w-]*(?::\w[\w-]*)?)(?:=([^\n]+))?\]/, preformattedClose = /[ \t]*}}?[ \t]*/, id1 = /((?:\ \ )+)?#(#)?([\w\-]+)(?: ([\["]))?/gmi, identRe = /^(\ \ )+/, text1 = /^((?:\ \ )+)([^ \n][^\n]*)$/i, refRe = /#\[([\w\-]+)\]/g, escapeRe = /([&<>"'#\[\]{}])/g, templateLinesRe = /^(\ \ )?([^\n]+)$/gmi, templateRe = /\#\{(@)?([a-z][\w\-]*(?::[a-z][\w\-]*))}/g, voids = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wrb']);
|
|
13
|
-
let m1, m2, m3;
|
|
12
|
+
, inner = /(?:\.([a-z][\w\-]+)|#([a-z][\w\-]+)|\[([a-z][a-z\-]+(?::[a-z][a-z|\-]*)?)(?:=(?:"([^"]+)"|'([^']+)'|([^\]]+)))?\])/gi, attribute1 = /((?:\ \ )+)\[(\w[\w-]*(?::\w[\w-]*)?)(?:=([^\n]+))?\]/, directiveAttr = /^@([a-z][\w\-]*(?::[a-z][\w\-]*))$/, preformattedClose = /[ \t]*}}?[ \t]*/, id1 = /((?:\ \ )+)?#(#)?([\w\-]+)(?: ([\["]))?/gmi, identRe = /^(\ \ )+/, text1 = /^((?:\ \ )+)([^ \n][^\n]*)$/i, refRe = /#\[([\w\-]+)\]/g, escapeRe = /([&<>"'#\[\]{}])/g, templateLinesRe = /^(\ \ )?([^\n]+)$/gmi, templateRe = /\#\{(@)?([a-z][\w\-]*(?::[a-z][\w\-]*))}/g, voids = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wrb']);
|
|
13
|
+
let m1, m2, m3, m4;
|
|
14
14
|
const entities = {
|
|
15
15
|
'&': '&',
|
|
16
16
|
'<': '<',
|
|
@@ -59,12 +59,13 @@ class Doc {
|
|
|
59
59
|
id;
|
|
60
60
|
lang;
|
|
61
61
|
dir;
|
|
62
|
-
meta
|
|
62
|
+
meta;
|
|
63
63
|
#serializerConfig;
|
|
64
|
-
constructor(id, lang, dir, allowAll, allowedAttributes, allowedElements) {
|
|
64
|
+
constructor(id, lang, dir, meta, allowAll, allowedAttributes, allowedElements) {
|
|
65
65
|
this.id = id;
|
|
66
66
|
this.lang = lang;
|
|
67
67
|
this.dir = dir;
|
|
68
|
+
this.meta = Object.freeze(meta);
|
|
68
69
|
this.#serializerConfig = {
|
|
69
70
|
allowAll: allowAll ?? false,
|
|
70
71
|
allowedAttributes: allowedAttributes ?? [],
|
|
@@ -103,11 +104,20 @@ const directiveValidator = /^[a-z][a-z\-]*\:[a-z][a-z\-]*$/gi;
|
|
|
103
104
|
function longform(input, args) {
|
|
104
105
|
let textIndent = null, verbatimSerialize = true, verbatimIndent = null, verbatimFirst = false, element = makeElement(), fragment = makeFragment()
|
|
105
106
|
// the root fragment
|
|
106
|
-
, root = null, id, lang, dir, doc;
|
|
107
|
+
, root = null, id = args?.id, lang = args?.lang, dir = args?.dir, meta = {}, doc;
|
|
107
108
|
// ids of claimed fragments
|
|
108
109
|
const claimed = new Set()
|
|
109
110
|
// parsed fragments
|
|
110
111
|
, parsed = new Map(Object.entries(args?.fragments ?? {})), output = Object.create(null), directives = {};
|
|
112
|
+
let key = args?.key;
|
|
113
|
+
if (!args?.predictable && key == null) {
|
|
114
|
+
const arr = new Uint8Array(10);
|
|
115
|
+
crypto.getRandomValues(arr);
|
|
116
|
+
key = arr.toHex();
|
|
117
|
+
}
|
|
118
|
+
else if (key == null) {
|
|
119
|
+
key = 'lf';
|
|
120
|
+
}
|
|
111
121
|
output.fragments = {};
|
|
112
122
|
output.templates = {};
|
|
113
123
|
if (args?.directives != null) {
|
|
@@ -145,7 +155,7 @@ function longform(input, args) {
|
|
|
145
155
|
def.beforeRender({
|
|
146
156
|
el,
|
|
147
157
|
chain,
|
|
148
|
-
doc,
|
|
158
|
+
doc: doc,
|
|
149
159
|
inlineArg: def.inlineArg,
|
|
150
160
|
blockArg: def.blockArg,
|
|
151
161
|
});
|
|
@@ -156,17 +166,6 @@ function longform(input, args) {
|
|
|
156
166
|
? targetIndent < 2
|
|
157
167
|
: fragment.html === '';
|
|
158
168
|
fragment.html += `<${element.tag}`;
|
|
159
|
-
if (root) {
|
|
160
|
-
if (fragment.type === 'root') {
|
|
161
|
-
fragment.html += ` data-lf-root`;
|
|
162
|
-
}
|
|
163
|
-
else if (fragment.type === 'bare' || fragment.type === 'range') {
|
|
164
|
-
fragment.html += ` data-lf="${fragment.id}"`;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
if (element.mount !== undefined) {
|
|
168
|
-
fragment.html += ` data-lf-mount="${element.mount}"`;
|
|
169
|
-
}
|
|
170
169
|
if (element.id !== undefined) {
|
|
171
170
|
fragment.html += ' id="' + element.id + '"';
|
|
172
171
|
}
|
|
@@ -174,6 +173,8 @@ function longform(input, args) {
|
|
|
174
173
|
fragment.html += ' class="' + element.class + '"';
|
|
175
174
|
}
|
|
176
175
|
for (const attr of Object.entries(element.attrs)) {
|
|
176
|
+
if (attr[0] === 'id' || attr[0] === 'class')
|
|
177
|
+
continue;
|
|
177
178
|
if (attr[1] == null) {
|
|
178
179
|
fragment.html += ' ' + attr[0];
|
|
179
180
|
}
|
|
@@ -181,6 +182,20 @@ function longform(input, args) {
|
|
|
181
182
|
fragment.html += ` ${attr[0]}="${attr[1]}"`;
|
|
182
183
|
}
|
|
183
184
|
}
|
|
185
|
+
if (root) {
|
|
186
|
+
if (fragment.type === 'root') {
|
|
187
|
+
fragment.html += ` data-${key}-root`;
|
|
188
|
+
}
|
|
189
|
+
else if (fragment.type === 'bare' || fragment.type === 'range') {
|
|
190
|
+
fragment.html += ` data-${key}="${fragment.id}"`;
|
|
191
|
+
}
|
|
192
|
+
else if (fragment.type === 'embed' && !args?.predictable) {
|
|
193
|
+
fragment.html += ` data-${key}="${fragment.id}"`;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
if (element.mount !== undefined) {
|
|
197
|
+
fragment.html += ` data-${key}-mount="${element.mount}"`;
|
|
198
|
+
}
|
|
184
199
|
fragment.html += '>';
|
|
185
200
|
if (Array.isArray(element.chain)) {
|
|
186
201
|
let chained;
|
|
@@ -249,7 +264,7 @@ function longform(input, args) {
|
|
|
249
264
|
}
|
|
250
265
|
// If this is a script tag or preformatted block
|
|
251
266
|
// we want to retain the intended formatting less
|
|
252
|
-
// the indent.
|
|
267
|
+
// the indent. Pre-formatting can apply to any element
|
|
253
268
|
// by ending the declaration with `:: {`.
|
|
254
269
|
if (verbatimIndent != null) {
|
|
255
270
|
// inside a script or preformatted block
|
|
@@ -297,20 +312,39 @@ function longform(input, args) {
|
|
|
297
312
|
const inlineArgs = m1[DIRECTIVE_INLINE_ARGS] ?? '';
|
|
298
313
|
switch (m1[DIRECTIVE]) {
|
|
299
314
|
case 'id': {
|
|
300
|
-
|
|
301
|
-
id = inlineArgs.trim();
|
|
315
|
+
id = id ?? new URL(inlineArgs.trim(), args?.base).toString();
|
|
302
316
|
continue main;
|
|
303
317
|
}
|
|
304
318
|
case 'lang': {
|
|
305
|
-
lang = inlineArgs.trim();
|
|
319
|
+
lang = lang ?? inlineArgs.trim();
|
|
306
320
|
continue main;
|
|
307
321
|
}
|
|
308
322
|
case 'dir': {
|
|
309
|
-
dir = inlineArgs.trim();
|
|
323
|
+
dir = dir ?? inlineArgs.trim();
|
|
310
324
|
continue main;
|
|
311
325
|
}
|
|
326
|
+
default: {
|
|
327
|
+
const def = directives[m1[DIRECTIVE]];
|
|
328
|
+
if (typeof def?.meta === 'function') {
|
|
329
|
+
if (Object.keys(def).length > 1) {
|
|
330
|
+
throw new Error(`A custom directive performing the meta role cannot be used for other purposes. ` +
|
|
331
|
+
`See @${m1[DIRECTIVE]}`);
|
|
332
|
+
}
|
|
333
|
+
meta[m1[DIRECTIVE]] = def.meta({ inlineArgs });
|
|
334
|
+
continue main;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
doc = new Doc(id, lang, dir, meta, args?.allowAll, args?.allowedAttributes, args?.allowedElements);
|
|
339
|
+
if (args?.outputMode === 'meta') {
|
|
340
|
+
return {
|
|
341
|
+
key,
|
|
342
|
+
id,
|
|
343
|
+
lang,
|
|
344
|
+
dir,
|
|
345
|
+
meta: doc.meta,
|
|
346
|
+
};
|
|
312
347
|
}
|
|
313
|
-
doc = new Doc(id, lang, dir, args?.allowAll, args?.allowedAttributes, args?.allowedElements);
|
|
314
348
|
}
|
|
315
349
|
switch (m1[DIRECTIVE_KEY] ?? m1[ID_TYPE] ?? m1[ELEMENT] ?? m1[ATTR]) {
|
|
316
350
|
case '#':
|
|
@@ -485,7 +519,16 @@ function longform(input, args) {
|
|
|
485
519
|
}
|
|
486
520
|
break;
|
|
487
521
|
default:
|
|
488
|
-
|
|
522
|
+
m4 = directiveAttr.exec(m3[3]);
|
|
523
|
+
if (m4 != null) {
|
|
524
|
+
const def = directives[m4[1]];
|
|
525
|
+
if (def != null && typeof def.attr === 'function') {
|
|
526
|
+
working.attrs[m3[3]] = def.attr({ doc, tag: element.tag });
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
else {
|
|
530
|
+
working.attrs[m3[3]] = value;
|
|
531
|
+
}
|
|
489
532
|
}
|
|
490
533
|
}
|
|
491
534
|
}
|
|
@@ -621,7 +664,7 @@ function longform(input, args) {
|
|
|
621
664
|
}
|
|
622
665
|
if (root?.html != null) {
|
|
623
666
|
output.root = root.html;
|
|
624
|
-
output.selector = `[data-
|
|
667
|
+
output.selector = `[data-${key}-root]`;
|
|
625
668
|
}
|
|
626
669
|
for (let i = 0; i < arr.length; i++) {
|
|
627
670
|
let selector;
|
|
@@ -629,14 +672,15 @@ function longform(input, args) {
|
|
|
629
672
|
if (fragment == null || claimed.has(fragment.id)) {
|
|
630
673
|
continue;
|
|
631
674
|
}
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
675
|
+
switch (fragment.type) {
|
|
676
|
+
case 'embed': {
|
|
677
|
+
if (args?.predictable) {
|
|
678
|
+
selector = `[id=${fragment.id}]`;
|
|
679
|
+
break;
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
case 'bare':
|
|
683
|
+
case 'range': selector = `[data-${key}=${fragment.id}]`;
|
|
640
684
|
}
|
|
641
685
|
output.fragments[fragment.id] = {
|
|
642
686
|
id: fragment.id,
|
|
@@ -645,8 +689,10 @@ function longform(input, args) {
|
|
|
645
689
|
html: fragment.html,
|
|
646
690
|
};
|
|
647
691
|
}
|
|
692
|
+
output.key = key;
|
|
648
693
|
output.id = doc?.id;
|
|
649
694
|
output.lang = doc?.lang;
|
|
695
|
+
output.dir = doc?.dir;
|
|
650
696
|
return output;
|
|
651
697
|
}
|
|
652
698
|
/**
|
package/dist/longform.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"longform.cjs","sources":["../lib/lib/mod.js/longform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"longform.cjs","sources":["../lib/lib/mod.js/longform.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/longform.js
CHANGED
|
@@ -7,8 +7,8 @@ const sniffTestRe = /^((?: )*)(?:(@)([a-z][a-z\-]*(?::[a-z][a-z\-]*)?)(?:(?:::
|
|
|
7
7
|
// or if the line is consumed by the regexp.
|
|
8
8
|
, outer = /([a-z][\w\-]*(?::[a-z][\w\-]*)?)((?:(?:[^:])|(?::(?!:)))*)::(?: (?:({{?)|(.*)))?/gi
|
|
9
9
|
// captures each id, class and attribute declaration in an element
|
|
10
|
-
, inner = /(?:\.([a-z][\w\-]+)|#([a-z][\w\-]+)|\[([a-z][a-z\-]+(?::[a-z][a-z|\-]*)?)(?:=(?:"([^"]+)"|'([^']+)'|([^\]]+)))?\])/gi, attribute1 = /((?:\ \ )+)\[(\w[\w-]*(?::\w[\w-]*)?)(?:=([^\n]+))?\]/, preformattedClose = /[ \t]*}}?[ \t]*/, id1 = /((?:\ \ )+)?#(#)?([\w\-]+)(?: ([\["]))?/gmi, identRe = /^(\ \ )+/, text1 = /^((?:\ \ )+)([^ \n][^\n]*)$/i, refRe = /#\[([\w\-]+)\]/g, escapeRe = /([&<>"'#\[\]{}])/g, templateLinesRe = /^(\ \ )?([^\n]+)$/gmi, templateRe = /\#\{(@)?([a-z][\w\-]*(?::[a-z][\w\-]*))}/g, voids = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wrb']);
|
|
11
|
-
let m1, m2, m3;
|
|
10
|
+
, inner = /(?:\.([a-z][\w\-]+)|#([a-z][\w\-]+)|\[([a-z][a-z\-]+(?::[a-z][a-z|\-]*)?)(?:=(?:"([^"]+)"|'([^']+)'|([^\]]+)))?\])/gi, attribute1 = /((?:\ \ )+)\[(\w[\w-]*(?::\w[\w-]*)?)(?:=([^\n]+))?\]/, directiveAttr = /^@([a-z][\w\-]*(?::[a-z][\w\-]*))$/, preformattedClose = /[ \t]*}}?[ \t]*/, id1 = /((?:\ \ )+)?#(#)?([\w\-]+)(?: ([\["]))?/gmi, identRe = /^(\ \ )+/, text1 = /^((?:\ \ )+)([^ \n][^\n]*)$/i, refRe = /#\[([\w\-]+)\]/g, escapeRe = /([&<>"'#\[\]{}])/g, templateLinesRe = /^(\ \ )?([^\n]+)$/gmi, templateRe = /\#\{(@)?([a-z][\w\-]*(?::[a-z][\w\-]*))}/g, voids = new Set(['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wrb']);
|
|
11
|
+
let m1, m2, m3, m4;
|
|
12
12
|
const entities = {
|
|
13
13
|
'&': '&',
|
|
14
14
|
'<': '<',
|
|
@@ -57,12 +57,13 @@ class Doc {
|
|
|
57
57
|
id;
|
|
58
58
|
lang;
|
|
59
59
|
dir;
|
|
60
|
-
meta
|
|
60
|
+
meta;
|
|
61
61
|
#serializerConfig;
|
|
62
|
-
constructor(id, lang, dir, allowAll, allowedAttributes, allowedElements) {
|
|
62
|
+
constructor(id, lang, dir, meta, allowAll, allowedAttributes, allowedElements) {
|
|
63
63
|
this.id = id;
|
|
64
64
|
this.lang = lang;
|
|
65
65
|
this.dir = dir;
|
|
66
|
+
this.meta = Object.freeze(meta);
|
|
66
67
|
this.#serializerConfig = {
|
|
67
68
|
allowAll: allowAll ?? false,
|
|
68
69
|
allowedAttributes: allowedAttributes ?? [],
|
|
@@ -101,11 +102,20 @@ const directiveValidator = /^[a-z][a-z\-]*\:[a-z][a-z\-]*$/gi;
|
|
|
101
102
|
function longform(input, args) {
|
|
102
103
|
let textIndent = null, verbatimSerialize = true, verbatimIndent = null, verbatimFirst = false, element = makeElement(), fragment = makeFragment()
|
|
103
104
|
// the root fragment
|
|
104
|
-
, root = null, id, lang, dir, doc;
|
|
105
|
+
, root = null, id = args?.id, lang = args?.lang, dir = args?.dir, meta = {}, doc;
|
|
105
106
|
// ids of claimed fragments
|
|
106
107
|
const claimed = new Set()
|
|
107
108
|
// parsed fragments
|
|
108
109
|
, parsed = new Map(Object.entries(args?.fragments ?? {})), output = Object.create(null), directives = {};
|
|
110
|
+
let key = args?.key;
|
|
111
|
+
if (!args?.predictable && key == null) {
|
|
112
|
+
const arr = new Uint8Array(10);
|
|
113
|
+
crypto.getRandomValues(arr);
|
|
114
|
+
key = arr.toHex();
|
|
115
|
+
}
|
|
116
|
+
else if (key == null) {
|
|
117
|
+
key = 'lf';
|
|
118
|
+
}
|
|
109
119
|
output.fragments = {};
|
|
110
120
|
output.templates = {};
|
|
111
121
|
if (args?.directives != null) {
|
|
@@ -143,7 +153,7 @@ function longform(input, args) {
|
|
|
143
153
|
def.beforeRender({
|
|
144
154
|
el,
|
|
145
155
|
chain,
|
|
146
|
-
doc,
|
|
156
|
+
doc: doc,
|
|
147
157
|
inlineArg: def.inlineArg,
|
|
148
158
|
blockArg: def.blockArg,
|
|
149
159
|
});
|
|
@@ -154,17 +164,6 @@ function longform(input, args) {
|
|
|
154
164
|
? targetIndent < 2
|
|
155
165
|
: fragment.html === '';
|
|
156
166
|
fragment.html += `<${element.tag}`;
|
|
157
|
-
if (root) {
|
|
158
|
-
if (fragment.type === 'root') {
|
|
159
|
-
fragment.html += ` data-lf-root`;
|
|
160
|
-
}
|
|
161
|
-
else if (fragment.type === 'bare' || fragment.type === 'range') {
|
|
162
|
-
fragment.html += ` data-lf="${fragment.id}"`;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
if (element.mount !== undefined) {
|
|
166
|
-
fragment.html += ` data-lf-mount="${element.mount}"`;
|
|
167
|
-
}
|
|
168
167
|
if (element.id !== undefined) {
|
|
169
168
|
fragment.html += ' id="' + element.id + '"';
|
|
170
169
|
}
|
|
@@ -172,6 +171,8 @@ function longform(input, args) {
|
|
|
172
171
|
fragment.html += ' class="' + element.class + '"';
|
|
173
172
|
}
|
|
174
173
|
for (const attr of Object.entries(element.attrs)) {
|
|
174
|
+
if (attr[0] === 'id' || attr[0] === 'class')
|
|
175
|
+
continue;
|
|
175
176
|
if (attr[1] == null) {
|
|
176
177
|
fragment.html += ' ' + attr[0];
|
|
177
178
|
}
|
|
@@ -179,6 +180,20 @@ function longform(input, args) {
|
|
|
179
180
|
fragment.html += ` ${attr[0]}="${attr[1]}"`;
|
|
180
181
|
}
|
|
181
182
|
}
|
|
183
|
+
if (root) {
|
|
184
|
+
if (fragment.type === 'root') {
|
|
185
|
+
fragment.html += ` data-${key}-root`;
|
|
186
|
+
}
|
|
187
|
+
else if (fragment.type === 'bare' || fragment.type === 'range') {
|
|
188
|
+
fragment.html += ` data-${key}="${fragment.id}"`;
|
|
189
|
+
}
|
|
190
|
+
else if (fragment.type === 'embed' && !args?.predictable) {
|
|
191
|
+
fragment.html += ` data-${key}="${fragment.id}"`;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
if (element.mount !== undefined) {
|
|
195
|
+
fragment.html += ` data-${key}-mount="${element.mount}"`;
|
|
196
|
+
}
|
|
182
197
|
fragment.html += '>';
|
|
183
198
|
if (Array.isArray(element.chain)) {
|
|
184
199
|
let chained;
|
|
@@ -247,7 +262,7 @@ function longform(input, args) {
|
|
|
247
262
|
}
|
|
248
263
|
// If this is a script tag or preformatted block
|
|
249
264
|
// we want to retain the intended formatting less
|
|
250
|
-
// the indent.
|
|
265
|
+
// the indent. Pre-formatting can apply to any element
|
|
251
266
|
// by ending the declaration with `:: {`.
|
|
252
267
|
if (verbatimIndent != null) {
|
|
253
268
|
// inside a script or preformatted block
|
|
@@ -295,20 +310,39 @@ function longform(input, args) {
|
|
|
295
310
|
const inlineArgs = m1[DIRECTIVE_INLINE_ARGS] ?? '';
|
|
296
311
|
switch (m1[DIRECTIVE]) {
|
|
297
312
|
case 'id': {
|
|
298
|
-
|
|
299
|
-
id = inlineArgs.trim();
|
|
313
|
+
id = id ?? new URL(inlineArgs.trim(), args?.base).toString();
|
|
300
314
|
continue main;
|
|
301
315
|
}
|
|
302
316
|
case 'lang': {
|
|
303
|
-
lang = inlineArgs.trim();
|
|
317
|
+
lang = lang ?? inlineArgs.trim();
|
|
304
318
|
continue main;
|
|
305
319
|
}
|
|
306
320
|
case 'dir': {
|
|
307
|
-
dir = inlineArgs.trim();
|
|
321
|
+
dir = dir ?? inlineArgs.trim();
|
|
308
322
|
continue main;
|
|
309
323
|
}
|
|
324
|
+
default: {
|
|
325
|
+
const def = directives[m1[DIRECTIVE]];
|
|
326
|
+
if (typeof def?.meta === 'function') {
|
|
327
|
+
if (Object.keys(def).length > 1) {
|
|
328
|
+
throw new Error(`A custom directive performing the meta role cannot be used for other purposes. ` +
|
|
329
|
+
`See @${m1[DIRECTIVE]}`);
|
|
330
|
+
}
|
|
331
|
+
meta[m1[DIRECTIVE]] = def.meta({ inlineArgs });
|
|
332
|
+
continue main;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
doc = new Doc(id, lang, dir, meta, args?.allowAll, args?.allowedAttributes, args?.allowedElements);
|
|
337
|
+
if (args?.outputMode === 'meta') {
|
|
338
|
+
return {
|
|
339
|
+
key,
|
|
340
|
+
id,
|
|
341
|
+
lang,
|
|
342
|
+
dir,
|
|
343
|
+
meta: doc.meta,
|
|
344
|
+
};
|
|
310
345
|
}
|
|
311
|
-
doc = new Doc(id, lang, dir, args?.allowAll, args?.allowedAttributes, args?.allowedElements);
|
|
312
346
|
}
|
|
313
347
|
switch (m1[DIRECTIVE_KEY] ?? m1[ID_TYPE] ?? m1[ELEMENT] ?? m1[ATTR]) {
|
|
314
348
|
case '#':
|
|
@@ -483,7 +517,16 @@ function longform(input, args) {
|
|
|
483
517
|
}
|
|
484
518
|
break;
|
|
485
519
|
default:
|
|
486
|
-
|
|
520
|
+
m4 = directiveAttr.exec(m3[3]);
|
|
521
|
+
if (m4 != null) {
|
|
522
|
+
const def = directives[m4[1]];
|
|
523
|
+
if (def != null && typeof def.attr === 'function') {
|
|
524
|
+
working.attrs[m3[3]] = def.attr({ doc, tag: element.tag });
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
else {
|
|
528
|
+
working.attrs[m3[3]] = value;
|
|
529
|
+
}
|
|
487
530
|
}
|
|
488
531
|
}
|
|
489
532
|
}
|
|
@@ -619,7 +662,7 @@ function longform(input, args) {
|
|
|
619
662
|
}
|
|
620
663
|
if (root?.html != null) {
|
|
621
664
|
output.root = root.html;
|
|
622
|
-
output.selector = `[data-
|
|
665
|
+
output.selector = `[data-${key}-root]`;
|
|
623
666
|
}
|
|
624
667
|
for (let i = 0; i < arr.length; i++) {
|
|
625
668
|
let selector;
|
|
@@ -627,14 +670,15 @@ function longform(input, args) {
|
|
|
627
670
|
if (fragment == null || claimed.has(fragment.id)) {
|
|
628
671
|
continue;
|
|
629
672
|
}
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
673
|
+
switch (fragment.type) {
|
|
674
|
+
case 'embed': {
|
|
675
|
+
if (args?.predictable) {
|
|
676
|
+
selector = `[id=${fragment.id}]`;
|
|
677
|
+
break;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
case 'bare':
|
|
681
|
+
case 'range': selector = `[data-${key}=${fragment.id}]`;
|
|
638
682
|
}
|
|
639
683
|
output.fragments[fragment.id] = {
|
|
640
684
|
id: fragment.id,
|
|
@@ -643,8 +687,10 @@ function longform(input, args) {
|
|
|
643
687
|
html: fragment.html,
|
|
644
688
|
};
|
|
645
689
|
}
|
|
690
|
+
output.key = key;
|
|
646
691
|
output.id = doc?.id;
|
|
647
692
|
output.lang = doc?.lang;
|
|
693
|
+
output.dir = doc?.dir;
|
|
648
694
|
return output;
|
|
649
695
|
}
|
|
650
696
|
/**
|
package/dist/longform.js.br
CHANGED
|
Binary file
|
package/dist/longform.js.gz
CHANGED
|
Binary file
|