postext-epub 0.49.6 → 0.49.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/package/pack.d.ts.map +1 -1
- package/dist/package/pack.js +2 -1
- package/dist/package/pack.js.map +1 -1
- package/dist/reflowable/css/apparatus.d.ts +17 -0
- package/dist/reflowable/css/apparatus.d.ts.map +1 -0
- package/dist/reflowable/css/apparatus.js +127 -0
- package/dist/reflowable/css/apparatus.js.map +1 -0
- package/dist/reflowable/css/boxes.d.ts +20 -0
- package/dist/reflowable/css/boxes.d.ts.map +1 -0
- package/dist/reflowable/css/boxes.js +134 -0
- package/dist/reflowable/css/boxes.js.map +1 -0
- package/dist/reflowable/css/figures.d.ts +16 -0
- package/dist/reflowable/css/figures.d.ts.map +1 -0
- package/dist/reflowable/css/figures.js +174 -0
- package/dist/reflowable/css/figures.js.map +1 -0
- package/dist/reflowable/css/helpers.d.ts +32 -0
- package/dist/reflowable/css/helpers.d.ts.map +1 -0
- package/dist/reflowable/css/helpers.js +77 -0
- package/dist/reflowable/css/helpers.js.map +1 -0
- package/dist/reflowable/css/text.d.ts +19 -0
- package/dist/reflowable/css/text.d.ts.map +1 -0
- package/dist/reflowable/css/text.js +151 -0
- package/dist/reflowable/css/text.js.map +1 -0
- package/dist/reflowable/css/types.d.ts +46 -0
- package/dist/reflowable/css/types.d.ts.map +1 -0
- package/dist/reflowable/css/types.js +4 -0
- package/dist/reflowable/css/types.js.map +1 -0
- package/dist/reflowable/css/verse.d.ts +18 -0
- package/dist/reflowable/css/verse.d.ts.map +1 -0
- package/dist/reflowable/css/verse.js +126 -0
- package/dist/reflowable/css/verse.js.map +1 -0
- package/dist/reflowable/css.d.ts +4 -52
- package/dist/reflowable/css.d.ts.map +1 -1
- package/dist/reflowable/css.js +24 -736
- package/dist/reflowable/css.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
// The book stylesheet's rules for classical verse, stanzas, line numbers,
|
|
2
|
+
// tab stops, code listings, drop caps and text wrap (#1276: split out of
|
|
3
|
+
// css.ts).
|
|
4
|
+
import { rule } from './helpers.js';
|
|
5
|
+
import { resolvedCodeStyle, dimensionToPx } from 'postext';
|
|
6
|
+
import { round } from '../inline.js';
|
|
7
|
+
export function createVerseRules(deps) {
|
|
8
|
+
const { config, options, dpi, body, bodyPx, fam, em, lh, color, px, out } = deps;
|
|
9
|
+
// --- classical verse -----------------------------------------------------
|
|
10
|
+
// A bayt is a row of two equal hemistich columns (and the ornament's,
|
|
11
|
+
// empty without one): the ṣadr from the start side, the ʿajuz flush
|
|
12
|
+
// with the end side, so the rhymes stand in one column as in print. On
|
|
13
|
+
// a narrow screen the two halves stagger, the ʿajuz on its own line
|
|
14
|
+
// flush with the end, as the print does when they do not fit.
|
|
15
|
+
// A stanza set line by line (#620): its lines of verse, a blank line
|
|
16
|
+
// between stanzas, never hyphenated; each line's hang is on its own
|
|
17
|
+
// element.
|
|
18
|
+
if (options.stanzas) {
|
|
19
|
+
out.push(rule('.pt-stanza', ['margin: 0 0 1em', 'text-indent: 0', 'text-align: start', 'hyphens: manual']));
|
|
20
|
+
out.push(rule('.pt-verse-line', ['display: block']));
|
|
21
|
+
}
|
|
22
|
+
// Line numbers (#621): a poem's every Nth line carries its number in a
|
|
23
|
+
// margin on the start side of the stanza, out of the reading order.
|
|
24
|
+
if (options.stanzas && options.lineNumbers) {
|
|
25
|
+
out.push(rule('.pt-stanza', ['padding-left: 3em']));
|
|
26
|
+
out.push(rule('.pt-verse-line', ['position: relative']));
|
|
27
|
+
out.push(rule('.pt-line-number', [
|
|
28
|
+
'position: absolute', 'right: 100%', 'margin-right: 0.8em', 'text-indent: 0', 'font-size: 0.8em',
|
|
29
|
+
'white-space: nowrap', '-webkit-user-select: none', 'user-select: none',
|
|
30
|
+
]));
|
|
31
|
+
out.push(rule('[dir="rtl"] .pt-stanza, .pt-stanza[dir="rtl"]', ['padding-left: 0', 'padding-right: 3em']));
|
|
32
|
+
out.push(rule('[dir="rtl"] .pt-line-number, .pt-stanza[dir="rtl"] .pt-line-number', ['right: auto', 'left: 100%', 'margin-right: 0', 'margin-left: 0.8em']));
|
|
33
|
+
}
|
|
34
|
+
// Tab stops (#622): a line holding tabs is a row of its parts; a filler
|
|
35
|
+
// (with its leader as a border on the baseline) pushes the part after it
|
|
36
|
+
// to the row's end, a start stop's part keeps its printed width.
|
|
37
|
+
if (options.tabs) {
|
|
38
|
+
out.push(rule('.pt-tab-row', ['display: flex', 'align-items: baseline', 'text-indent: 0']));
|
|
39
|
+
out.push(rule('.pt-tab-part', ['flex: 0 1 auto']));
|
|
40
|
+
out.push(rule('.pt-tab-rest', ['flex: 1 1 0']));
|
|
41
|
+
out.push(rule('.pt-tab-fill', ['flex: 1 1 auto', 'min-width: 1em', 'margin: 0 0.5em']));
|
|
42
|
+
out.push(rule('.pt-tab-gap', ['flex: 0 0 0.5em']));
|
|
43
|
+
out.push(rule('.pt-leader-dots', ['border-bottom: 0.12em dotted currentColor']));
|
|
44
|
+
out.push(rule('.pt-leader-rule', ['border-bottom: 0.06em solid currentColor']));
|
|
45
|
+
}
|
|
46
|
+
// Code listings (#624): the box of `codeStyle` around `<pre><code>`, the
|
|
47
|
+
// lines as written in the code face, turned over by the reading system
|
|
48
|
+
// when the screen is narrow (`pre-wrap`); numbers and wrap left out of a
|
|
49
|
+
// selection; the highlighted lines tinted.
|
|
50
|
+
if (options.code) {
|
|
51
|
+
const cs = resolvedCodeStyle(config);
|
|
52
|
+
const codePx = dimensionToPx(cs.fontSize, dpi, bodyPx);
|
|
53
|
+
const bodyLead = body.lineHeight.unit === 'em' || body.lineHeight.unit === 'rem' ? body.lineHeight.value * bodyPx : px(body.lineHeight);
|
|
54
|
+
const codeLead = cs.lineHeight ? lh(cs.lineHeight, codePx) : `line-height: ${round(bodyLead / codePx)}`;
|
|
55
|
+
const len = (d) => em(d, codePx);
|
|
56
|
+
out.push(rule('.pt-code-box', [
|
|
57
|
+
'display: block',
|
|
58
|
+
`margin: ${em(cs.marginTop, codePx)} 0 ${em(cs.marginBottom, codePx)}`,
|
|
59
|
+
`font-size: ${round(codePx / bodyPx)}em`,
|
|
60
|
+
cs.backgroundEnabled && color(cs.background, 'background-color'),
|
|
61
|
+
cs.border.enabled && `border: ${round(px(cs.border.width) / codePx)}em solid ${cs.border.color.hex}`,
|
|
62
|
+
px(cs.borderRadius, codePx) > 0 && `border-radius: ${len(cs.borderRadius)}`,
|
|
63
|
+
`padding: ${len(cs.padding.top)} ${len(cs.padding.right)} ${len(cs.padding.bottom)} ${len(cs.padding.left)}`,
|
|
64
|
+
'text-indent: 0',
|
|
65
|
+
]));
|
|
66
|
+
out.push(rule('.pt-code-title', [fam(cs.titleStyle?.fontFamily ?? cs.fontFamily), 'font-weight: bold', 'margin: 0 0 0.4em', 'text-indent: 0']));
|
|
67
|
+
out.push(rule('pre.pt-code', [
|
|
68
|
+
fam(cs.fontFamily), 'font-size: 1em', codeLead, 'margin: 0', color(cs.color),
|
|
69
|
+
'white-space: pre-wrap', 'overflow-wrap: anywhere', `tab-size: ${cs.tabSize}`, `-moz-tab-size: ${cs.tabSize}`,
|
|
70
|
+
'text-align: left', 'hyphens: none',
|
|
71
|
+
]));
|
|
72
|
+
out.push(rule('pre.pt-code code', ['font: inherit', 'background: none']));
|
|
73
|
+
out.push(rule('.pt-code-num', [color(cs.lineNumberColor), 'margin-right: 1em', '-webkit-user-select: none', 'user-select: none']));
|
|
74
|
+
out.push(rule('mark.pt-code-hl', [color(cs.highlightBackground, 'background-color'), 'color: inherit']));
|
|
75
|
+
}
|
|
76
|
+
// Drop caps (#623): CSS initial letters, `lines` tall, sunk `sink`
|
|
77
|
+
// lines; a reading system without `initial-letter` floats the letter,
|
|
78
|
+
// about as tall, on the start side.
|
|
79
|
+
if (options.dropCaps && options.dropCaps.length > 0) {
|
|
80
|
+
out.push(rule('.pt-has-dropcap', ['text-indent: 0']));
|
|
81
|
+
out.push(rule('.pt-dropcap', ['float: left', 'line-height: 0.85', 'margin: 0.05em 0.08em 0 0', 'text-indent: 0']));
|
|
82
|
+
out.push(rule('[dir="rtl"] .pt-dropcap, p[dir="rtl"] .pt-dropcap', ['float: right', 'margin: 0.05em 0 0 0.08em']));
|
|
83
|
+
for (const shape of options.dropCaps) {
|
|
84
|
+
const [lines, sink] = shape.split('-').map(Number);
|
|
85
|
+
out.push(rule(`.pt-dropcap-${shape}`, [`font-size: ${round(lines * 1.25)}em`]));
|
|
86
|
+
out.push(`@supports (initial-letter: 1) or (-webkit-initial-letter: 1) {\n .pt-dropcap-${shape} { float: none; margin: 0 0.08em 0 0; font-size: 1em; line-height: inherit; -webkit-initial-letter: ${lines} ${sink}; initial-letter: ${lines} ${sink}; }\n}\n`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
// Text wrap (#627): a figure or a box floated to its side; what cannot
|
|
90
|
+
// run beside it in print (headings, other figures, tables, boxes,
|
|
91
|
+
// formulas, poems) clears it.
|
|
92
|
+
if (options.wraps) {
|
|
93
|
+
out.push(rule('.pt-wrap', ['margin-top: 0', 'margin-bottom: 1em']));
|
|
94
|
+
out.push(rule('.pt-wrap-left', ['float: left', 'clear: left']));
|
|
95
|
+
out.push(rule('.pt-wrap-right', ['float: right', 'clear: right']));
|
|
96
|
+
out.push(rule('.pt-wrap img', ['max-width: 100%', 'height: auto']));
|
|
97
|
+
out.push(rule('h1, h2, h3, h4, h5, h6, figure:not(.pt-wrap), table, aside:not(.pt-wrap), .pt-math-display, .pt-stanza, .pt-verse', ['clear: both']));
|
|
98
|
+
}
|
|
99
|
+
if (options.verse) {
|
|
100
|
+
// The poem as wide as its widest bayt, centred: its hemistichs share
|
|
101
|
+
// one width, as in print, instead of drifting to the screen's edges.
|
|
102
|
+
out.push(rule('.pt-verse', ['width: fit-content', 'max-width: 100%', 'margin: 0.5em auto', 'text-indent: 0']));
|
|
103
|
+
out.push(rule('.pt-bayt', [
|
|
104
|
+
'display: grid',
|
|
105
|
+
'grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr)',
|
|
106
|
+
'column-gap: 1em',
|
|
107
|
+
'margin: 0',
|
|
108
|
+
'text-indent: 0',
|
|
109
|
+
'text-align: start',
|
|
110
|
+
'hyphens: manual',
|
|
111
|
+
'page-break-inside: avoid',
|
|
112
|
+
'break-inside: avoid',
|
|
113
|
+
]));
|
|
114
|
+
out.push(rule('.pt-sadr', ['grid-column: 1', 'text-align: start']));
|
|
115
|
+
out.push(rule('.pt-verse-ornament', ['grid-column: 2', 'text-align: center']));
|
|
116
|
+
out.push(rule('.pt-ajuz', ['grid-column: 3', 'text-align: end']));
|
|
117
|
+
out.push(rule('.pt-bayt-single .pt-sadr', ['grid-column: 1 / -1', 'text-align: center']));
|
|
118
|
+
out.push('@media (max-width: 30em) {\n' +
|
|
119
|
+
' .pt-bayt { display: block; }\n' +
|
|
120
|
+
' .pt-sadr, .pt-ajuz { display: block; }\n' +
|
|
121
|
+
' .pt-verse-ornament { display: none; }\n' +
|
|
122
|
+
'}\n');
|
|
123
|
+
}
|
|
124
|
+
return {};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=verse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verse.js","sourceRoot":"","sources":["../../../src/reflowable/css/verse.ts"],"names":[],"mappings":"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"}
|
package/dist/reflowable/css.d.ts
CHANGED
|
@@ -1,55 +1,7 @@
|
|
|
1
|
-
import type
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
vertical: boolean;
|
|
6
|
-
/** The book sets a `:::verse` poem (its rules are written only then). */
|
|
7
|
-
verse?: boolean;
|
|
8
|
-
/** The book sets a poem line by line (#620): the stanza rules. */
|
|
9
|
-
stanzas?: boolean;
|
|
10
|
-
/** Lines of verse carry their numbers (#621): the margin they stand in. */
|
|
11
|
-
lineNumbers?: boolean;
|
|
12
|
-
/** A line holds a tab at its stop (#622): the tab rows. */
|
|
13
|
-
tabs?: boolean;
|
|
14
|
-
/** The book sets a code listing (#624): the listing's box and lines. */
|
|
15
|
-
code?: boolean;
|
|
16
|
-
/** The drop caps the paragraphs open with (#623), as `lines-sink`. */
|
|
17
|
-
dropCaps?: readonly string[];
|
|
18
|
-
/** A figure or a box text wraps round (#627): the float rules. */
|
|
19
|
-
wraps?: boolean;
|
|
20
|
-
/** A picture carries its labels drawn over it (#955): the box and the
|
|
21
|
-
* layer they are drawn in. */
|
|
22
|
-
labelLayers?: boolean;
|
|
23
|
-
/** Classes of emphasis marks the text uses beyond `pt-dots` (the
|
|
24
|
-
* filled dot on the default side): their rules are written only then
|
|
25
|
-
* (`inline.ts` `dotsClasses`, #428). */
|
|
26
|
-
dots?: readonly string[];
|
|
27
|
-
/** The book sets composed pages (#862): the frame rules, and the
|
|
28
|
-
* callout styles their frames are set in (their boxes are styled on a
|
|
29
|
-
* frame's block too). */
|
|
30
|
-
composed?: {
|
|
31
|
-
frameStyles: readonly string[];
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** A family as a CSS value: the family quoted, then a generic fallback. A
|
|
35
|
-
* feature family (#1237, `Lora@onum`) is its base family's. */
|
|
36
|
-
export declare function familyStack(family: string): string;
|
|
37
|
-
/** The family names the stylesheet asks for (to warn about missing
|
|
38
|
-
* faces). */
|
|
39
|
-
export declare function familyName(family: string): string;
|
|
40
|
-
/** A rule of the stylesheet: its selector and declarations
|
|
41
|
-
* (`property: value`). */
|
|
42
|
-
export interface CssRule {
|
|
43
|
-
selector: string;
|
|
44
|
-
decls: string[];
|
|
45
|
-
}
|
|
46
|
-
/** The book's stylesheet: its text, the families it names, and its rules
|
|
47
|
-
* (at-rules aside), which {@link stylesheetOverrides} compares. */
|
|
48
|
-
export interface Stylesheet {
|
|
49
|
-
css: string;
|
|
50
|
-
families: Set<string>;
|
|
51
|
-
rules: CssRule[];
|
|
52
|
-
}
|
|
1
|
+
import { type ResolvedConfig } from 'postext';
|
|
2
|
+
import type { StylesheetOptions, Stylesheet, CssRule } from './css/types.js';
|
|
3
|
+
export type { StylesheetOptions, CssRule, Stylesheet } from './css/types.js';
|
|
4
|
+
export { familyStack, familyName } from './css/helpers.js';
|
|
53
5
|
export declare function bookStylesheet(config: ResolvedConfig, fontFaces: string, options: StylesheetOptions): Stylesheet;
|
|
54
6
|
/**
|
|
55
7
|
* What a chapter's stylesheet changes in the book's (`base`): each rule of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/reflowable/css.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"css.d.ts","sourceRoot":"","sources":["../../src/reflowable/css.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAA6G,MAAM,SAAS,CAAC;AAGzJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAO7E,YAAY,EAAE,iBAAiB,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE3D,wBAAgB,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,UAAU,CAgEhH;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,OAAO,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CA2BjG;AAED;;;mEAGmE;AACnE,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,GAAG,cAAc,CAqB3H"}
|