@podlite/schema 0.0.67 → 0.0.69
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 +32 -0
- package/esm/ast-helpers.d.ts +25 -1
- package/esm/ast-helpers.js +101 -2
- package/esm/ast-helpers.js.map +1 -1
- package/esm/attribute-names.d.ts +5 -0
- package/esm/attribute-names.js +36 -0
- package/esm/attribute-names.js.map +1 -0
- package/esm/exportAny.js +2 -2
- package/esm/exportAny.js.map +1 -1
- package/esm/exportHtml.js +50 -17
- package/esm/exportHtml.js.map +1 -1
- package/esm/exportMarkdown.js +28 -16
- package/esm/exportMarkdown.js.map +1 -1
- package/esm/folded-sections.d.ts +1 -0
- package/esm/folded-sections.js +80 -0
- package/esm/folded-sections.js.map +1 -0
- package/esm/grammarfc.js +6099 -15834
- package/esm/grammarfc.js.map +1 -1
- package/esm/helpers/corePlugins.js +9 -3
- package/esm/helpers/corePlugins.js.map +1 -1
- package/esm/helpers/html-attr.d.ts +1 -0
- package/esm/helpers/html-attr.js +6 -0
- package/esm/helpers/html-attr.js.map +1 -0
- package/esm/index.d.ts +4 -1
- package/esm/index.js +4 -1
- package/esm/index.js.map +1 -1
- package/esm/pluggableParser.d.ts +1 -1
- package/esm/pluggableParser.js +4 -1
- package/esm/pluggableParser.js.map +1 -1
- package/esm/types.d.ts +27 -16
- package/esm/version.d.ts +1 -1
- package/esm/version.js +1 -1
- package/lib/ast-helpers.d.ts +25 -1
- package/lib/ast-helpers.js +106 -3
- package/lib/attribute-names.d.ts +5 -0
- package/lib/attribute-names.js +41 -0
- package/lib/exportAny.js +1 -1
- package/lib/exportHtml.js +52 -19
- package/lib/exportMarkdown.js +27 -15
- package/lib/folded-sections.d.ts +1 -0
- package/lib/folded-sections.js +84 -0
- package/lib/grammarfc.js +6099 -15834
- package/lib/helpers/corePlugins.js +9 -3
- package/lib/helpers/html-attr.d.ts +1 -0
- package/lib/helpers/html-attr.js +10 -0
- package/lib/index.d.ts +4 -1
- package/lib/index.js +7 -1
- package/lib/pluggableParser.d.ts +1 -1
- package/lib/pluggableParser.js +5 -1
- package/lib/types.d.ts +27 -16
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/schema/AstTree.json +588 -436
- package/schema/PodliteDocument.json +588 -436
package/CHANGELOG.podlite
CHANGED
|
@@ -2,6 +2,38 @@
|
|
|
2
2
|
|
|
3
3
|
=head1 Upcoming
|
|
4
4
|
|
|
5
|
+
=head1 0.0.68
|
|
6
|
+
|
|
7
|
+
=item a link is bound to its target on the tree, before the address is shaped for a format. A target that is not there no longer produces an address that merely looks like one: the link renders without an address, which is the form html gives a link that leads nowhere. Across the knowledge base this cut links pointing at nothing from 63 to 13
|
|
8
|
+
|
|
9
|
+
=item an identifier written with `:id` is shaped for the output the same way the address is, wherever the anchor is written. `:id<v1.2>` used to render the anchor `v1.2` against the address `#v12`, so a link to it never arrived
|
|
10
|
+
|
|
11
|
+
=item an image carries an alternative text only when the author wrote one. Every image exported to html used to carry the word `undefined` where the text goes; an alt that is absent is now left out, which html reads as «this image is part of the content», and one written as empty stays empty, which html reads as «decorative»
|
|
12
|
+
|
|
13
|
+
=item the address and the alternative text of an image are escaped in both exports, as a link already was. A quotation mark used to close the attribute, and a bracket used to end the address in markdown
|
|
14
|
+
|
|
15
|
+
=item an image `:alt` written without a value counts as not written. It used to put the word `true` where the description of the picture goes, and `:!alt` the word `false`
|
|
16
|
+
|
|
17
|
+
=item a link written without a bar keeps its address when the document is exported. Both the html and the markdown export used to put the node array itself where the address goes, so `L<#Setup>` came out pointing at `[object Object]`
|
|
18
|
+
|
|
19
|
+
=item a link whose target the author never wrote is exported as an anchor with no address, the form html gives that case, instead of one pointing at the word `undefined`. Markdown has no such form, so the text is written on its own
|
|
20
|
+
|
|
21
|
+
=item a quotation mark or an ampersand inside an attribute value is escaped in the html export. Without it a document could close the attribute and write markup of its own, and an address holding `©` reached the browser as a copyright sign
|
|
22
|
+
|
|
23
|
+
=item an address holding a bracket or a space is written in angle brackets in the markdown export, the form markdown keeps for it. `man:find(1)` used to end the link at the first bracket
|
|
24
|
+
|
|
25
|
+
=item the formatting-code parser picks the closing delimiter while parsing instead of carrying a copy of two rules for every pair the language allows. The generated parser is less than half its former size and parsing is faster
|
|
26
|
+
|
|
27
|
+
=item a markup code that opens with a run of angles now has to close with a run of the same length. It used to fall back to a shorter one, so C<< C<<>> >> read as a code holding C<< <> >>; it reads as text now. All four delimiter pairs and the runs that carry a closing angle inside the content are unchanged
|
|
28
|
+
|
|
29
|
+
=item C<headingId> is reachable from the package entry, so any parser that builds a heading can apply the same rule the tree walker applies
|
|
30
|
+
|
|
31
|
+
=item the names of settings the specification gives are exported beside the block names, so the parser, the checker and the editor read one list
|
|
32
|
+
|
|
33
|
+
=item a section folded by :folded on its heading is grouped while the tree is built, so every reader of the tree sees it, not only the editor. The html export writes it as a native disclosure; markdown, which has none, writes the section out in full rather than losing the text
|
|
34
|
+
|
|
35
|
+
=item the document schema describes the tree the parser builds. An item carrying a checkbox, the terms of a definition, nineteen of the twenty-one markup codes, a semantic block holding more than one paragraph, and the entries of a table of contents were all outside it, and the check reported hundreds of errors on a sound document. The schema is generated from the types, so the types were brought to what the parser emits
|
|
36
|
+
|
|
5
37
|
=head1 0.0.67
|
|
6
38
|
|
|
7
39
|
=item a selector reads the value it is given by the same grammar that read the declaration, and compares the value as a whole. An attribute holding a list is not equal to a string, whatever the list holds and in whatever order; membership, written with the tilde form, runs over the values as declared and no longer cuts a quoted string into words; a value of one kind is not equal to a value of another
|
package/esm/ast-helpers.d.ts
CHANGED
|
@@ -17,7 +17,31 @@ export declare const indexAnchors: (tree: unknown, style?: AnchorStyle) => Ancho
|
|
|
17
17
|
export declare const restyleAnchors: (index: AnchorIndex | undefined, style: AnchorStyle) => AnchorIndex | undefined;
|
|
18
18
|
export declare const findAnchor: (target: string, index?: AnchorIndex) => string | undefined;
|
|
19
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;
|
|
20
|
+
export declare const sameDocTarget: <T>(target: T, ctx: any, index?: AnchorIndex | undefined) => T | string | undefined;
|
|
21
|
+
export declare const linkTarget: (node: {
|
|
22
|
+
meta?: unknown;
|
|
23
|
+
content?: unknown;
|
|
24
|
+
}) => string | undefined;
|
|
25
|
+
export declare const writtenValue: (value: unknown) => string | undefined;
|
|
26
|
+
export type LinkBinding = {
|
|
27
|
+
found: true;
|
|
28
|
+
document: 'self';
|
|
29
|
+
key: string;
|
|
30
|
+
via: 'heading' | 'explicit-id';
|
|
31
|
+
ambiguous: boolean;
|
|
32
|
+
} | {
|
|
33
|
+
found: false;
|
|
34
|
+
why: 'no-target';
|
|
35
|
+
};
|
|
36
|
+
export type BindingIndex = {
|
|
37
|
+
byKey: Map<string, {
|
|
38
|
+
node: object;
|
|
39
|
+
via: 'heading' | 'explicit-id';
|
|
40
|
+
}>;
|
|
41
|
+
ambiguous: Set<string>;
|
|
42
|
+
};
|
|
43
|
+
export declare const buildBindingIndex: (tree: unknown, style?: AnchorStyle) => BindingIndex;
|
|
44
|
+
export declare const bindTarget: (target: string, index?: BindingIndex) => LinkBinding;
|
|
21
45
|
export declare const getSafeNodeId: (node: Node, ctx: any) => string | null;
|
|
22
46
|
export declare const getExplicitNodeId: (node: any, ctx: any) => string | null;
|
|
23
47
|
export declare const makeAttrs: (node: any, ctx?: import("./helpers/config").Context) => import("./helpers/config").Attr;
|
package/esm/ast-helpers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getTextContentFromNode } from '.';
|
|
1
2
|
import makeAttrsPod from './helpers/config';
|
|
2
3
|
export const getNodeId = (node, ctx) => {
|
|
3
4
|
const conf = makeAttrsPod(node, ctx);
|
|
@@ -99,13 +100,111 @@ export const findAnchor = (target, index) => {
|
|
|
99
100
|
return undefined;
|
|
100
101
|
};
|
|
101
102
|
export const resolveFragment = (target, index) => findAnchor(target, index) ?? (index?.shape || toFragment)(target);
|
|
102
|
-
//
|
|
103
|
-
// the
|
|
103
|
+
// Level two: the address, shaped for this format. It is asked for only once level
|
|
104
|
+
// one has said the link points at something. A refusal comes back as undefined, and
|
|
105
|
+
// a link with no address is what the reader gets — not an address to nowhere.
|
|
104
106
|
export const sameDocTarget = (target, ctx, index = ctx?.__anchors) => {
|
|
105
107
|
if (typeof target !== 'string' || !target.startsWith('#') || target === '#')
|
|
106
108
|
return target;
|
|
109
|
+
const shape = index?.shape || toFragment;
|
|
110
|
+
const bindings = ctx?.__bindings;
|
|
111
|
+
if (bindings) {
|
|
112
|
+
const bound = bindTarget(target.slice(1), bindings);
|
|
113
|
+
if (!bound.found)
|
|
114
|
+
return undefined;
|
|
115
|
+
return `#${bound.via === 'heading' ? resolveFragment(bound.key, index) : shape(bound.key)}`;
|
|
116
|
+
}
|
|
107
117
|
return `#${resolveFragment(target.slice(1), index)}`;
|
|
108
118
|
};
|
|
119
|
+
// A link written without a bar keeps its target in the content, and by the time a
|
|
120
|
+
// renderer sees it the content is a node array. Only the first node is read; a
|
|
121
|
+
// target spread over several nodes is a separate question.
|
|
122
|
+
export const linkTarget = (node) => {
|
|
123
|
+
if (typeof node.meta === 'string')
|
|
124
|
+
return node.meta;
|
|
125
|
+
const content = node.content;
|
|
126
|
+
const first = Array.isArray(content) ? content[0] : content;
|
|
127
|
+
if (typeof first === 'string')
|
|
128
|
+
return first;
|
|
129
|
+
if (first && typeof first === 'object' && 'value' in first) {
|
|
130
|
+
const { value } = first;
|
|
131
|
+
if (typeof value === 'string')
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
return undefined;
|
|
135
|
+
};
|
|
136
|
+
// An attribute written without a value reaches the node as a boolean, which is the
|
|
137
|
+
// reader reporting that nothing was written rather than the author writing it. A
|
|
138
|
+
// number is a value the author did write, and stays.
|
|
139
|
+
export const writtenValue = (value) => value == null || typeof value === 'boolean' ? undefined : String(value);
|
|
140
|
+
// Both forms the specification describes: a section addressed by its name, and a
|
|
141
|
+
// block the author named with :id. The author's name wins — it was written on
|
|
142
|
+
// purpose, where a section name is derived from prose.
|
|
143
|
+
export const buildBindingIndex = (tree, style = htmlStyle) => {
|
|
144
|
+
const byKey = new Map();
|
|
145
|
+
const ambiguous = new Set();
|
|
146
|
+
const anchors = indexAnchors(tree, style);
|
|
147
|
+
const put = (key, node, via) => {
|
|
148
|
+
const known = byKey.get(key);
|
|
149
|
+
if (known === undefined) {
|
|
150
|
+
byKey.set(key, { node, via });
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
if (known.node === node)
|
|
154
|
+
return;
|
|
155
|
+
// Two nodes claiming one name is an ambiguity whether or not they claim it the
|
|
156
|
+
// same way. An explicit id still wins the address; the flag says the document
|
|
157
|
+
// said the name twice.
|
|
158
|
+
ambiguous.add(key);
|
|
159
|
+
if (via === 'explicit-id' && known.via !== 'explicit-id')
|
|
160
|
+
byKey.set(key, { node, via });
|
|
161
|
+
};
|
|
162
|
+
walkNodes(tree, node => {
|
|
163
|
+
// The raw value the author wrote, and the form the anchor takes: getExplicitNodeId
|
|
164
|
+
// already turns whitespace into a hyphen, so a link written the way the id was
|
|
165
|
+
// written would otherwise miss it.
|
|
166
|
+
const written = makeAttrsPod(node, {}).exists('id') ? makeAttrsPod(node, {}).getFirstValue('id') : null;
|
|
167
|
+
const explicit = getExplicitNodeId(node, {});
|
|
168
|
+
for (const key of [written == null ? null : String(written), explicit]) {
|
|
169
|
+
if (key)
|
|
170
|
+
put(key.normalize('NFC').trim(), node, 'explicit-id');
|
|
171
|
+
}
|
|
172
|
+
if (node.name !== 'head')
|
|
173
|
+
return;
|
|
174
|
+
const name = getTextContentFromNode(node).normalize('NFC').trim();
|
|
175
|
+
put(name, node, 'heading');
|
|
176
|
+
// A heading answers to its own name and to the form an output would give it: a
|
|
177
|
+
// link copied out of a rendered page carries the shaped name, and the author who
|
|
178
|
+
// pastes it means the same section. Both keys name one node, so this is a second
|
|
179
|
+
// name for the target rather than resolution decided by shaping.
|
|
180
|
+
for (const shaped of [toFragment(name), toMarkdownFragment(name)]) {
|
|
181
|
+
if (shaped && shaped !== name)
|
|
182
|
+
put(shaped, node, 'heading');
|
|
183
|
+
}
|
|
184
|
+
// And the anchor actually handed out, which carries the number when a name
|
|
185
|
+
// repeats: a link written against the second «Parameters» asks for Parameters-2,
|
|
186
|
+
// and only the assignment knows that.
|
|
187
|
+
const assigned = anchors.byNode.get(node);
|
|
188
|
+
if (assigned)
|
|
189
|
+
put(assigned, node, 'heading');
|
|
190
|
+
});
|
|
191
|
+
return { byKey, ambiguous };
|
|
192
|
+
};
|
|
193
|
+
// Matching is exact: level one has to keep apart everything the tree keeps apart,
|
|
194
|
+
// and folding case would erase that. Measured over the knowledge base — no working
|
|
195
|
+
// link depended on a case-folded match.
|
|
196
|
+
export const bindTarget = (target, index) => {
|
|
197
|
+
const key = target.normalize('NFC').trim();
|
|
198
|
+
if (!index)
|
|
199
|
+
return { found: false, why: 'no-target' };
|
|
200
|
+
const hit = index.byKey.get(key);
|
|
201
|
+
if (!hit)
|
|
202
|
+
return { found: false, why: 'no-target' };
|
|
203
|
+
// Two targets of one name is a fact about the document, not a reason to refuse it
|
|
204
|
+
// an address: the first still answers, as it always has, and the ambiguity travels
|
|
205
|
+
// with the answer for whoever reports it.
|
|
206
|
+
return { found: true, document: 'self', key, via: hit.via, ambiguous: index.ambiguous.has(key) };
|
|
207
|
+
};
|
|
109
208
|
export const getSafeNodeId = (node, ctx) => {
|
|
110
209
|
const assigned = ctx?.__anchors?.byNode?.get(node);
|
|
111
210
|
if (assigned !== undefined)
|
package/esm/ast-helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ast-helpers.js","sourceRoot":"","sources":["../src/ast-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const STANDARD_ATTRIBUTE_NAMES: readonly ["allow", "caption", "checked", "folded", "id", "lang", "nested", "numbered"];
|
|
2
|
+
export declare const BLOCK_ATTRIBUTE_NAMES: readonly ["colspan", "columns", "encoding", "filename", "folded-levels", "header", "key", "masked", "mime-type", "notify", "rename", "rowspan", "src"];
|
|
3
|
+
export declare const ATTRIBUTE_NAMES: readonly ["allow", "caption", "checked", "folded", "id", "lang", "nested", "numbered", "colspan", "columns", "encoding", "filename", "folded-levels", "header", "key", "masked", "mime-type", "notify", "rename", "rowspan", "src"];
|
|
4
|
+
export declare const isStandardAttributeName: (name: string) => boolean;
|
|
5
|
+
export declare const isKnownAttributeName: (name: string) => boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
// Names the specification gives a configuration option. Kept here beside the
|
|
2
|
+
// block names so the parser, the checker and the editor read one list rather
|
|
3
|
+
// than each carrying a copy of what it remembers.
|
|
4
|
+
// Applied uniformly to any built-in block, from the standard configuration
|
|
5
|
+
// options section of the specification.
|
|
6
|
+
export const STANDARD_ATTRIBUTE_NAMES = [
|
|
7
|
+
'allow',
|
|
8
|
+
'caption',
|
|
9
|
+
'checked',
|
|
10
|
+
'folded',
|
|
11
|
+
'id',
|
|
12
|
+
'lang',
|
|
13
|
+
'nested',
|
|
14
|
+
'numbered',
|
|
15
|
+
];
|
|
16
|
+
// Named by the specification for a particular block: the sources a block reads,
|
|
17
|
+
// the shape of a table, the cover over content.
|
|
18
|
+
export const BLOCK_ATTRIBUTE_NAMES = [
|
|
19
|
+
'colspan',
|
|
20
|
+
'columns',
|
|
21
|
+
'encoding',
|
|
22
|
+
'filename',
|
|
23
|
+
'folded-levels',
|
|
24
|
+
'header',
|
|
25
|
+
'key',
|
|
26
|
+
'masked',
|
|
27
|
+
'mime-type',
|
|
28
|
+
'notify',
|
|
29
|
+
'rename',
|
|
30
|
+
'rowspan',
|
|
31
|
+
'src',
|
|
32
|
+
];
|
|
33
|
+
export const ATTRIBUTE_NAMES = [...STANDARD_ATTRIBUTE_NAMES, ...BLOCK_ATTRIBUTE_NAMES];
|
|
34
|
+
export const isStandardAttributeName = (name) => STANDARD_ATTRIBUTE_NAMES.includes(name);
|
|
35
|
+
export const isKnownAttributeName = (name) => ATTRIBUTE_NAMES.includes(name);
|
|
36
|
+
//# sourceMappingURL=attribute-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute-names.js","sourceRoot":"","sources":["../src/attribute-names.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,6EAA6E;AAC7E,kDAAkD;AAElD,2EAA2E;AAC3E,wCAAwC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,OAAO;IACP,SAAS;IACT,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,UAAU;CACF,CAAA;AAEV,gFAAgF;AAChF,gDAAgD;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,eAAe;IACf,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,KAAK;CACG,CAAA;AAEV,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,wBAAwB,EAAE,GAAG,qBAAqB,CAAU,CAAA;AAE/F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAW,EAAE,CAC9D,wBAA8C,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,eAAqC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA"}
|
package/esm/exportAny.js
CHANGED
|
@@ -2,7 +2,7 @@ import { makeRule, makePlug } from './helpers/makeQuery';
|
|
|
2
2
|
import makeInterator from './helpers/makeInterator';
|
|
3
3
|
import Writer from './writer';
|
|
4
4
|
import { parse } from './';
|
|
5
|
-
import { indexAnchors } from './ast-helpers';
|
|
5
|
+
import { indexAnchors, buildBindingIndex } from './ast-helpers';
|
|
6
6
|
export const toAny = (options = {}, plugins = []) => {
|
|
7
7
|
let fns = plugins;
|
|
8
8
|
// setup pod6 processor
|
|
@@ -48,7 +48,7 @@ export const toAny = (options = {}, plugins = []) => {
|
|
|
48
48
|
newFns.reverse();
|
|
49
49
|
const interator = makeInterator(newFns.map(rule => makeRule(rule.rule, rule.fn(writer, processor, tree))).reverse());
|
|
50
50
|
// Every exporter needs the same anchors: assigned once, before the walk starts.
|
|
51
|
-
const context = { __anchors: indexAnchors(tree), ...(options.context || {}) };
|
|
51
|
+
const context = { __anchors: indexAnchors(tree), __bindings: buildBindingIndex(tree), ...(options.context || {}) };
|
|
52
52
|
writer.startWrite(tree);
|
|
53
53
|
const result = interator(tree, context);
|
|
54
54
|
writer.endWrite();
|
package/esm/exportAny.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportAny.js","sourceRoot":"","sources":["../src/exportAny.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,aAAa,MAAM,yBAAyB,CAAA;AACnD,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,IAAI,CAAA;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"exportAny.js","sourceRoot":"","sources":["../src/exportAny.ts"],"names":[],"mappings":"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"}
|
package/esm/exportHtml.js
CHANGED
|
@@ -6,10 +6,24 @@ import { applyImageBase } from './image-base';
|
|
|
6
6
|
import { isCovered } from './guard';
|
|
7
7
|
import htmlWriter from './writerHtml';
|
|
8
8
|
import clean_plugin from './plugin-clean-location';
|
|
9
|
-
import { getExplicitNodeId, getSafeNodeId, sameDocTarget } from './ast-helpers';
|
|
9
|
+
import { getExplicitNodeId, getSafeNodeId, linkTarget, sameDocTarget, toFragment, writtenValue } from './ast-helpers';
|
|
10
10
|
import { readLinkConfig } from './helpers/link-config';
|
|
11
11
|
import { decodeHTMLStrict } from 'entities';
|
|
12
|
-
|
|
12
|
+
import { quoteAttribute as quoteValue } from './helpers/html-attr';
|
|
13
|
+
// HTML gives an anchor without href to a link whose target the author never
|
|
14
|
+
// wrote; an empty href would claim the current document instead. The address is
|
|
15
|
+
// quoted like every other attribute value: a quote inside it would otherwise
|
|
16
|
+
// close the attribute and let the document write markup of its own.
|
|
17
|
+
const hrefAttr = (node, ctx) => {
|
|
18
|
+
const target = linkTarget(node);
|
|
19
|
+
if (target === undefined)
|
|
20
|
+
return '';
|
|
21
|
+
const address = sameDocTarget(target, ctx);
|
|
22
|
+
// A link level one refused points at nothing, and an anchor with no href is what
|
|
23
|
+
// html gives that case. An address shaped from a target that was never there only
|
|
24
|
+
// looks like a working link.
|
|
25
|
+
return address === undefined ? '' : ` href="${quoteValue(String(address))}"`;
|
|
26
|
+
};
|
|
13
27
|
const linkConfigAttrs = config => {
|
|
14
28
|
const { newContext, title, lang, download } = readLinkConfig(config);
|
|
15
29
|
const attrs = [];
|
|
@@ -25,8 +39,15 @@ const linkConfigAttrs = config => {
|
|
|
25
39
|
attrs.push(` download="${quoteValue(download)}"`);
|
|
26
40
|
return attrs.join('');
|
|
27
41
|
};
|
|
42
|
+
// Shaped by the same rule the address is: an anchor keeping a dot the address drops
|
|
43
|
+
// is how :id<v1.2> came to render an unreachable target. Every place that writes an
|
|
44
|
+
// anchor goes through here, or the two sides part again.
|
|
45
|
+
const anchorOf = (node, ctx) => {
|
|
46
|
+
const written = getExplicitNodeId(node, ctx);
|
|
47
|
+
return written === null ? null : (ctx?.__anchors?.shape || toFragment)(written);
|
|
48
|
+
};
|
|
28
49
|
const openTag = (tag, node, ctx, attrs = '') => {
|
|
29
|
-
const id =
|
|
50
|
+
const id = anchorOf(node, ctx);
|
|
30
51
|
return `<${tag}${id ? ` id="${id}"` : ''}${attrs}>`;
|
|
31
52
|
};
|
|
32
53
|
const rules = {
|
|
@@ -109,18 +130,12 @@ const rules = {
|
|
|
109
130
|
'H<>': wrapContent('<sup>', '</sup>'),
|
|
110
131
|
'J<>': wrapContent('<sub>', '</sub>'),
|
|
111
132
|
'L<>': setFn((node, ctx) => {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
meta = node.content;
|
|
115
|
-
}
|
|
116
|
-
return wrapContent(`<a href="${sameDocTarget(meta, ctx)}"${linkConfigAttrs(codeConfigWithDefaults(node, ctx))}>`, `</a>`);
|
|
133
|
+
const attrs = linkConfigAttrs(codeConfigWithDefaults(node, ctx));
|
|
134
|
+
return wrapContent(`<a${hrefAttr(node, ctx)}${attrs}>`, `</a>`);
|
|
117
135
|
}),
|
|
118
136
|
'W<>': setFn((node, ctx) => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
meta = node.content;
|
|
122
|
-
}
|
|
123
|
-
return wrapContent(`<a href="${sameDocTarget(meta, ctx)}"${linkConfigAttrs(codeConfigWithDefaults(node, ctx))} class="backlink">`, `</a>`);
|
|
137
|
+
const attrs = linkConfigAttrs(codeConfigWithDefaults(node, ctx));
|
|
138
|
+
return wrapContent(`<a${hrefAttr(node, ctx)}${attrs} class="backlink">`, `</a>`);
|
|
124
139
|
}),
|
|
125
140
|
/**
|
|
126
141
|
* CSS rules for footnotes
|
|
@@ -206,6 +221,19 @@ const rules = {
|
|
|
206
221
|
pod: content,
|
|
207
222
|
':code': wrapContent('<pre><code>', '</code></pre>'),
|
|
208
223
|
code: handleNested(setFn((node, ctx) => wrapContent(`${openTag('pre', node, ctx)}<code>`, '</code></pre>'))),
|
|
224
|
+
// a folded section is a heading plus the nodes under it; the disclosure is
|
|
225
|
+
// native so the reader needs no script to open it
|
|
226
|
+
_folded_section: (writer, processor) => (node, ctx, interator) => {
|
|
227
|
+
const [heading, ...rest] = (node.content || []);
|
|
228
|
+
const open = node.foldedState === false || node.foldedState === 0 || node.foldedState === '0';
|
|
229
|
+
writer.writeRaw(`<details class="folded-section"${open ? ' open' : ''}>`);
|
|
230
|
+
writer.writeRaw('<summary class="folded-section-summary">');
|
|
231
|
+
if (heading)
|
|
232
|
+
interator([heading], ctx);
|
|
233
|
+
writer.writeRaw('</summary><div class="folded-section-content">');
|
|
234
|
+
interator(rest, ctx);
|
|
235
|
+
writer.writeRaw('</div></details>');
|
|
236
|
+
},
|
|
209
237
|
data: emptyContent,
|
|
210
238
|
':verbatim': (writer, processor) => (node, ctx, interator) => {
|
|
211
239
|
if (node.error) {
|
|
@@ -239,7 +267,7 @@ const rules = {
|
|
|
239
267
|
// block =para
|
|
240
268
|
// With an :id the block owns the <p> so the anchor lands on it; without one
|
|
241
269
|
// the inner paragraph renders as before.
|
|
242
|
-
para: handleNested(setFn((node, ctx) =>
|
|
270
|
+
para: handleNested(setFn((node, ctx) => anchorOf(node, ctx)
|
|
243
271
|
? subUse({ ':para': content }, wrapContent(openTag('p', node, ctx), '</p>'))
|
|
244
272
|
: content)),
|
|
245
273
|
':para': setFn((node, ctx) => wrapContent(openTag('p', node, ctx), '</p>')),
|
|
@@ -278,7 +306,7 @@ const rules = {
|
|
|
278
306
|
'comment:block': emptyContent,
|
|
279
307
|
'boundary:block': (writer, processor) => (node, ctx) => {
|
|
280
308
|
const conf = makeAttrs(node, ctx);
|
|
281
|
-
const id =
|
|
309
|
+
const id = anchorOf(node, ctx);
|
|
282
310
|
const idAttr = id ? ` id="${id}"` : '';
|
|
283
311
|
if (conf.exists('caption')) {
|
|
284
312
|
writer.writeRaw(`<hr${idAttr} title="`);
|
|
@@ -291,7 +319,7 @@ const rules = {
|
|
|
291
319
|
},
|
|
292
320
|
// The term opens the pair, so an :id on the definition lands on its <dt>.
|
|
293
321
|
defn: setFn((node, ctx) => {
|
|
294
|
-
const id =
|
|
322
|
+
const id = anchorOf(node, ctx);
|
|
295
323
|
return id
|
|
296
324
|
? subUse({ 'term:para': wrapContent(`<dt id="${id}">`, '</dt><dd>') }, wrapContent('', '</dd>'))
|
|
297
325
|
: wrapContent('', '</dd>');
|
|
@@ -383,7 +411,12 @@ const rules = {
|
|
|
383
411
|
':toc-list': setFn((node, ctx) => wrapContent(`<ul class="toc-list listlevel${node.level}">`, '</ul>')),
|
|
384
412
|
':toc-item': setFn((node, ctx) => wrapContent('<li class="toc-item">', '</li>')),
|
|
385
413
|
':image': (writer, processor) => (node, ctx, interator) => {
|
|
386
|
-
|
|
414
|
+
const src = quoteValue(String(applyImageBase(node.src, ctx?.base) ?? ''));
|
|
415
|
+
// html reads a missing alt as "this image is part of the content" and an empty
|
|
416
|
+
// one as "decorative", so an alternative text the author never wrote is left out
|
|
417
|
+
const altText = writtenValue(node.alt);
|
|
418
|
+
const alt = altText === undefined ? '' : ` alt="${quoteValue(altText)}"`;
|
|
419
|
+
writer.writeRaw(`<img src="${src}"${alt}/>`);
|
|
387
420
|
},
|
|
388
421
|
};
|
|
389
422
|
const toHtml = opt => toAny({
|
package/esm/exportHtml.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportHtml.js","sourceRoot":"","sources":["../src/exportHtml.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"exportHtml.js","sourceRoot":"","sources":["../src/exportHtml.ts"],"names":[],"mappings":"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"}
|
package/esm/exportMarkdown.js
CHANGED
|
@@ -5,7 +5,7 @@ import makeAttrs, { codeConfigWithDefaults } from './helpers/config';
|
|
|
5
5
|
import { applyImageBase } from './image-base';
|
|
6
6
|
import writerMarkdown from './writerMarkdown';
|
|
7
7
|
import clean_plugin from './plugin-clean-location';
|
|
8
|
-
import { markdownStyle, restyleAnchors, sameDocTarget } from './ast-helpers';
|
|
8
|
+
import { linkTarget, markdownStyle, restyleAnchors, sameDocTarget, writtenValue } from './ast-helpers';
|
|
9
9
|
import { readLinkConfig } from './helpers/link-config';
|
|
10
10
|
// A markdown reader builds the anchor out of the heading itself, by its own rules,
|
|
11
11
|
// so a link written here has to match what that reader will produce.
|
|
@@ -14,6 +14,26 @@ const linkTitle = config => {
|
|
|
14
14
|
const { title } = readLinkConfig(config);
|
|
15
15
|
return title === undefined ? '' : ` "${title.replace(/"/g, '\\"')}"`;
|
|
16
16
|
};
|
|
17
|
+
// Markdown has no form for a link whose target the author never wrote — an empty
|
|
18
|
+
// address there claims the current document — so the text is written on its own.
|
|
19
|
+
// A bracket or a space inside the address would end it where markdown looks for
|
|
20
|
+
// the closing one, so such an address is written in angle brackets, the form
|
|
21
|
+
// markdown keeps for exactly that. An angle of its own is percent-encoded rather
|
|
22
|
+
// than dropped, so the address survives the round trip — no source text reaches
|
|
23
|
+
// here holding one today, since the parser ends the code on it.
|
|
24
|
+
const markdownAddress = (address) => /[()\s]/.test(address) ? `<${address.replace(/</g, '%3C').replace(/>/g, '%3E')}>` : address;
|
|
25
|
+
const linkWrap = (node, ctx) => {
|
|
26
|
+
const target = linkTarget(node);
|
|
27
|
+
if (target === undefined)
|
|
28
|
+
return wrapContent('', '');
|
|
29
|
+
const resolved = sameDocTarget(target, ctx, markdownAnchors(ctx));
|
|
30
|
+
// Markdown has no anchor without an address either, so a refused link keeps its
|
|
31
|
+
// text and loses the brackets.
|
|
32
|
+
if (resolved === undefined)
|
|
33
|
+
return wrapContent('', '');
|
|
34
|
+
const address = String(resolved);
|
|
35
|
+
return wrapContent(`[`, `](${markdownAddress(address)}${linkTitle(codeConfigWithDefaults(node, ctx))})`);
|
|
36
|
+
};
|
|
17
37
|
// A cell's own text is written whole. Trimming each fragment on its own eats the
|
|
18
38
|
// spaces that sit between them — between a word and a markup code, or around a
|
|
19
39
|
// sign the parser split the text on — so only the cell edges are stripped.
|
|
@@ -84,20 +104,8 @@ const rules = {
|
|
|
84
104
|
},
|
|
85
105
|
'H<>': wrapContent('<sup>', '</sup>'),
|
|
86
106
|
'J<>': wrapContent('<sub>', '</sub>'),
|
|
87
|
-
'L<>': setFn((node, ctx) =>
|
|
88
|
-
|
|
89
|
-
if (meta === null) {
|
|
90
|
-
meta = node.content;
|
|
91
|
-
}
|
|
92
|
-
return wrapContent(`[`, `](${sameDocTarget(meta, ctx, markdownAnchors(ctx))}${linkTitle(codeConfigWithDefaults(node, ctx))})`);
|
|
93
|
-
}),
|
|
94
|
-
'W<>': setFn((node, ctx) => {
|
|
95
|
-
let { meta } = node;
|
|
96
|
-
if (meta === null) {
|
|
97
|
-
meta = node.content;
|
|
98
|
-
}
|
|
99
|
-
return wrapContent(`[`, `](${sameDocTarget(meta, ctx, markdownAnchors(ctx))}${linkTitle(codeConfigWithDefaults(node, ctx))})`);
|
|
100
|
-
}),
|
|
107
|
+
'L<>': setFn((node, ctx) => linkWrap(node, ctx)),
|
|
108
|
+
'W<>': setFn((node, ctx) => linkWrap(node, ctx)),
|
|
101
109
|
'N<>': (writer, processor) => {
|
|
102
110
|
writer.addListener('end', () => {
|
|
103
111
|
if (!writer.hasOwnProperty('FOOTNOTES')) {
|
|
@@ -419,7 +427,11 @@ const rules = {
|
|
|
419
427
|
':toc-list': emptyContent,
|
|
420
428
|
':toc-item': emptyContent,
|
|
421
429
|
':image': (writer, processor) => (node, ctx, interator) => {
|
|
422
|
-
|
|
430
|
+
// the alternative text sits between square brackets, where a `]` of its own
|
|
431
|
+
// would end it, and the address between round ones — the same shape a link has
|
|
432
|
+
const alt = (writtenValue(node.alt) ?? '').replace(/([[\]\\])/g, '\\$1');
|
|
433
|
+
const src = markdownAddress(String(applyImageBase(node.src, ctx?.base) ?? ''));
|
|
434
|
+
writer.writeRaw(``);
|
|
423
435
|
},
|
|
424
436
|
};
|
|
425
437
|
const toMarkdown = opt => toAny({
|