@podlite/schema 0.0.43 → 0.0.45
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/CHANGELOG.podlite +12 -0
- package/esm/exportHtml.js +2 -1
- package/esm/exportHtml.js.map +1 -1
- package/esm/exportMarkdown.js +3 -0
- package/esm/exportMarkdown.js.map +1 -1
- package/esm/grammar.js +37 -42
- package/esm/grammar.js.map +1 -1
- package/esm/grammarfc.js +10 -15
- package/esm/grammarfc.js.map +1 -1
- package/esm/helpers/configPropagation.d.ts +3 -0
- package/esm/helpers/configPropagation.js +48 -0
- package/esm/helpers/configPropagation.js.map +1 -0
- package/esm/helpers/headingNumbering.d.ts +3 -0
- package/esm/helpers/headingNumbering.js +68 -0
- package/esm/helpers/headingNumbering.js.map +1 -0
- package/esm/index.d.ts +1 -0
- package/esm/index.js.map +1 -1
- package/esm/pluggableParser.js +10 -0
- package/esm/pluggableParser.js.map +1 -1
- package/lib/exportHtml.js +2 -1
- package/lib/exportMarkdown.js +3 -0
- package/lib/grammar.js +37 -42
- package/lib/grammarfc.js +10 -15
- package/lib/helpers/configPropagation.d.ts +3 -0
- package/lib/helpers/configPropagation.js +52 -0
- package/lib/helpers/headingNumbering.d.ts +3 -0
- package/lib/helpers/headingNumbering.js +72 -0
- package/lib/index.d.ts +1 -0
- package/lib/pluggableParser.js +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
const mergeDefaults = (own, defaults) => {
|
|
2
|
+
const ownArr = Array.isArray(own) ? own : [];
|
|
3
|
+
const seen = new Set(ownArr.map(c => c && c.name).filter(Boolean));
|
|
4
|
+
const additions = defaults.filter(c => c && c.name && !seen.has(c.name));
|
|
5
|
+
if (additions.length === 0)
|
|
6
|
+
return ownArr;
|
|
7
|
+
return [...ownArr, ...additions];
|
|
8
|
+
};
|
|
9
|
+
const lookupKeys = (node) => {
|
|
10
|
+
const keys = [];
|
|
11
|
+
if (typeof node.name !== 'string')
|
|
12
|
+
return keys;
|
|
13
|
+
if (node.name === 'head' && node.level !== undefined && node.level !== null) {
|
|
14
|
+
keys.push(`head${node.level}`);
|
|
15
|
+
}
|
|
16
|
+
keys.push(node.name);
|
|
17
|
+
return keys;
|
|
18
|
+
};
|
|
19
|
+
const walk = (node, config) => {
|
|
20
|
+
if (Array.isArray(node)) {
|
|
21
|
+
for (const child of node)
|
|
22
|
+
walk(child, config);
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
if (!node || typeof node !== 'object')
|
|
26
|
+
return;
|
|
27
|
+
const anyNode = node;
|
|
28
|
+
if (anyNode.type === 'config' && typeof anyNode.name === 'string' && Array.isArray(anyNode.config)) {
|
|
29
|
+
config[anyNode.name] = anyNode.config;
|
|
30
|
+
}
|
|
31
|
+
else if (anyNode.type === 'block') {
|
|
32
|
+
for (const key of lookupKeys(anyNode)) {
|
|
33
|
+
const defaults = config[key];
|
|
34
|
+
if (defaults && defaults.length) {
|
|
35
|
+
anyNode.config = mergeDefaults(anyNode.config, defaults);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (anyNode.content !== undefined) {
|
|
40
|
+
walk(anyNode.content, config);
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
export const propagateConfigDefaults = (ast) => {
|
|
44
|
+
walk(ast, {});
|
|
45
|
+
return ast;
|
|
46
|
+
};
|
|
47
|
+
export default propagateConfigDefaults;
|
|
48
|
+
//# sourceMappingURL=configPropagation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configPropagation.js","sourceRoot":"","sources":["../../src/helpers/configPropagation.ts"],"names":[],"mappings":"AAIA,MAAM,aAAa,GAAG,CAAC,GAA6B,EAAE,QAAsB,EAAgB,EAAE;IAC5F,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAClE,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAA;IACxE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IACzC,OAAO,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;AAClC,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAgD,EAAY,EAAE;IAChF,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;KAC/B;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpB,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,IAAI,GAAG,CAAC,IAAa,EAAE,MAAiB,EAAQ,EAAE;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,KAAK,MAAM,KAAK,IAAI,IAAI;YAAE,IAAI,CAAC,KAAgB,EAAE,MAAM,CAAC,CAAA;QACxD,OAAM;KACP;IACD,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAM;IAC7C,MAAM,OAAO,GAAG,IAMf,CAAA;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAClG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAA;KACtC;SAAM,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;QACnC,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;YAC5B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;gBAC/B,OAAO,CAAC,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;aACzD;SACF;KACF;IACD,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE;QACjC,IAAI,CAAC,OAAO,CAAC,OAAkB,EAAE,MAAM,CAAC,CAAA;KACzC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAsC,GAAM,EAAK,EAAE;IACxF,IAAI,CAAC,GAAc,EAAE,EAAE,CAAC,CAAA;IACxB,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
const HEAD_MAX_LEVEL = 6;
|
|
2
|
+
const truthy = (v) => v === true || v === 1 || v === '1' || v === 'true';
|
|
3
|
+
const isNumbered = (config) => {
|
|
4
|
+
if (!Array.isArray(config))
|
|
5
|
+
return null;
|
|
6
|
+
let result = null;
|
|
7
|
+
for (const entry of config) {
|
|
8
|
+
if (!entry || entry.name !== 'numbered')
|
|
9
|
+
continue;
|
|
10
|
+
const value = entry.value;
|
|
11
|
+
if (value === false || value === 0 || value === '0' || value === 'false') {
|
|
12
|
+
result = false;
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
result = truthy(value) ? true : value !== undefined ? Boolean(value) : true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
const formatPrefix = (counter, level) => {
|
|
21
|
+
const segments = [];
|
|
22
|
+
let started = false;
|
|
23
|
+
for (let i = 1; i <= level; i++) {
|
|
24
|
+
const value = counter[i];
|
|
25
|
+
if (!started && value === 0)
|
|
26
|
+
continue;
|
|
27
|
+
started = true;
|
|
28
|
+
segments.push(String(value));
|
|
29
|
+
}
|
|
30
|
+
if (segments.length === 0)
|
|
31
|
+
segments.push(String(counter[level]));
|
|
32
|
+
return segments.join('.') + '.';
|
|
33
|
+
};
|
|
34
|
+
const walk = (node, counter) => {
|
|
35
|
+
if (Array.isArray(node)) {
|
|
36
|
+
for (const child of node)
|
|
37
|
+
walk(child, counter);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (!node || typeof node !== 'object')
|
|
41
|
+
return;
|
|
42
|
+
const anyNode = node;
|
|
43
|
+
if (anyNode.type === 'block' && anyNode.name === 'head' && anyNode.level !== undefined && anyNode.level !== null) {
|
|
44
|
+
const level = Number(anyNode.level);
|
|
45
|
+
if (Number.isFinite(level) && level >= 1 && level <= HEAD_MAX_LEVEL) {
|
|
46
|
+
for (let i = level + 1; i <= HEAD_MAX_LEVEL; i++)
|
|
47
|
+
counter[i] = 0;
|
|
48
|
+
const numbered = isNumbered(anyNode.config);
|
|
49
|
+
if (numbered === true) {
|
|
50
|
+
counter[level] = (counter[level] || 0) + 1;
|
|
51
|
+
anyNode.numberPrefix = formatPrefix(counter, level);
|
|
52
|
+
}
|
|
53
|
+
else if (numbered === false) {
|
|
54
|
+
delete anyNode.numberPrefix;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (anyNode.content !== undefined) {
|
|
59
|
+
walk(anyNode.content, counter);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
export const attachHeadingNumberPrefix = (ast) => {
|
|
63
|
+
const counter = new Array(HEAD_MAX_LEVEL + 1).fill(0);
|
|
64
|
+
walk(ast, counter);
|
|
65
|
+
return ast;
|
|
66
|
+
};
|
|
67
|
+
export default attachHeadingNumberPrefix;
|
|
68
|
+
//# sourceMappingURL=headingNumbering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"headingNumbering.js","sourceRoot":"","sources":["../../src/helpers/headingNumbering.ts"],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
CHANGED
package/esm/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":"AAAA,OAAO,GAAoC,MAAM,KAAK,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AAGvC,OAAO,KAAK,UAAU,MAAM,WAAW,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAElC,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,EAAE,gBAAgB,EAA0B,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAEjG,OAAO,KAAK,MAAM,MAAM,WAAW,CAAA;AACnC,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAC3C,OAAO,oBAAoB,MAAM,2BAA2B,CAAA;AAC5D,OAAO,mBAAmB,MAAM,gBAAgB,CAAA;AAChD,OAAO,YAAY,MAAM,kBAAkB,CAAA;AAC3C,OAAO,cAAc,MAAM,qBAAqB,CAAA;AAChD,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAClD,OAAO,cAAc,MAAM,yBAAyB,CAAA;AACpD,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,eAAe,MAAM,qBAAqB,CAAA;AAEjD,MAAM,UAAU,KAAK;IACnB,OAAO,EAAE,CAAA;AACX,CAAC;AAGD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAA;AAE5D,MAAM,UAAU,sBAAsB,CAAC,IAAa;IAClD,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,MAAM,KAAK,GAAG;QACZ,OAAO,EAAE,IAAI,CAAC,EAAE;YACd,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;QACD,WAAW,EAAE,IAAI,CAAC,EAAE;YAClB,IAAI,IAAI,IAAI,CAAC,KAAK,CAAA;QACpB,CAAC;KACF,CAAA;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,IAAI,GAAG,EAAE,CAAA;IACb,MAAM,KAAK,GAAG;QACZ,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;gBAC7B,IAAI,IAAI,IAAI,CAAA;gBACZ,OAAM;aACP;YACD,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,IAAI,IAAI,CAAC,IAAI,CAAA;gBACjB,OAAM;aACP;YAED,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAA;YACxB,IAAI,SAAS,IAAI,IAAI,EAAE;gBACrB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;aAC3B;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAA;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,CAAA;IACxC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACjC,OAAO,IAAI,CAAA;AACb,CAAC;AACD,MAAM,UAAU,kBAAkB,CAAC,IAAa;IAC9C,OAAO,WAAW,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAC7C,CAAC;AACD,MAAM,UAAU,eAAe,CAAC,IAAa;IAC3C,OAAO,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAa,EAAE,OAAe,SAAS;IACjE,MAAM,aAAa,GAA4B,UAAU,CAAC,IAAI,CAAC,CAAA;IAC/D,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,UAAU,CAAC,CAAA;KAC3D;IAED,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAU,aAAa,CAAC,CAAA;IACpD,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClB,OAAO,EAAE,CAAA;KACV;IACD,OAAO,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAA+B,EAAE,GAAQ;IACvE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;QACrB,4BAA4B;QAC5B,IAAI,cAAc,GAAG,EAAE,CAAA;QACvB,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC7B,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACpD,OAAO,GAAG,CAAA;QACZ,CAAC,CAAA;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAAA;QACtD,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3F,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;KACrC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAoDD,SAAS,QAAQ;IACf,IAAI,OAAO,GAAwB,EAAE,CAAA;IACrC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAA;IACf,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACvB,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;IAC9B,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IACvB,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzB,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IACrB,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1B,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;IAE/B,sCAAsC;IACtC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAC1B,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IACzB,OAAO,KAAK,CAAA;IAEZ,SAAS,KAAK;QACZ,OAAM;IACR,CAAC;IAED,SAAS,GAAG,CAAC,MAAoB;QAC/B,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,MAAM,CAAC,EAAE;YACzC,MAAM,MAAM,CAAA;SACb;QAED,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;IAED,SAAS,KAAK,CAAC,GAAW,EAAE,MAAgB,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACtE,MAAM,EAAE,SAAS,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,GAAG,CAAA;QAC1C,IAAI,IAAI,GAAQ,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9C,IAAI,CAAC,SAAS,EAAE;YACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;gBACzB,OAAO;gBACP,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC3B,eAAe;gBACf,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;aACrB;SACF;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,OAAO,EAAE,QAAQ,IAAI,MAAM,EAAE,CAAA;AAC7B,MAAM,KAAK,GAAa,QAAQ,EAAE,CAAC,KAAK,CAAA;AACxC,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAA;AACxD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAExD,mDAAmD;AACnD,gIAAgI;AAEhI,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AACvD,gDAAgD;AAChD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,CAAA"}
|
package/esm/pluggableParser.js
CHANGED
|
@@ -2,6 +2,8 @@ import { mkRootBlock, toAny, toAnyRules, toHtml, toTree } from '.';
|
|
|
2
2
|
import toMarkdown from './exportMarkdown';
|
|
3
3
|
import idMiddleware from './helpers/ids';
|
|
4
4
|
import core from './helpers/corePlugins';
|
|
5
|
+
import { propagateConfigDefaults } from './helpers/configPropagation';
|
|
6
|
+
import { attachHeadingNumberPrefix } from './helpers/headingNumbering';
|
|
5
7
|
export { cleanIds, frozenIds } from './helpers/ids';
|
|
6
8
|
export const podlitePluggable = ({ plugins = {} } = {}) => {
|
|
7
9
|
let instance = function () { };
|
|
@@ -54,8 +56,16 @@ export const podlitePluggable = ({ plugins = {} } = {}) => {
|
|
|
54
56
|
})
|
|
55
57
|
.use(toAstAfterPlugins)
|
|
56
58
|
.run(ast);
|
|
59
|
+
if (resultAfter && resultAfter.interator) {
|
|
60
|
+
propagateConfigDefaults(resultAfter.interator);
|
|
61
|
+
attachHeadingNumberPrefix(resultAfter.interator);
|
|
62
|
+
}
|
|
57
63
|
return resultAfter;
|
|
58
64
|
}
|
|
65
|
+
if (result && result.interator) {
|
|
66
|
+
propagateConfigDefaults(result.interator);
|
|
67
|
+
attachHeadingNumberPrefix(result.interator);
|
|
68
|
+
}
|
|
59
69
|
return result;
|
|
60
70
|
};
|
|
61
71
|
instance.toHtml = ast => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pluggableParser.js","sourceRoot":"","sources":["../src/pluggableParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pluggableParser.js","sourceRoot":"","sources":["../src/pluggableParser.ts"],"names":[],"mappings":"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"}
|
package/lib/exportHtml.js
CHANGED
|
@@ -204,7 +204,8 @@ const rules = {
|
|
|
204
204
|
}, (0, handlers_1.setFn)((node, ctx) => {
|
|
205
205
|
const { level } = node;
|
|
206
206
|
const id = (0, ast_helpers_1.getNodeId)(node, ctx);
|
|
207
|
-
|
|
207
|
+
const open = `<h${level}${id ? ` id="${id}"` : ''}>${node.numberPrefix ? `<span class="head-number">${node.numberPrefix}</span> ` : ''}`;
|
|
208
|
+
return (0, handlers_1.wrapContent)(open, `</h${level}>`);
|
|
208
209
|
})),
|
|
209
210
|
':list': (0, handlers_1.setFn)((node, ctx) => node.list === 'ordered'
|
|
210
211
|
? (0, handlers_1.wrapContent)('<ol>', '</ol>')
|
package/lib/exportMarkdown.js
CHANGED
|
@@ -203,8 +203,11 @@ const rules = {
|
|
|
203
203
|
}, (0, handlers_1.setFn)((node, ctx) => {
|
|
204
204
|
const { level } = node;
|
|
205
205
|
const prefix = '#'.repeat(level) + ' ';
|
|
206
|
+
const numberPrefix = node.numberPrefix ? `${node.numberPrefix} ` : '';
|
|
206
207
|
return (writer, processor) => (node, ctx, interator) => {
|
|
207
208
|
writer.writeRaw(prefix);
|
|
209
|
+
if (numberPrefix)
|
|
210
|
+
writer.writeRaw(numberPrefix);
|
|
208
211
|
if (node.content)
|
|
209
212
|
interator(node.content, ctx);
|
|
210
213
|
writer.writeRaw('\n');
|
package/lib/grammar.js
CHANGED
|
@@ -6093,44 +6093,44 @@ function peg$parse(input, options) {
|
|
|
6093
6093
|
s3 = peg$parse_();
|
|
6094
6094
|
if (s3 !== peg$FAILED) {
|
|
6095
6095
|
s4 = peg$currPos;
|
|
6096
|
-
s5 = peg$
|
|
6097
|
-
if (
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6096
|
+
s5 = peg$currPos;
|
|
6097
|
+
if (peg$c169.test(input.charAt(peg$currPos))) {
|
|
6098
|
+
s6 = input.charAt(peg$currPos);
|
|
6099
|
+
peg$currPos++;
|
|
6100
|
+
}
|
|
6101
|
+
else {
|
|
6102
|
+
s6 = peg$FAILED;
|
|
6103
|
+
if (peg$silentFails === 0) {
|
|
6104
|
+
peg$fail(peg$c170);
|
|
6105
|
+
}
|
|
6106
|
+
}
|
|
6107
|
+
if (s6 !== peg$FAILED) {
|
|
6108
|
+
if (input.substr(peg$currPos, 2) === peg$c171) {
|
|
6109
|
+
s7 = peg$c171;
|
|
6110
|
+
peg$currPos += 2;
|
|
6102
6111
|
}
|
|
6103
6112
|
else {
|
|
6104
|
-
|
|
6113
|
+
s7 = peg$FAILED;
|
|
6105
6114
|
if (peg$silentFails === 0) {
|
|
6106
|
-
peg$fail(peg$
|
|
6115
|
+
peg$fail(peg$c172);
|
|
6107
6116
|
}
|
|
6108
6117
|
}
|
|
6109
|
-
if (
|
|
6110
|
-
|
|
6111
|
-
|
|
6112
|
-
peg$currPos += 2;
|
|
6113
|
-
}
|
|
6114
|
-
else {
|
|
6115
|
-
s7 = peg$FAILED;
|
|
6116
|
-
if (peg$silentFails === 0) {
|
|
6117
|
-
peg$fail(peg$c172);
|
|
6118
|
-
}
|
|
6119
|
-
}
|
|
6120
|
-
if (s7 !== peg$FAILED) {
|
|
6121
|
-
s6 = [s6, s7];
|
|
6122
|
-
s5 = s6;
|
|
6123
|
-
}
|
|
6124
|
-
else {
|
|
6125
|
-
peg$currPos = s5;
|
|
6126
|
-
s5 = peg$FAILED;
|
|
6127
|
-
}
|
|
6118
|
+
if (s7 !== peg$FAILED) {
|
|
6119
|
+
s6 = [s6, s7];
|
|
6120
|
+
s5 = s6;
|
|
6128
6121
|
}
|
|
6129
6122
|
else {
|
|
6130
6123
|
peg$currPos = s5;
|
|
6131
6124
|
s5 = peg$FAILED;
|
|
6132
6125
|
}
|
|
6133
6126
|
}
|
|
6127
|
+
else {
|
|
6128
|
+
peg$currPos = s5;
|
|
6129
|
+
s5 = peg$FAILED;
|
|
6130
|
+
}
|
|
6131
|
+
if (s5 === peg$FAILED) {
|
|
6132
|
+
s5 = peg$parsestrictIdentifier();
|
|
6133
|
+
}
|
|
6134
6134
|
if (s5 !== peg$FAILED) {
|
|
6135
6135
|
s4 = input.substring(s4, peg$currPos);
|
|
6136
6136
|
}
|
|
@@ -6596,24 +6596,19 @@ function peg$parse(input, options) {
|
|
|
6596
6596
|
peg$fail(peg$c45);
|
|
6597
6597
|
}
|
|
6598
6598
|
}
|
|
6599
|
-
|
|
6600
|
-
|
|
6601
|
-
|
|
6602
|
-
|
|
6603
|
-
|
|
6604
|
-
|
|
6605
|
-
|
|
6606
|
-
|
|
6607
|
-
|
|
6608
|
-
|
|
6609
|
-
peg$fail(peg$c45);
|
|
6610
|
-
}
|
|
6599
|
+
while (s4 !== peg$FAILED) {
|
|
6600
|
+
s3.push(s4);
|
|
6601
|
+
if (peg$c44.test(input.charAt(peg$currPos))) {
|
|
6602
|
+
s4 = input.charAt(peg$currPos);
|
|
6603
|
+
peg$currPos++;
|
|
6604
|
+
}
|
|
6605
|
+
else {
|
|
6606
|
+
s4 = peg$FAILED;
|
|
6607
|
+
if (peg$silentFails === 0) {
|
|
6608
|
+
peg$fail(peg$c45);
|
|
6611
6609
|
}
|
|
6612
6610
|
}
|
|
6613
6611
|
}
|
|
6614
|
-
else {
|
|
6615
|
-
s3 = peg$FAILED;
|
|
6616
|
-
}
|
|
6617
6612
|
if (s3 !== peg$FAILED) {
|
|
6618
6613
|
s2 = [s2, s3];
|
|
6619
6614
|
s1 = s2;
|
package/lib/grammarfc.js
CHANGED
|
@@ -563,24 +563,19 @@ function peg$parse(input, options) {
|
|
|
563
563
|
peg$fail(peg$c45);
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
peg$fail(peg$c45);
|
|
577
|
-
}
|
|
566
|
+
while (s4 !== peg$FAILED) {
|
|
567
|
+
s3.push(s4);
|
|
568
|
+
if (peg$c44.test(input.charAt(peg$currPos))) {
|
|
569
|
+
s4 = input.charAt(peg$currPos);
|
|
570
|
+
peg$currPos++;
|
|
571
|
+
}
|
|
572
|
+
else {
|
|
573
|
+
s4 = peg$FAILED;
|
|
574
|
+
if (peg$silentFails === 0) {
|
|
575
|
+
peg$fail(peg$c45);
|
|
578
576
|
}
|
|
579
577
|
}
|
|
580
578
|
}
|
|
581
|
-
else {
|
|
582
|
-
s3 = peg$FAILED;
|
|
583
|
-
}
|
|
584
579
|
if (s3 !== peg$FAILED) {
|
|
585
580
|
s2 = [s2, s3];
|
|
586
581
|
s1 = s2;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.propagateConfigDefaults = void 0;
|
|
4
|
+
const mergeDefaults = (own, defaults) => {
|
|
5
|
+
const ownArr = Array.isArray(own) ? own : [];
|
|
6
|
+
const seen = new Set(ownArr.map(c => c && c.name).filter(Boolean));
|
|
7
|
+
const additions = defaults.filter(c => c && c.name && !seen.has(c.name));
|
|
8
|
+
if (additions.length === 0)
|
|
9
|
+
return ownArr;
|
|
10
|
+
return [...ownArr, ...additions];
|
|
11
|
+
};
|
|
12
|
+
const lookupKeys = (node) => {
|
|
13
|
+
const keys = [];
|
|
14
|
+
if (typeof node.name !== 'string')
|
|
15
|
+
return keys;
|
|
16
|
+
if (node.name === 'head' && node.level !== undefined && node.level !== null) {
|
|
17
|
+
keys.push(`head${node.level}`);
|
|
18
|
+
}
|
|
19
|
+
keys.push(node.name);
|
|
20
|
+
return keys;
|
|
21
|
+
};
|
|
22
|
+
const walk = (node, config) => {
|
|
23
|
+
if (Array.isArray(node)) {
|
|
24
|
+
for (const child of node)
|
|
25
|
+
walk(child, config);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (!node || typeof node !== 'object')
|
|
29
|
+
return;
|
|
30
|
+
const anyNode = node;
|
|
31
|
+
if (anyNode.type === 'config' && typeof anyNode.name === 'string' && Array.isArray(anyNode.config)) {
|
|
32
|
+
config[anyNode.name] = anyNode.config;
|
|
33
|
+
}
|
|
34
|
+
else if (anyNode.type === 'block') {
|
|
35
|
+
for (const key of lookupKeys(anyNode)) {
|
|
36
|
+
const defaults = config[key];
|
|
37
|
+
if (defaults && defaults.length) {
|
|
38
|
+
anyNode.config = mergeDefaults(anyNode.config, defaults);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (anyNode.content !== undefined) {
|
|
43
|
+
walk(anyNode.content, config);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const propagateConfigDefaults = (ast) => {
|
|
47
|
+
walk(ast, {});
|
|
48
|
+
return ast;
|
|
49
|
+
};
|
|
50
|
+
exports.propagateConfigDefaults = propagateConfigDefaults;
|
|
51
|
+
exports.default = exports.propagateConfigDefaults;
|
|
52
|
+
//# sourceMappingURL=configPropagation.js.map
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.attachHeadingNumberPrefix = void 0;
|
|
4
|
+
const HEAD_MAX_LEVEL = 6;
|
|
5
|
+
const truthy = (v) => v === true || v === 1 || v === '1' || v === 'true';
|
|
6
|
+
const isNumbered = (config) => {
|
|
7
|
+
if (!Array.isArray(config))
|
|
8
|
+
return null;
|
|
9
|
+
let result = null;
|
|
10
|
+
for (const entry of config) {
|
|
11
|
+
if (!entry || entry.name !== 'numbered')
|
|
12
|
+
continue;
|
|
13
|
+
const value = entry.value;
|
|
14
|
+
if (value === false || value === 0 || value === '0' || value === 'false') {
|
|
15
|
+
result = false;
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
result = truthy(value) ? true : value !== undefined ? Boolean(value) : true;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
const formatPrefix = (counter, level) => {
|
|
24
|
+
const segments = [];
|
|
25
|
+
let started = false;
|
|
26
|
+
for (let i = 1; i <= level; i++) {
|
|
27
|
+
const value = counter[i];
|
|
28
|
+
if (!started && value === 0)
|
|
29
|
+
continue;
|
|
30
|
+
started = true;
|
|
31
|
+
segments.push(String(value));
|
|
32
|
+
}
|
|
33
|
+
if (segments.length === 0)
|
|
34
|
+
segments.push(String(counter[level]));
|
|
35
|
+
return segments.join('.') + '.';
|
|
36
|
+
};
|
|
37
|
+
const walk = (node, counter) => {
|
|
38
|
+
if (Array.isArray(node)) {
|
|
39
|
+
for (const child of node)
|
|
40
|
+
walk(child, counter);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
if (!node || typeof node !== 'object')
|
|
44
|
+
return;
|
|
45
|
+
const anyNode = node;
|
|
46
|
+
if (anyNode.type === 'block' && anyNode.name === 'head' && anyNode.level !== undefined && anyNode.level !== null) {
|
|
47
|
+
const level = Number(anyNode.level);
|
|
48
|
+
if (Number.isFinite(level) && level >= 1 && level <= HEAD_MAX_LEVEL) {
|
|
49
|
+
for (let i = level + 1; i <= HEAD_MAX_LEVEL; i++)
|
|
50
|
+
counter[i] = 0;
|
|
51
|
+
const numbered = isNumbered(anyNode.config);
|
|
52
|
+
if (numbered === true) {
|
|
53
|
+
counter[level] = (counter[level] || 0) + 1;
|
|
54
|
+
anyNode.numberPrefix = formatPrefix(counter, level);
|
|
55
|
+
}
|
|
56
|
+
else if (numbered === false) {
|
|
57
|
+
delete anyNode.numberPrefix;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
if (anyNode.content !== undefined) {
|
|
62
|
+
walk(anyNode.content, counter);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const attachHeadingNumberPrefix = (ast) => {
|
|
66
|
+
const counter = new Array(HEAD_MAX_LEVEL + 1).fill(0);
|
|
67
|
+
walk(ast, counter);
|
|
68
|
+
return ast;
|
|
69
|
+
};
|
|
70
|
+
exports.attachHeadingNumberPrefix = attachHeadingNumberPrefix;
|
|
71
|
+
exports.default = exports.attachHeadingNumberPrefix;
|
|
72
|
+
//# sourceMappingURL=headingNumbering.js.map
|
package/lib/index.d.ts
CHANGED
package/lib/pluggableParser.js
CHANGED
|
@@ -8,6 +8,8 @@ const _1 = require(".");
|
|
|
8
8
|
const exportMarkdown_1 = __importDefault(require("./exportMarkdown"));
|
|
9
9
|
const ids_1 = __importDefault(require("./helpers/ids"));
|
|
10
10
|
const corePlugins_1 = __importDefault(require("./helpers/corePlugins"));
|
|
11
|
+
const configPropagation_1 = require("./helpers/configPropagation");
|
|
12
|
+
const headingNumbering_1 = require("./helpers/headingNumbering");
|
|
11
13
|
var ids_2 = require("./helpers/ids");
|
|
12
14
|
Object.defineProperty(exports, "cleanIds", { enumerable: true, get: function () { return ids_2.cleanIds; } });
|
|
13
15
|
Object.defineProperty(exports, "frozenIds", { enumerable: true, get: function () { return ids_2.frozenIds; } });
|
|
@@ -62,8 +64,16 @@ const podlitePluggable = ({ plugins = {} } = {}) => {
|
|
|
62
64
|
})
|
|
63
65
|
.use(toAstAfterPlugins)
|
|
64
66
|
.run(ast);
|
|
67
|
+
if (resultAfter && resultAfter.interator) {
|
|
68
|
+
(0, configPropagation_1.propagateConfigDefaults)(resultAfter.interator);
|
|
69
|
+
(0, headingNumbering_1.attachHeadingNumberPrefix)(resultAfter.interator);
|
|
70
|
+
}
|
|
65
71
|
return resultAfter;
|
|
66
72
|
}
|
|
73
|
+
if (result && result.interator) {
|
|
74
|
+
(0, configPropagation_1.propagateConfigDefaults)(result.interator);
|
|
75
|
+
(0, headingNumbering_1.attachHeadingNumberPrefix)(result.interator);
|
|
76
|
+
}
|
|
67
77
|
return result;
|
|
68
78
|
};
|
|
69
79
|
instance.toHtml = ast => {
|
package/package.json
CHANGED