@cudoment/cudoc 0.4.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/document.d.ts +36 -1
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +54 -3
- package/dist/document.js.map +1 -1
- package/dist/internal/core/mdx/imports.d.ts +21 -0
- package/dist/internal/core/mdx/imports.d.ts.map +1 -0
- package/dist/internal/core/mdx/imports.js +80 -0
- package/dist/internal/core/mdx/imports.js.map +1 -0
- package/dist/internal/core/mdx/index.d.ts +1 -0
- package/dist/internal/core/mdx/index.d.ts.map +1 -1
- package/dist/internal/core/mdx/index.js +1 -0
- package/dist/internal/core/mdx/index.js.map +1 -1
- package/dist/internal/core/query/sections.d.ts +6 -0
- package/dist/internal/core/query/sections.d.ts.map +1 -1
- package/dist/internal/core/query/sections.js +8 -2
- package/dist/internal/core/query/sections.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/create-table.js +40 -17
- package/dist/internal/transforms/table-column-layout/create-table.js.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.d.ts +32 -0
- package/dist/internal/transforms/table-column-layout/index.d.ts.map +1 -1
- package/dist/internal/transforms/table-column-layout/index.js +66 -0
- package/dist/internal/transforms/table-column-layout/index.js.map +1 -1
- package/dist/markdown.d.ts +8 -0
- package/dist/markdown.d.ts.map +1 -1
- package/dist/markdown.js +9 -1
- package/dist/markdown.js.map +1 -1
- package/dist/node/check.d.ts +12 -6
- package/dist/node/check.d.ts.map +1 -1
- package/dist/node/check.js +460 -79
- package/dist/node/check.js.map +1 -1
- package/dist/node/cli.js +2 -56
- package/dist/node/cli.js.map +1 -1
- package/dist/node/collect.d.ts +41 -0
- package/dist/node/collect.d.ts.map +1 -0
- package/dist/node/collect.js +351 -0
- package/dist/node/collect.js.map +1 -0
- package/dist/node/command.d.ts +23 -0
- package/dist/node/command.d.ts.map +1 -0
- package/dist/node/command.js +116 -0
- package/dist/node/command.js.map +1 -0
- package/dist/node/dataset.d.ts +14 -1
- package/dist/node/dataset.d.ts.map +1 -1
- package/dist/node/dataset.js +44 -5
- package/dist/node/dataset.js.map +1 -1
- package/dist/node/glob.d.ts +21 -0
- package/dist/node/glob.d.ts.map +1 -0
- package/dist/node/glob.js +61 -0
- package/dist/node/glob.js.map +1 -0
- package/dist/node/library.d.ts +76 -6
- package/dist/node/library.d.ts.map +1 -1
- package/dist/node/library.js +63 -137
- package/dist/node/library.js.map +1 -1
- package/dist/node/load-ast.d.ts.map +1 -1
- package/dist/node/load-ast.js +4 -1
- package/dist/node/load-ast.js.map +1 -1
- package/dist/node/local-target.d.ts +39 -8
- package/dist/node/local-target.d.ts.map +1 -1
- package/dist/node/local-target.js +94 -13
- package/dist/node/local-target.js.map +1 -1
- package/dist/node/prepare-embeds.d.ts +52 -3
- package/dist/node/prepare-embeds.d.ts.map +1 -1
- package/dist/node/prepare-embeds.js +134 -8
- package/dist/node/prepare-embeds.js.map +1 -1
- package/dist/node/references.d.ts +39 -0
- package/dist/node/references.d.ts.map +1 -0
- package/dist/node/references.js +101 -0
- package/dist/node/references.js.map +1 -0
- package/dist/node/replace.d.ts +65 -0
- package/dist/node/replace.d.ts.map +1 -0
- package/dist/node/replace.js +285 -0
- package/dist/node/replace.js.map +1 -0
- package/dist/node/resolve-embed.d.ts +79 -1
- package/dist/node/resolve-embed.d.ts.map +1 -1
- package/dist/node/resolve-embed.js +480 -143
- package/dist/node/resolve-embed.js.map +1 -1
- package/dist/node/roots.d.ts +78 -0
- package/dist/node/roots.d.ts.map +1 -0
- package/dist/node/roots.js +170 -0
- package/dist/node/roots.js.map +1 -0
- package/dist/node/storage.d.ts +21 -3
- package/dist/node/storage.d.ts.map +1 -1
- package/dist/node/storage.js +242 -20
- package/dist/node/storage.js.map +1 -1
- package/dist/node/watch.d.ts +86 -0
- package/dist/node/watch.d.ts.map +1 -0
- package/dist/node/watch.js +174 -0
- package/dist/node/watch.js.map +1 -0
- package/dist/paged.d.ts +34 -0
- package/dist/paged.d.ts.map +1 -0
- package/dist/paged.js +44 -0
- package/dist/paged.js.map +1 -0
- package/dist/render.d.ts +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +14 -0
- package/dist/render.js.map +1 -1
- package/dist/sections.d.ts.map +1 -1
- package/dist/sections.js +7 -3
- package/dist/sections.js.map +1 -1
- package/package.json +29 -16
- package/styles.css +5 -2
package/dist/paged.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the paginated output formats have to agree on.
|
|
3
|
+
*
|
|
4
|
+
* A PDF is printed by a browser and a `.docx` is assembled by a writer that
|
|
5
|
+
* never sees CSS, so the only thing keeping the two in step is a shared
|
|
6
|
+
* definition rather than two implementations that happen to match. This module
|
|
7
|
+
* is browser-safe and holds no I/O.
|
|
8
|
+
*/
|
|
9
|
+
/** The info string an author writes on a fence to force a page break. */
|
|
10
|
+
export const PAGE_BREAK_FENCE = "cudoc-pagebreak";
|
|
11
|
+
/** `data.cudoc.kind` on the node the fence normalizes to. */
|
|
12
|
+
export const PAGE_BREAK_KIND = "pageBreak";
|
|
13
|
+
/** The class the printed stylesheets key their `break-after` rule off. */
|
|
14
|
+
export const PAGE_BREAK_CLASS = "cudoc-page-break";
|
|
15
|
+
/**
|
|
16
|
+
* Whether a node is an authored page break.
|
|
17
|
+
*
|
|
18
|
+
* A writer must test this **before** any generic `thematicBreak` handling: the
|
|
19
|
+
* break is carried on a `thematicBreak` because that is a childless flow node
|
|
20
|
+
* which can never swallow content, so a handler that dispatches on `type` alone
|
|
21
|
+
* turns an authored page break into a horizontal rule.
|
|
22
|
+
*/
|
|
23
|
+
export const isPageBreak = (node) => node.data?.cudoc?.kind === PAGE_BREAK_KIND;
|
|
24
|
+
/**
|
|
25
|
+
* The node an authored break becomes.
|
|
26
|
+
*
|
|
27
|
+
* `hidden` gives it the user agent's `display: none`, so a host stylesheet
|
|
28
|
+
* cudoc does not own cannot give the empty element a margin on the primary
|
|
29
|
+
* site. The printed stylesheet turns it back on and breaks after it.
|
|
30
|
+
*/
|
|
31
|
+
export const pageBreakNode = (position) => ({
|
|
32
|
+
type: "thematicBreak",
|
|
33
|
+
...(position ? { position } : {}),
|
|
34
|
+
data: {
|
|
35
|
+
hName: "div",
|
|
36
|
+
hProperties: {
|
|
37
|
+
className: [PAGE_BREAK_CLASS],
|
|
38
|
+
"data-cudoc-break": "page",
|
|
39
|
+
hidden: true,
|
|
40
|
+
},
|
|
41
|
+
cudoc: { kind: PAGE_BREAK_KIND },
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=paged.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paged.js","sourceRoot":"","sources":["../src/paged.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,yEAAyE;AACzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAA;AAEjD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAA;AAE1C,0EAA0E;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAkB,EAAW,EAAE,CACzD,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,KAAK,eAAe,CAAA;AAE5C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAmB,EAAgB,EAAE,CAAC,CAAC;IACnE,IAAI,EAAE,eAAe;IACrB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,IAAI,EAAE;QACJ,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,gBAAgB,CAAC;YAC7B,kBAAkB,EAAE,MAAM;YAC1B,MAAM,EAAE,IAAI;SACb;QACD,KAAK,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;KACjC;CACF,CAAC,CAAA"}
|
package/dist/render.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Root } from "mdast";
|
|
2
2
|
import type { Root as HastRoot } from "hast";
|
|
3
|
-
import type
|
|
3
|
+
import { type DocumentNode } from "./document.js";
|
|
4
4
|
export type RenderOptions = {
|
|
5
5
|
highlight?: (code: string, language?: string) => string;
|
|
6
6
|
/** Explicit renderer for authored custom components. The callback returns HTML. */
|
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAkB,MAAM,MAAM,CAAA;AAI5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,KAAK,EAAE,IAAI,IAAI,QAAQ,EAAkB,MAAM,MAAM,CAAA;AAI5D,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AAEhE,MAAM,MAAM,aAAa,GAAG;IAC1B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;IACvD,mFAAmF;IACnF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,MAAM,CAAC,CAAA;CAC5D,CAAA;AACD,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,aAAkB,GAC1B,QAAQ,CA2EV;AACD,eAAO,MAAM,cAAc,GACzB,MAAM,IAAI,EACV,UAAS,aAAkB,KAC1B,MAA6E,CAAA"}
|
package/dist/render.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { toHast } from "mdast-util-to-hast";
|
|
2
2
|
import { toHtml } from "hast-util-to-html";
|
|
3
3
|
import { fromHtml } from "hast-util-from-html";
|
|
4
|
+
import { capturedImage } from "./document.js";
|
|
4
5
|
export function documentToHast(tree, options = {}) {
|
|
5
6
|
const result = toHast(tree, {
|
|
6
7
|
allowDangerousHtml: true,
|
|
@@ -32,6 +33,19 @@ export function documentToHast(tree, options = {}) {
|
|
|
32
33
|
const node = value;
|
|
33
34
|
if (node.type === "mdxjsEsm" || node.type === "yaml")
|
|
34
35
|
return { type: "text", value: "" };
|
|
36
|
+
// A host's own component for a Markdown image renders as that image.
|
|
37
|
+
const image = capturedImage(node);
|
|
38
|
+
if (image)
|
|
39
|
+
return {
|
|
40
|
+
type: "element",
|
|
41
|
+
tagName: "img",
|
|
42
|
+
properties: {
|
|
43
|
+
src: image.url,
|
|
44
|
+
alt: image.alt ?? "",
|
|
45
|
+
...(image.title ? { title: image.title } : {}),
|
|
46
|
+
},
|
|
47
|
+
children: [],
|
|
48
|
+
};
|
|
35
49
|
const renderer = node.name && options.components?.[node.name];
|
|
36
50
|
if (renderer)
|
|
37
51
|
return fromHtml(renderer(node), { fragment: true })
|
package/dist/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
|
package/dist/sections.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"sections.d.ts","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAU,IAAI,EAAE,MAAM,OAAO,CAAA;AASlD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACzB,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,gBAAqB,GAC5B,gBAAgB,EAAE,CAoDpB"}
|
package/dist/sections.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { visit } from "unist-util-visit";
|
|
2
|
-
import { getHeadingAnchorId,
|
|
2
|
+
import { getHeadingAnchorId, sliceSectionAt, } from "./internal/core/query/sections.js";
|
|
3
3
|
import { getNodeText } from "./internal/core/query/nodes.js";
|
|
4
4
|
export function collectSections(tree, select = {}) {
|
|
5
5
|
const result = [];
|
|
@@ -10,16 +10,20 @@ export function collectSections(tree, select = {}) {
|
|
|
10
10
|
: [select.depth];
|
|
11
11
|
if (depths?.some((d) => !Number.isInteger(d) || d < 1 || d > 6))
|
|
12
12
|
throw new TypeError("cudoc: section depth must be 1-6");
|
|
13
|
-
visit(tree, "heading", (heading) => {
|
|
13
|
+
visit(tree, "heading", (heading, index, parent) => {
|
|
14
14
|
const anchorId = getHeadingAnchorId(heading);
|
|
15
15
|
const title = getNodeText(heading.children.filter((n) => !["badge", "permalink"].includes(n.data?.cudoc?.kind ?? ""))).trim();
|
|
16
16
|
if (!anchorId ||
|
|
17
|
+
typeof index !== "number" ||
|
|
18
|
+
!parent ||
|
|
17
19
|
(select.anchors &&
|
|
18
20
|
!select.anchors.map((id) => id.replace(/^#/, "")).includes(anchorId)) ||
|
|
19
21
|
(select.titles && !select.titles.includes(title)) ||
|
|
20
22
|
(depths && !depths.includes(heading.depth)))
|
|
21
23
|
return;
|
|
22
|
-
|
|
24
|
+
// Sliced where the heading stands: a repeated id still yields this
|
|
25
|
+
// heading's own section, not the first one carrying the id.
|
|
26
|
+
const section = structuredClone(sliceSectionAt(tree, { heading, index, parent: parent }));
|
|
23
27
|
if (select.includeChildren === false) {
|
|
24
28
|
const end = section.children.findIndex((n, i) => i > 0 && n.type === "heading");
|
|
25
29
|
if (end >= 0)
|
package/dist/sections.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EACL,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"sections.js","sourceRoot":"","sources":["../src/sections.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cudoment/cudoc",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "Document ASTs for documentation sites: Markdown compilation and syntax normalization, cross-document embedding, reference checking, datasets and the cudoc CLI.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cudoc",
|
|
7
7
|
"mdast",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"ast",
|
|
11
11
|
"documentation"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/cudoment/cudoc
|
|
13
|
+
"homepage": "https://github.com/cudoment/cudoc#readme",
|
|
14
14
|
"bugs": {
|
|
15
15
|
"url": "https://github.com/cudoment/cudoc/issues"
|
|
16
16
|
},
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
"types": "./dist/ast.d.ts",
|
|
37
37
|
"default": "./dist/ast.js"
|
|
38
38
|
},
|
|
39
|
+
"./paged": {
|
|
40
|
+
"types": "./dist/paged.d.ts",
|
|
41
|
+
"default": "./dist/paged.js"
|
|
42
|
+
},
|
|
39
43
|
"./syntax": {
|
|
40
44
|
"types": "./dist/syntax.d.ts",
|
|
41
45
|
"default": "./dist/syntax.js"
|
|
@@ -64,9 +68,17 @@
|
|
|
64
68
|
"types": "./dist/node/paths.d.ts",
|
|
65
69
|
"default": "./dist/node/paths.js"
|
|
66
70
|
},
|
|
67
|
-
"./
|
|
68
|
-
"types": "./dist/
|
|
69
|
-
"default": "./dist/
|
|
71
|
+
"./node/roots": {
|
|
72
|
+
"types": "./dist/node/roots.d.ts",
|
|
73
|
+
"default": "./dist/node/roots.js"
|
|
74
|
+
},
|
|
75
|
+
"./transforms/table-cell-list": {
|
|
76
|
+
"types": "./dist/internal/transforms/table-cell-list/index.d.ts",
|
|
77
|
+
"default": "./dist/internal/transforms/table-cell-list/index.js"
|
|
78
|
+
},
|
|
79
|
+
"./transforms/table-column-layout": {
|
|
80
|
+
"types": "./dist/internal/transforms/table-column-layout/index.d.ts",
|
|
81
|
+
"default": "./dist/internal/transforms/table-column-layout/index.js"
|
|
70
82
|
},
|
|
71
83
|
"./document": {
|
|
72
84
|
"types": "./dist/document.d.ts",
|
|
@@ -120,7 +132,12 @@
|
|
|
120
132
|
"types": "./dist/node/prepare-embeds.d.ts",
|
|
121
133
|
"default": "./dist/node/prepare-embeds.js"
|
|
122
134
|
},
|
|
123
|
-
"./
|
|
135
|
+
"./node/watch": {
|
|
136
|
+
"types": "./dist/node/watch.d.ts",
|
|
137
|
+
"default": "./dist/node/watch.js"
|
|
138
|
+
},
|
|
139
|
+
"./styles.css": "./styles.css",
|
|
140
|
+
"./package.json": "./package.json"
|
|
124
141
|
},
|
|
125
142
|
"files": [
|
|
126
143
|
"dist",
|
|
@@ -136,9 +153,13 @@
|
|
|
136
153
|
"clean": "rm -rf dist *.tsbuildinfo"
|
|
137
154
|
},
|
|
138
155
|
"dependencies": {
|
|
156
|
+
"@types/hast": "^3.0.4",
|
|
157
|
+
"@types/mdast": "^4.0.4",
|
|
158
|
+
"@types/unist": "^3.0.3",
|
|
139
159
|
"@mdx-js/mdx": "^3.1.1",
|
|
140
160
|
"estree-util-value-to-estree": "^3.5.0",
|
|
141
161
|
"github-slugger": "^2.0.0",
|
|
162
|
+
"acorn": "^8.15.0",
|
|
142
163
|
"hast-util-from-html": "^2.0.3",
|
|
143
164
|
"hast-util-to-html": "^9.0.5",
|
|
144
165
|
"mdast-util-mdx-jsx": "^3.2.0",
|
|
@@ -153,15 +174,7 @@
|
|
|
153
174
|
"vfile": "^6.0.3",
|
|
154
175
|
"yaml": "^2.9.0"
|
|
155
176
|
},
|
|
156
|
-
"peerDependencies": {
|
|
157
|
-
"@types/mdast": "^4.0.4"
|
|
158
|
-
},
|
|
159
|
-
"peerDependenciesMeta": {
|
|
160
|
-
"@types/mdast": {
|
|
161
|
-
"optional": true
|
|
162
|
-
}
|
|
163
|
-
},
|
|
164
177
|
"bin": {
|
|
165
|
-
"cudoc": "
|
|
178
|
+
"cudoc": "dist/node/cli.js"
|
|
166
179
|
}
|
|
167
180
|
}
|
package/styles.css
CHANGED
|
@@ -85,6 +85,9 @@
|
|
|
85
85
|
border-left-color: var(--cudoc-danger);
|
|
86
86
|
background: var(--cudoc-danger-wash);
|
|
87
87
|
}
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
/* An authored page break is invisible on a screen; the paginated exports
|
|
89
|
+
turn it back on and break after it. The `hidden` attribute already does
|
|
90
|
+
this, but a host reset that styles `[hidden]` would otherwise show a gap. */
|
|
91
|
+
.cudoc-page-break {
|
|
92
|
+
display: none;
|
|
90
93
|
}
|