@podlite/schema 0.0.57 → 0.0.59
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 +19 -0
- package/esm/ast-helpers.d.ts +18 -0
- package/esm/ast-helpers.js +117 -1
- package/esm/ast-helpers.js.map +1 -1
- package/esm/exportAny.js +3 -1
- package/esm/exportAny.js.map +1 -1
- package/esm/exportHtml.js +5 -6
- package/esm/exportHtml.js.map +1 -1
- package/esm/exportMarkdown.js +8 -4
- package/esm/exportMarkdown.js.map +1 -1
- package/esm/grammarfc.js +14204 -5175
- package/esm/grammarfc.js.map +1 -1
- package/esm/helpers/ids.d.ts +1 -0
- package/esm/helpers/ids.js +8 -2
- package/esm/helpers/ids.js.map +1 -1
- package/esm/plugin-tables.js +10 -20
- package/esm/plugin-tables.js.map +1 -1
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/lib/ast-helpers.d.ts +18 -0
- package/lib/ast-helpers.js +125 -2
- package/lib/exportAny.js +3 -1
- package/lib/exportHtml.js +4 -5
- package/lib/exportMarkdown.js +8 -4
- package/lib/grammarfc.js +14204 -5175
- package/lib/helpers/ids.d.ts +1 -0
- package/lib/helpers/ids.js +10 -3
- package/lib/plugin-tables.js +10 -20
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
package/esm/helpers/ids.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare const cleanIds: (src?: {
|
|
|
7
7
|
skipChain: number;
|
|
8
8
|
podMode: number;
|
|
9
9
|
}) => (tree: any) => any;
|
|
10
|
+
export declare const headingId: (text: string) => string;
|
|
10
11
|
export declare const slugifyText: (text: string) => string;
|
|
11
12
|
/**
|
|
12
13
|
* Add set id to 'id' to each blocks
|
package/esm/helpers/ids.js
CHANGED
|
@@ -20,7 +20,13 @@ export const cleanIds = (src = { skipChain: 0, podMode: 1 }) => tree => {
|
|
|
20
20
|
});
|
|
21
21
|
return transformerBlocks(tree, {});
|
|
22
22
|
};
|
|
23
|
-
//
|
|
23
|
+
// A heading carries its own text as the identifier. Shaping it for a particular
|
|
24
|
+
// output — collapsing separators, dropping punctuation, numbering repeats — is the
|
|
25
|
+
// exporter's job (see getSafeNodeId), not the parser's. Slugifying here also
|
|
26
|
+
// transliterated cyrillic, so «Приветствие Мир» became Privetstvie-Mir and the
|
|
27
|
+
// original name could not be recovered.
|
|
28
|
+
export const headingId = (text) => text.trim().replace(/\s+/g, ' ');
|
|
29
|
+
// kept for callers outside the tree layer
|
|
24
30
|
export const slugifyText = (text) => {
|
|
25
31
|
return slugify(text.trim(), {});
|
|
26
32
|
};
|
|
@@ -66,7 +72,7 @@ const middleware = () => tree => {
|
|
|
66
72
|
return node;
|
|
67
73
|
}
|
|
68
74
|
else if (node.name == 'head') {
|
|
69
|
-
return { ...node, id:
|
|
75
|
+
return { ...node, id: headingId(getTextContentFromNode(node)) };
|
|
70
76
|
}
|
|
71
77
|
else {
|
|
72
78
|
return { ...node, id: nanoid() };
|
package/esm/helpers/ids.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/helpers/ids.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,sBAAsB,EAAE,eAAe,EAAE,MAAM,IAAI,CAAA;AAEvE,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B;;;GAGG;AAEH,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CACvC,IAAI,CAAC,EAAE;IACL,MAAM,iBAAiB,GAAG,eAAe,CAAC;QACxC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE;YAC1B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;gBAC3C,CAAC;gBACD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAA;gBAC5B,OAAO,EAAE,GAAG,IAAI,EAAE,CAAA;YACpB,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;KACF,CAAC,CAAA;IACF,OAAO,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AACpC,CAAC,CAAA;AAEH,
|
|
1
|
+
{"version":3,"file":"ids.js","sourceRoot":"","sources":["../../src/helpers/ids.ts"],"names":[],"mappings":"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"}
|
package/esm/plugin-tables.js
CHANGED
|
@@ -514,25 +514,18 @@ export default () => tree => {
|
|
|
514
514
|
const makeRow = cells => makeBlock('row', cells);
|
|
515
515
|
const makeHeaderRow = cells => makeBlock('row', cells, { config: [{ name: 'header', value: true, type: 'boolean' }] });
|
|
516
516
|
const makeCell = text => makeBlock('cell', { type: 'text', value: text });
|
|
517
|
-
// Routing:
|
|
518
|
-
//
|
|
519
|
-
//
|
|
520
|
-
//
|
|
521
|
-
// separator, or with both visible kinds (pipe + plus) handled by the
|
|
522
|
-
// shared mask, fall back to the legacy positional template, which
|
|
523
|
-
// preserves continuation-line alignment in multi-line rows and keeps
|
|
524
|
-
// byte-for-byte AST/HTML output stable.
|
|
517
|
+
// Routing: a whitespace-separated row on one line splits by its own
|
|
518
|
+
// gaps — two spaces are enough there, while the positional mask needs
|
|
519
|
+
// three. Rows with a visible separator keep the mask: an edge `|`
|
|
520
|
+
// carries a real empty cell that per-line splitting would drop.
|
|
525
521
|
const columnTemplate = makeMask(lines, separators);
|
|
526
522
|
const seenSeparatorKinds = new Set(lines.map(detectLineSeparator));
|
|
527
|
-
const
|
|
528
|
-
const
|
|
529
|
-
const useMixedSplitting = hasVisible && hasWhitespace;
|
|
523
|
+
const useMixedSplitting = (seenSeparatorKinds.has('pipe') || seenSeparatorKinds.has('plus')) && seenSeparatorKinds.has('whitespace');
|
|
524
|
+
const splitsItself = (line) => useMixedSplitting || detectLineSeparator(line) === 'whitespace';
|
|
530
525
|
const splitToCells = (rowValue) => {
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
return rowToCells(rowValue);
|
|
535
|
-
}
|
|
526
|
+
const rowLines = rowValue.split(/\r?\n/).filter(l => l.trim() !== '');
|
|
527
|
+
if (rowLines.length <= 1 && splitsItself(rowValue))
|
|
528
|
+
return rowToCells(rowValue);
|
|
536
529
|
return extractColumnsByTemplate(rowValue, columnTemplate);
|
|
537
530
|
};
|
|
538
531
|
const res = makeTransformer({
|
|
@@ -540,10 +533,7 @@ export default () => tree => {
|
|
|
540
533
|
if (textRows.length == 1) {
|
|
541
534
|
// No separator blocks: each line of the only text row becomes its own row
|
|
542
535
|
const textRowsLines = flattenDeep([row.value].map(splitToLines));
|
|
543
|
-
|
|
544
|
-
return textRowsLines.map(line => makeRow(splitLineCells(line).map(makeCell)));
|
|
545
|
-
}
|
|
546
|
-
return textRowsLines.map(line => makeRow(extractColumnsByTemplate(line, columnTemplate).map(makeCell)));
|
|
536
|
+
return textRowsLines.map(line => makeRow((splitsItself(line) ? splitLineCells(line) : extractColumnsByTemplate(line, columnTemplate)).map(makeCell)));
|
|
547
537
|
}
|
|
548
538
|
return makeRow(splitToCells(row.value).map(makeCell));
|
|
549
539
|
},
|
package/esm/plugin-tables.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-tables.js","sourceRoot":"","sources":["../src/plugin-tables.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-tables.js","sourceRoot":"","sources":["../src/plugin-tables.ts"],"names":[],"mappings":"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"}
|
package/esm/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.0.
|
|
1
|
+
export declare const version = "0.0.59";
|
package/esm/version.js
CHANGED
package/lib/ast-helpers.d.ts
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
import { Node } from './types';
|
|
2
2
|
export declare const getNodeId: (node: any, ctx: any) => any;
|
|
3
|
+
export declare const toFragment: (value: string) => string;
|
|
4
|
+
export declare const toMarkdownFragment: (value: string) => string;
|
|
5
|
+
export type AnchorStyle = {
|
|
6
|
+
shape: (value: string) => string;
|
|
7
|
+
firstRepeat: number;
|
|
8
|
+
};
|
|
9
|
+
export declare const htmlStyle: AnchorStyle;
|
|
10
|
+
export declare const markdownStyle: AnchorStyle;
|
|
11
|
+
export type AnchorIndex = {
|
|
12
|
+
byNode: Map<object, string>;
|
|
13
|
+
byName: Map<string, string>;
|
|
14
|
+
shape: (value: string) => string;
|
|
15
|
+
};
|
|
16
|
+
export declare const indexAnchors: (tree: unknown, style?: AnchorStyle) => AnchorIndex;
|
|
17
|
+
export declare const restyleAnchors: (index: AnchorIndex | undefined, style: AnchorStyle) => AnchorIndex | undefined;
|
|
18
|
+
export declare const findAnchor: (target: string, index?: AnchorIndex) => string | undefined;
|
|
19
|
+
export declare const resolveFragment: (target: string, index?: AnchorIndex) => string;
|
|
20
|
+
export declare const sameDocTarget: <T>(target: T, ctx: any, index?: AnchorIndex | undefined) => T | string;
|
|
3
21
|
export declare const getSafeNodeId: (node: Node, ctx: any) => string | null;
|
|
4
22
|
export declare const getExplicitNodeId: (node: any, ctx: any) => string | null;
|
|
5
23
|
export declare const makeAttrs: (node: any, ctx?: import("./helpers/config").Context) => import("./helpers/config").Attr;
|
package/lib/ast-helpers.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.makeAttrs = exports.getExplicitNodeId = exports.getSafeNodeId = exports.getNodeId = void 0;
|
|
6
|
+
exports.makeAttrs = exports.getExplicitNodeId = exports.getSafeNodeId = exports.sameDocTarget = exports.resolveFragment = exports.findAnchor = exports.restyleAnchors = exports.indexAnchors = exports.markdownStyle = exports.htmlStyle = exports.toMarkdownFragment = exports.toFragment = exports.getNodeId = void 0;
|
|
7
7
|
const config_1 = __importDefault(require("./helpers/config"));
|
|
8
8
|
const getNodeId = (node, ctx) => {
|
|
9
9
|
const conf = (0, config_1.default)(node, ctx);
|
|
@@ -13,7 +13,130 @@ const getNodeId = (node, ctx) => {
|
|
|
13
13
|
return node.id;
|
|
14
14
|
};
|
|
15
15
|
exports.getNodeId = getNodeId;
|
|
16
|
-
|
|
16
|
+
// Shapes an identifier for an output format: whitespace and dashes collapse into a
|
|
17
|
+
// single hyphen, punctuation and back-ticks go, case and non-latin letters stay.
|
|
18
|
+
// Same rule as Swift DocC — readable fragments instead of percent-escaped ones.
|
|
19
|
+
const toFragment = (value) => {
|
|
20
|
+
const collapsed = value
|
|
21
|
+
.trim()
|
|
22
|
+
.split(/[\s\-\u2013\u2014]+/)
|
|
23
|
+
.filter(Boolean)
|
|
24
|
+
.join('-');
|
|
25
|
+
const cleaned = collapsed.replace(/[^\p{L}\p{N}\-_]/gu, '');
|
|
26
|
+
return cleaned.replace(/^-+|-+$/g, '');
|
|
27
|
+
};
|
|
28
|
+
exports.toFragment = toFragment;
|
|
29
|
+
// What a markdown reader will build out of the heading itself: nothing is
|
|
30
|
+
// collapsed and no edge is trimmed, so «infix //» becomes «infix-». Matched
|
|
31
|
+
// against github-slugger on the whole Raku corpus.
|
|
32
|
+
const toMarkdownFragment = (value) => value
|
|
33
|
+
.toLowerCase()
|
|
34
|
+
.replace(/[^\p{L}\p{M}\p{Nd}\p{Nl}\-_ ]/gu, '')
|
|
35
|
+
.replace(/ /g, '-');
|
|
36
|
+
exports.toMarkdownFragment = toMarkdownFragment;
|
|
37
|
+
exports.htmlStyle = { shape: exports.toFragment, firstRepeat: 2 };
|
|
38
|
+
exports.markdownStyle = { shape: exports.toMarkdownFragment, firstRepeat: 1 };
|
|
39
|
+
// Repeated names would otherwise share one anchor: seventeen headings once
|
|
40
|
+
// collapsed onto a single «infix».
|
|
41
|
+
const takeUnique = (fragment, taken, firstRepeat) => {
|
|
42
|
+
if (!fragment)
|
|
43
|
+
return fragment;
|
|
44
|
+
let result = fragment;
|
|
45
|
+
while (taken.has(result)) {
|
|
46
|
+
const used = (taken.get(fragment) || 0) + 1;
|
|
47
|
+
taken.set(fragment, used);
|
|
48
|
+
result = `${fragment}-${used + firstRepeat - 1}`;
|
|
49
|
+
}
|
|
50
|
+
taken.set(result, taken.get(result) || 0);
|
|
51
|
+
return result;
|
|
52
|
+
};
|
|
53
|
+
const walkNodes = (node, visit) => {
|
|
54
|
+
if (Array.isArray(node)) {
|
|
55
|
+
for (const child of node)
|
|
56
|
+
walkNodes(child, visit);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
if (!node || typeof node !== 'object')
|
|
60
|
+
return;
|
|
61
|
+
visit(node);
|
|
62
|
+
if ('content' in node)
|
|
63
|
+
walkNodes(node.content, visit);
|
|
64
|
+
};
|
|
65
|
+
const assignAnchors = (heads, style) => {
|
|
66
|
+
const byNode = new Map();
|
|
67
|
+
const byName = new Map();
|
|
68
|
+
const taken = new Map();
|
|
69
|
+
for (const node of heads) {
|
|
70
|
+
const id = (0, exports.getNodeId)(node, {});
|
|
71
|
+
if (id == null)
|
|
72
|
+
continue;
|
|
73
|
+
const name = id.toString();
|
|
74
|
+
const anchor = takeUnique(style.shape(name), taken, style.firstRepeat);
|
|
75
|
+
byNode.set(node, anchor);
|
|
76
|
+
if (!byName.has(name))
|
|
77
|
+
byName.set(name, anchor);
|
|
78
|
+
}
|
|
79
|
+
return { byNode, byName, shape: style.shape };
|
|
80
|
+
};
|
|
81
|
+
// Anchors are handed out in one walk before rendering. A renderer asks for the
|
|
82
|
+
// same heading more than once — the numbering would run away — and a link may
|
|
83
|
+
// stand before the heading it points to, so both need the whole tree first.
|
|
84
|
+
const indexAnchors = (tree, style = exports.htmlStyle) => {
|
|
85
|
+
const heads = [];
|
|
86
|
+
walkNodes(tree, node => {
|
|
87
|
+
if (node.name === 'head')
|
|
88
|
+
heads.push(node);
|
|
89
|
+
});
|
|
90
|
+
return assignAnchors(heads, style);
|
|
91
|
+
};
|
|
92
|
+
exports.indexAnchors = indexAnchors;
|
|
93
|
+
// The same headings in the same order, shaped for another output.
|
|
94
|
+
const restyleAnchors = (index, style) => index && assignAnchors(index.byNode.keys(), style);
|
|
95
|
+
exports.restyleAnchors = restyleAnchors;
|
|
96
|
+
// Exact name first, then without regard to case: a link copied from markdown
|
|
97
|
+
// carries a lowercased target, and one written by hand carries the name itself.
|
|
98
|
+
const findAnchor = (target, index) => {
|
|
99
|
+
const name = target.trim();
|
|
100
|
+
if (!index || index.byName.size === 0)
|
|
101
|
+
return undefined;
|
|
102
|
+
const exact = index.byName.get(name);
|
|
103
|
+
if (exact !== undefined)
|
|
104
|
+
return exact;
|
|
105
|
+
const wanted = [name.toLowerCase(), index.shape(name).toLowerCase()];
|
|
106
|
+
for (const [heading, anchor] of index.byName) {
|
|
107
|
+
if (wanted.includes(heading.toLowerCase()) || wanted.includes(anchor.toLowerCase()))
|
|
108
|
+
return anchor;
|
|
109
|
+
}
|
|
110
|
+
return undefined;
|
|
111
|
+
};
|
|
112
|
+
exports.findAnchor = findAnchor;
|
|
113
|
+
const resolveFragment = (target, index) => (0, exports.findAnchor)(target, index) ?? (index?.shape || exports.toFragment)(target);
|
|
114
|
+
exports.resolveFragment = resolveFragment;
|
|
115
|
+
// A link inside the same document points at a heading by name, so it goes through
|
|
116
|
+
// the rules that shaped that heading's anchor.
|
|
117
|
+
const sameDocTarget = (target, ctx, index = ctx?.__anchors) => {
|
|
118
|
+
if (typeof target !== 'string' || !target.startsWith('#') || target === '#')
|
|
119
|
+
return target;
|
|
120
|
+
return `#${(0, exports.resolveFragment)(target.slice(1), index)}`;
|
|
121
|
+
};
|
|
122
|
+
exports.sameDocTarget = sameDocTarget;
|
|
123
|
+
const getSafeNodeId = (node, ctx) => {
|
|
124
|
+
const assigned = ctx?.__anchors?.byNode?.get(node);
|
|
125
|
+
if (assigned !== undefined)
|
|
126
|
+
return assigned;
|
|
127
|
+
const id = (0, exports.getNodeId)(node, ctx);
|
|
128
|
+
if (id == null)
|
|
129
|
+
return null;
|
|
130
|
+
const fragment = (0, exports.toFragment)(id.toString());
|
|
131
|
+
// only a heading derives its identifier from its own text, so only there can two
|
|
132
|
+
// blocks claim the same anchor. An author-written :id is the author's business,
|
|
133
|
+
// and a generated one is unique already.
|
|
134
|
+
const isHeading = typeof node === 'object' && node.name === 'head';
|
|
135
|
+
if (!isHeading)
|
|
136
|
+
return fragment;
|
|
137
|
+
const taken = ctx && typeof ctx === 'object' ? (ctx.__fragments ||= new Map()) : new Map();
|
|
138
|
+
return takeUnique(fragment, taken, exports.htmlStyle.firstRepeat);
|
|
139
|
+
};
|
|
17
140
|
exports.getSafeNodeId = getSafeNodeId;
|
|
18
141
|
// Only the author-written :id. The generated node.id changes on every parse, so
|
|
19
142
|
// emitting it as an html anchor would produce targets no link can rely on.
|
package/lib/exportAny.js
CHANGED
|
@@ -8,6 +8,7 @@ const makeQuery_1 = require("./helpers/makeQuery");
|
|
|
8
8
|
const makeInterator_1 = __importDefault(require("./helpers/makeInterator"));
|
|
9
9
|
const writer_1 = __importDefault(require("./writer"));
|
|
10
10
|
const _1 = require("./");
|
|
11
|
+
const ast_helpers_1 = require("./ast-helpers");
|
|
11
12
|
const toAny = (options = {}, plugins = []) => {
|
|
12
13
|
let fns = plugins;
|
|
13
14
|
// setup pod6 processor
|
|
@@ -52,7 +53,8 @@ const toAny = (options = {}, plugins = []) => {
|
|
|
52
53
|
let newFns = fns.slice();
|
|
53
54
|
newFns.reverse();
|
|
54
55
|
const interator = (0, makeInterator_1.default)(newFns.map(rule => (0, makeQuery_1.makeRule)(rule.rule, rule.fn(writer, processor, tree))).reverse());
|
|
55
|
-
|
|
56
|
+
// Every exporter needs the same anchors: assigned once, before the walk starts.
|
|
57
|
+
const context = { __anchors: (0, ast_helpers_1.indexAnchors)(tree), ...(options.context || {}) };
|
|
56
58
|
writer.startWrite(tree);
|
|
57
59
|
const result = interator(tree, context);
|
|
58
60
|
writer.endWrite();
|
package/lib/exportHtml.js
CHANGED
|
@@ -99,14 +99,14 @@ const rules = {
|
|
|
99
99
|
if (meta === null) {
|
|
100
100
|
meta = node.content;
|
|
101
101
|
}
|
|
102
|
-
return (0, handlers_1.wrapContent)(`<a href="${meta}">`, `</a>`);
|
|
102
|
+
return (0, handlers_1.wrapContent)(`<a href="${(0, ast_helpers_1.sameDocTarget)(meta, ctx)}">`, `</a>`);
|
|
103
103
|
}),
|
|
104
104
|
'W<>': (0, handlers_1.setFn)((node, ctx) => {
|
|
105
105
|
let { meta } = node;
|
|
106
106
|
if (meta === null) {
|
|
107
107
|
meta = node.content;
|
|
108
108
|
}
|
|
109
|
-
return (0, handlers_1.wrapContent)(`<a href="${meta}" class="backlink">`, `</a>`);
|
|
109
|
+
return (0, handlers_1.wrapContent)(`<a href="${(0, ast_helpers_1.sameDocTarget)(meta, ctx)}" class="backlink">`, `</a>`);
|
|
110
110
|
}),
|
|
111
111
|
/**
|
|
112
112
|
* CSS rules for footnotes
|
|
@@ -164,8 +164,7 @@ const rules = {
|
|
|
164
164
|
};
|
|
165
165
|
},
|
|
166
166
|
'S<>': (writer, processor) => (node, ctx, interator) => {
|
|
167
|
-
const
|
|
168
|
-
const spaces = content.replace(/ /g, ' ');
|
|
167
|
+
const spaces = (0, handlers_1.collectText)(node.content).replace(/ /g, ' ');
|
|
169
168
|
const newFeed = spaces.replace(/\n/g, '</br>');
|
|
170
169
|
writer.writeRaw(newFeed);
|
|
171
170
|
},
|
|
@@ -235,7 +234,7 @@ const rules = {
|
|
|
235
234
|
':para': handlers_1.content,
|
|
236
235
|
}, (0, handlers_1.setFn)((node, ctx) => {
|
|
237
236
|
const { level } = node;
|
|
238
|
-
const id = (0, ast_helpers_1.
|
|
237
|
+
const id = (0, ast_helpers_1.getSafeNodeId)(node, ctx);
|
|
239
238
|
const open = `<h${level}${id ? ` id="${id}"` : ''}>${node.numberPrefix ? `<span class="head-number">${node.numberPrefix}</span> ` : ''}`;
|
|
240
239
|
return (0, handlers_1.wrapContent)(open, `</h${level}>`);
|
|
241
240
|
})),
|
package/lib/exportMarkdown.js
CHANGED
|
@@ -9,6 +9,10 @@ const config_1 = __importDefault(require("./helpers/config"));
|
|
|
9
9
|
const image_base_1 = require("./image-base");
|
|
10
10
|
const writerMarkdown_1 = __importDefault(require("./writerMarkdown"));
|
|
11
11
|
const plugin_clean_location_1 = __importDefault(require("./plugin-clean-location"));
|
|
12
|
+
const ast_helpers_1 = require("./ast-helpers");
|
|
13
|
+
// A markdown reader builds the anchor out of the heading itself, by its own rules,
|
|
14
|
+
// so a link written here has to match what that reader will produce.
|
|
15
|
+
const markdownAnchors = ctx => ctx && (ctx.__markdownAnchors ||= (0, ast_helpers_1.restyleAnchors)(ctx.__anchors, ast_helpers_1.markdownStyle));
|
|
12
16
|
const rules = {
|
|
13
17
|
':text': (writer, processor) => (node, ctx, interator) => {
|
|
14
18
|
if (node.value) {
|
|
@@ -64,14 +68,14 @@ const rules = {
|
|
|
64
68
|
if (meta === null) {
|
|
65
69
|
meta = node.content;
|
|
66
70
|
}
|
|
67
|
-
return (0, handlers_1.wrapContent)(`[`, `](${meta})`);
|
|
71
|
+
return (0, handlers_1.wrapContent)(`[`, `](${(0, ast_helpers_1.sameDocTarget)(meta, ctx, markdownAnchors(ctx))})`);
|
|
68
72
|
}),
|
|
69
73
|
'W<>': (0, handlers_1.setFn)((node, ctx) => {
|
|
70
74
|
let { meta } = node;
|
|
71
75
|
if (meta === null) {
|
|
72
76
|
meta = node.content;
|
|
73
77
|
}
|
|
74
|
-
return (0, handlers_1.wrapContent)(`[`, `](${meta})`);
|
|
78
|
+
return (0, handlers_1.wrapContent)(`[`, `](${(0, ast_helpers_1.sameDocTarget)(meta, ctx, markdownAnchors(ctx))})`);
|
|
75
79
|
}),
|
|
76
80
|
'N<>': (writer, processor) => {
|
|
77
81
|
writer.addListener('end', () => {
|
|
@@ -112,9 +116,9 @@ const rules = {
|
|
|
112
116
|
};
|
|
113
117
|
},
|
|
114
118
|
'S<>': (writer, processor) => (node, ctx, interator) => {
|
|
115
|
-
const
|
|
119
|
+
const text = (0, handlers_1.collectText)(node.content);
|
|
116
120
|
// preserve spaces and newlines
|
|
117
|
-
writer.writeRaw(
|
|
121
|
+
writer.writeRaw(text.replace(/ /g, ' ').replace(/\n/g, ' \n'));
|
|
118
122
|
},
|
|
119
123
|
'T<>': (0, handlers_1.wrapContent)('`', '`'),
|
|
120
124
|
'U<>': (0, handlers_1.wrapContent)('', ''),
|