@vivliostyle/cli 9.0.0-next.3 → 9.0.0-next.4

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.
Files changed (186) hide show
  1. package/dist/chunk-BIEQXUOY.js +50 -0
  2. package/dist/chunk-DMARNPN5.js +1073 -0
  3. package/dist/chunk-DMGAKSPH.js +590 -0
  4. package/dist/{core/init.js → chunk-E7QOXL6M.js} +39 -27
  5. package/dist/chunk-EX7EA34F.js +64 -0
  6. package/dist/chunk-LASMQBPP.js +85 -0
  7. package/dist/chunk-QC3BOE2G.js +74 -0
  8. package/dist/chunk-VBEHGS67.js +4990 -0
  9. package/dist/chunk-WX6JHPSL.js +16 -0
  10. package/dist/chunk-Y3ETBU5J.js +54 -0
  11. package/dist/cli.d.ts +0 -2
  12. package/dist/cli.js +17 -18
  13. package/dist/commands/build.d.ts +2 -2
  14. package/dist/commands/build.js +165 -17
  15. package/dist/commands/init.d.ts +2 -2
  16. package/dist/commands/init.js +35 -12
  17. package/dist/commands/preview.d.ts +2 -2
  18. package/dist/commands/preview.js +98 -12
  19. package/dist/config/schema.d.ts +2332 -2325
  20. package/dist/config/schema.js +50 -588
  21. package/dist/index.d.ts +116 -7
  22. package/dist/index.js +38 -42
  23. package/dist/node-modules.d.ts +21 -0
  24. package/dist/node-modules.js +9 -0
  25. package/dist/vite-adapter.d.ts +8 -2
  26. package/dist/vite-adapter.js +11 -43
  27. package/package.json +32 -13
  28. package/dist/browser.d.ts +0 -19
  29. package/dist/browser.d.ts.map +0 -1
  30. package/dist/browser.js +0 -154
  31. package/dist/browser.js.map +0 -1
  32. package/dist/cli.d.ts.map +0 -1
  33. package/dist/cli.js.map +0 -1
  34. package/dist/commands/build.d.ts.map +0 -1
  35. package/dist/commands/build.js.map +0 -1
  36. package/dist/commands/build.parser.d.ts +0 -3
  37. package/dist/commands/build.parser.d.ts.map +0 -1
  38. package/dist/commands/build.parser.js +0 -104
  39. package/dist/commands/build.parser.js.map +0 -1
  40. package/dist/commands/cli-flags.d.ts +0 -42
  41. package/dist/commands/cli-flags.d.ts.map +0 -1
  42. package/dist/commands/cli-flags.js +0 -58
  43. package/dist/commands/cli-flags.js.map +0 -1
  44. package/dist/commands/init.d.ts.map +0 -1
  45. package/dist/commands/init.js.map +0 -1
  46. package/dist/commands/init.parser.d.ts +0 -3
  47. package/dist/commands/init.parser.d.ts.map +0 -1
  48. package/dist/commands/init.parser.js +0 -17
  49. package/dist/commands/init.parser.js.map +0 -1
  50. package/dist/commands/preview.d.ts.map +0 -1
  51. package/dist/commands/preview.js.map +0 -1
  52. package/dist/commands/preview.parser.d.ts +0 -3
  53. package/dist/commands/preview.parser.d.ts.map +0 -1
  54. package/dist/commands/preview.parser.js +0 -52
  55. package/dist/commands/preview.parser.js.map +0 -1
  56. package/dist/config/load.d.ts +0 -4
  57. package/dist/config/load.d.ts.map +0 -1
  58. package/dist/config/load.js +0 -75
  59. package/dist/config/load.js.map +0 -1
  60. package/dist/config/merge.d.ts +0 -4
  61. package/dist/config/merge.d.ts.map +0 -1
  62. package/dist/config/merge.js +0 -59
  63. package/dist/config/merge.js.map +0 -1
  64. package/dist/config/resolve.d.ts +0 -205
  65. package/dist/config/resolve.d.ts.map +0 -1
  66. package/dist/config/resolve.js +0 -770
  67. package/dist/config/resolve.js.map +0 -1
  68. package/dist/config/schema.d.ts.map +0 -1
  69. package/dist/config/schema.js.map +0 -1
  70. package/dist/config/vite.d.ts +0 -6
  71. package/dist/config/vite.d.ts.map +0 -1
  72. package/dist/config/vite.js +0 -49
  73. package/dist/config/vite.js.map +0 -1
  74. package/dist/const.d.ts +0 -20
  75. package/dist/const.d.ts.map +0 -1
  76. package/dist/const.js +0 -41
  77. package/dist/const.js.map +0 -1
  78. package/dist/container.d.ts +0 -21
  79. package/dist/container.d.ts.map +0 -1
  80. package/dist/container.js +0 -175
  81. package/dist/container.js.map +0 -1
  82. package/dist/core/build.d.ts +0 -3
  83. package/dist/core/build.d.ts.map +0 -1
  84. package/dist/core/build.js +0 -168
  85. package/dist/core/build.js.map +0 -1
  86. package/dist/core/init.d.ts +0 -3
  87. package/dist/core/init.d.ts.map +0 -1
  88. package/dist/core/init.js.map +0 -1
  89. package/dist/core/preview.d.ts +0 -4
  90. package/dist/core/preview.d.ts.map +0 -1
  91. package/dist/core/preview.js +0 -114
  92. package/dist/core/preview.js.map +0 -1
  93. package/dist/index.d.ts.map +0 -1
  94. package/dist/index.js.map +0 -1
  95. package/dist/logger.d.ts +0 -30
  96. package/dist/logger.d.ts.map +0 -1
  97. package/dist/logger.js +0 -172
  98. package/dist/logger.js.map +0 -1
  99. package/dist/output/epub.d.ts +0 -10
  100. package/dist/output/epub.d.ts.map +0 -1
  101. package/dist/output/epub.js +0 -505
  102. package/dist/output/epub.js.map +0 -1
  103. package/dist/output/pdf-postprocess.d.ts +0 -30
  104. package/dist/output/pdf-postprocess.d.ts.map +0 -1
  105. package/dist/output/pdf-postprocess.js +0 -270
  106. package/dist/output/pdf-postprocess.js.map +0 -1
  107. package/dist/output/pdf.d.ts +0 -6
  108. package/dist/output/pdf.d.ts.map +0 -1
  109. package/dist/output/pdf.js +0 -200
  110. package/dist/output/pdf.js.map +0 -1
  111. package/dist/output/webbook.d.ts +0 -45
  112. package/dist/output/webbook.d.ts.map +0 -1
  113. package/dist/output/webbook.js +0 -413
  114. package/dist/output/webbook.js.map +0 -1
  115. package/dist/processor/compile.d.ts +0 -30
  116. package/dist/processor/compile.d.ts.map +0 -1
  117. package/dist/processor/compile.js +0 -348
  118. package/dist/processor/compile.js.map +0 -1
  119. package/dist/processor/html.d.ts +0 -107
  120. package/dist/processor/html.d.ts.map +0 -1
  121. package/dist/processor/html.js +0 -494
  122. package/dist/processor/html.js.map +0 -1
  123. package/dist/processor/markdown.d.ts +0 -12
  124. package/dist/processor/markdown.d.ts.map +0 -1
  125. package/dist/processor/markdown.js +0 -23
  126. package/dist/processor/markdown.js.map +0 -1
  127. package/dist/processor/theme.d.ts +0 -4
  128. package/dist/processor/theme.d.ts.map +0 -1
  129. package/dist/processor/theme.js +0 -41
  130. package/dist/processor/theme.js.map +0 -1
  131. package/dist/schema/pub-manifest.d.ts +0 -4
  132. package/dist/schema/pub-manifest.d.ts.map +0 -1
  133. package/dist/schema/pub-manifest.js +0 -41
  134. package/dist/schema/pub-manifest.js.map +0 -1
  135. package/dist/schema/publication.schema.d.ts +0 -104
  136. package/dist/schema/publication.schema.d.ts.map +0 -1
  137. package/dist/schema/publication.schema.js +0 -8
  138. package/dist/schema/publication.schema.js.map +0 -1
  139. package/dist/server.d.ts +0 -20
  140. package/dist/server.d.ts.map +0 -1
  141. package/dist/server.js +0 -126
  142. package/dist/server.js.map +0 -1
  143. package/dist/util.d.ts +0 -55
  144. package/dist/util.d.ts.map +0 -1
  145. package/dist/util.js +0 -274
  146. package/dist/util.js.map +0 -1
  147. package/dist/vite/plugin-util.d.ts +0 -6
  148. package/dist/vite/plugin-util.d.ts.map +0 -1
  149. package/dist/vite/plugin-util.js +0 -18
  150. package/dist/vite/plugin-util.js.map +0 -1
  151. package/dist/vite/vite-plugin-browser.d.ts +0 -8
  152. package/dist/vite/vite-plugin-browser.d.ts.map +0 -1
  153. package/dist/vite/vite-plugin-browser.js +0 -54
  154. package/dist/vite/vite-plugin-browser.js.map +0 -1
  155. package/dist/vite/vite-plugin-dev-server.d.ts +0 -8
  156. package/dist/vite/vite-plugin-dev-server.d.ts.map +0 -1
  157. package/dist/vite/vite-plugin-dev-server.js +0 -270
  158. package/dist/vite/vite-plugin-dev-server.js.map +0 -1
  159. package/dist/vite/vite-plugin-static-serve.d.ts +0 -8
  160. package/dist/vite/vite-plugin-static-serve.d.ts.map +0 -1
  161. package/dist/vite/vite-plugin-static-serve.js +0 -31
  162. package/dist/vite/vite-plugin-static-serve.js.map +0 -1
  163. package/dist/vite/vite-plugin-viewer.d.ts +0 -8
  164. package/dist/vite/vite-plugin-viewer.d.ts.map +0 -1
  165. package/dist/vite/vite-plugin-viewer.js +0 -52
  166. package/dist/vite/vite-plugin-viewer.js.map +0 -1
  167. package/dist/vite-adapter.d.ts.map +0 -1
  168. package/dist/vite-adapter.js.map +0 -1
  169. package/schemas/pub-manifest/README.md +0 -5
  170. package/schemas/pub-manifest/module/ItemList.schema.json +0 -32
  171. package/schemas/pub-manifest/module/bcp.schema.json +0 -7
  172. package/schemas/pub-manifest/module/context.schema.json +0 -62
  173. package/schemas/pub-manifest/module/contributor-object.schema.json +0 -42
  174. package/schemas/pub-manifest/module/contributor.schema.json +0 -26
  175. package/schemas/pub-manifest/module/date.schema.json +0 -7
  176. package/schemas/pub-manifest/module/duration.schema.json +0 -7
  177. package/schemas/pub-manifest/module/item-lists.schema.json +0 -16
  178. package/schemas/pub-manifest/module/language.schema.json +0 -16
  179. package/schemas/pub-manifest/module/link.schema.json +0 -60
  180. package/schemas/pub-manifest/module/localizable-object.schema.json +0 -15
  181. package/schemas/pub-manifest/module/localizable.schema.json +0 -26
  182. package/schemas/pub-manifest/module/resource.categorization.schema.json +0 -31
  183. package/schemas/pub-manifest/module/strings.schema.json +0 -9
  184. package/schemas/pub-manifest/module/url.schema.json +0 -7
  185. package/schemas/pub-manifest/module/urls.schema.json +0 -18
  186. package/schemas/pub-manifest/publication.schema.json +0 -123
@@ -1,494 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "hastscript/jsx-runtime";
2
- import jsdom, { ResourceLoader as BaseResourceLoader, JSDOM, } from '@vivliostyle/jsdom';
3
- import DOMPurify from 'dompurify';
4
- import { toHtml } from 'hast-util-to-html';
5
- import { fileURLToPath, pathToFileURL } from 'node:url';
6
- import upath from 'upath';
7
- import MIMEType from 'whatwg-mimetype';
8
- import { Logger } from '../logger.js';
9
- import { decodePublicationManifest } from '../output/webbook.js';
10
- import { DetailError, assertPubManifestSchema, isValidUri, writeFileIfChanged, } from '../util.js';
11
- export const createVirtualConsole = (onError) => {
12
- const virtualConsole = new jsdom.VirtualConsole();
13
- /* v8 ignore start */
14
- virtualConsole.on('error', (message) => {
15
- Logger.debug('[JSDOM Console] error:', message);
16
- });
17
- virtualConsole.on('warn', (message) => {
18
- Logger.debug('[JSDOM Console] warn:', message);
19
- });
20
- virtualConsole.on('log', (message) => {
21
- Logger.debug('[JSDOM Console] log:', message);
22
- });
23
- virtualConsole.on('info', (message) => {
24
- Logger.debug('[JSDOM Console] info:', message);
25
- });
26
- virtualConsole.on('dir', (message) => {
27
- Logger.debug('[JSDOM Console] dir:', message);
28
- });
29
- virtualConsole.on('jsdomError', (error) => {
30
- // Most of CSS using Paged media will be failed to run CSS parser of JSDOM.
31
- // We just ignore it because we don't use CSS parse results.
32
- // https://github.com/jsdom/jsdom/blob/a39e0ec4ce9a8806692d986a7ed0cd565ec7498a/lib/jsdom/living/helpers/stylesheets.js#L33-L44
33
- // see also: https://github.com/jsdom/jsdom/issues/2005
34
- if (error.message === 'Could not parse CSS stylesheet') {
35
- return;
36
- }
37
- onError(new DetailError('Error occurred when loading content', error.stack ?? error.message));
38
- });
39
- /* v8 ignore stop */
40
- return virtualConsole;
41
- };
42
- export const htmlPurify = DOMPurify(new JSDOM('').window);
43
- export class ResourceLoader extends BaseResourceLoader {
44
- fetcherMap = new Map();
45
- fetch(url, options) {
46
- Logger.debug(`[JSDOM] Fetching resource: ${url}`);
47
- const fetcher = super.fetch(url, options);
48
- if (fetcher) {
49
- this.fetcherMap.set(url, fetcher);
50
- }
51
- return fetcher;
52
- }
53
- static async saveFetchedResources({ fetcherMap, rootUrl, outputDir, onError, }) {
54
- const rootHref = /^https?:/i.test(new URL(rootUrl).protocol)
55
- ? new URL('/', rootUrl).href
56
- : new URL('.', rootUrl).href;
57
- const normalizeToLocalPath = (urlString, mimeType) => {
58
- let url = new URL(urlString);
59
- url.hash = '';
60
- if (mimeType === 'text/html' && !/\.html?$/.test(url.pathname)) {
61
- url.pathname = `${url.pathname.replace(/\/$/, '')}/index.html`;
62
- }
63
- let relTarget = upath.relative(rootHref, url.href);
64
- return decodeURI(relTarget);
65
- };
66
- const fetchedResources = [];
67
- await Promise.allSettled([...fetcherMap.entries()].flatMap(async ([url, fetcher]) => {
68
- if (!url.startsWith(rootHref)) {
69
- return [];
70
- }
71
- return (fetcher
72
- .then(async (buffer) => {
73
- let encodingFormat;
74
- try {
75
- const contentType = fetcher.response?.headers['content-type'];
76
- if (contentType) {
77
- encodingFormat = new MIMEType(contentType).essence;
78
- }
79
- /* v8 ignore next 3 */
80
- }
81
- catch (e) {
82
- /* NOOP */
83
- }
84
- const relTarget = normalizeToLocalPath(url, encodingFormat);
85
- const target = upath.join(outputDir, relTarget);
86
- fetchedResources.push({ url: relTarget, encodingFormat });
87
- writeFileIfChanged(target, buffer);
88
- })
89
- /* v8 ignore next */
90
- .catch(onError));
91
- }));
92
- return fetchedResources;
93
- }
94
- }
95
- export async function getJsdomFromUrlOrFile({ src, resourceLoader, virtualConsole = createVirtualConsole((error) => {
96
- throw error;
97
- }), }) {
98
- const url = isValidUri(src) ? new URL(src) : pathToFileURL(src);
99
- let dom;
100
- if (url.protocol === 'http:' || url.protocol === 'https:') {
101
- dom = await JSDOM.fromURL(src, {
102
- virtualConsole,
103
- resources: resourceLoader,
104
- });
105
- }
106
- else if (url.protocol === 'file:') {
107
- if (resourceLoader) {
108
- const file = resourceLoader._readFile(fileURLToPath(url));
109
- resourceLoader.fetcherMap.set(url.href, file);
110
- }
111
- dom = await JSDOM.fromFile(fileURLToPath(url), {
112
- virtualConsole,
113
- resources: resourceLoader,
114
- contentType: 'text/html; charset=UTF-8',
115
- });
116
- }
117
- else {
118
- throw new Error(`Unsupported protocol: ${url.protocol}`);
119
- }
120
- return dom;
121
- }
122
- export function getJsdomFromString({ html, virtualConsole = createVirtualConsole((error) => {
123
- throw error;
124
- }), }) {
125
- return new JSDOM(html, {
126
- virtualConsole,
127
- });
128
- }
129
- export async function getStructuredSectionFromHtml(htmlPath, href) {
130
- const dom = await getJsdomFromUrlOrFile({ src: htmlPath });
131
- const { document } = dom.window;
132
- const allHeadings = [...document.querySelectorAll('h1, h2, h3, h4, h5, h6')]
133
- .filter((el) => {
134
- // Exclude headings contained by blockquote
135
- // TODO: Make customizable
136
- return !el.matches('blockquote *');
137
- })
138
- .sort((a, b) => {
139
- const position = a.compareDocumentPosition(b);
140
- return position & 2 /* DOCUMENT_POSITION_PRECEDING */
141
- ? 1
142
- : position & 4 /* DOCUMENT_POSITION_FOLLOWING */
143
- ? -1
144
- : 0;
145
- });
146
- function traverse(headers) {
147
- if (headers.length === 0) {
148
- return [];
149
- }
150
- const [head, ...tail] = headers;
151
- const section = head.parentElement;
152
- const id = head.id || section.id;
153
- const level = Number(head.tagName.slice(1));
154
- let i = tail.findIndex((s) => Number(s.tagName.slice(1)) <= level);
155
- i = i === -1 ? tail.length : i;
156
- return [
157
- {
158
- headingHtml: htmlPurify.sanitize(head.innerHTML),
159
- headingText: head.textContent?.trim().replace(/\s+/g, ' ') || '',
160
- level,
161
- ...(href && id && { href: `${href}#${encodeURIComponent(id)}` }),
162
- ...(id && { id }),
163
- children: traverse(tail.slice(0, i)),
164
- },
165
- ...traverse(tail.slice(i)),
166
- ];
167
- }
168
- return traverse(allHeadings);
169
- }
170
- const getTocHtmlStyle = ({ pageBreakBefore, pageCounterReset, }) => {
171
- if (!pageBreakBefore && typeof pageCounterReset !== 'number') {
172
- return null;
173
- }
174
- return /* css */ `
175
- ${pageBreakBefore
176
- ? `:root {
177
- break-before: ${pageBreakBefore};
178
- }`
179
- : ''}
180
- ${typeof pageCounterReset === 'number'
181
- ? `@page :nth(1) {
182
- counter-reset: page ${Math.floor(pageCounterReset - 1)};
183
- }`
184
- : ''}
185
- `;
186
- };
187
- export const defaultTocTransform = {
188
- transformDocumentList: (nodeList) => (propsList) => {
189
- return (_jsx("ol", { children: nodeList
190
- .map((a, i) => [a, propsList[i]])
191
- .flatMap(([{ href, title, sections }, { children, ...otherProps }]) => {
192
- // don't display the document title if it has only one top-level H1 heading
193
- if (sections?.length === 1 && sections[0].level === 1) {
194
- return [children].flat().flatMap((e) => {
195
- if (e.type === 'element' && e.tagName === 'ol') {
196
- return e.children;
197
- }
198
- return e;
199
- });
200
- }
201
- return (_jsxs("li", { ...otherProps, children: [_jsx("a", { href, children: title }), children] }));
202
- }) }));
203
- },
204
- transformSectionList: (nodeList) => (propsList) => {
205
- return (_jsx("ol", { children: nodeList
206
- .map((a, i) => [a, propsList[i]])
207
- .map(([{ headingHtml, href, level }, { children, ...otherProps }]) => {
208
- const headingContent = {
209
- type: 'raw',
210
- value: headingHtml,
211
- };
212
- return (_jsxs("li", { ...otherProps, "data-section-level": level, children: [href ? (_jsx("a", { href, children: headingContent })) : (_jsx("span", { children: headingContent })), children] }));
213
- }) }));
214
- },
215
- };
216
- export function generateDefaultTocHtml({ language, title, }) {
217
- const toc = (_jsxs("html", { lang: language, children: [_jsxs("head", { children: [_jsx("meta", { charset: "utf-8" }), _jsx("title", { children: title || '' }), _jsx("style", { "data-vv-style": true })] }), _jsxs("body", { children: [_jsx("h1", { children: title || '' }), _jsx("nav", { id: "toc", role: "doc-toc" })] })] }));
218
- return toHtml(toc);
219
- }
220
- export async function generateTocListSection({ entries, distDir, sectionDepth, transform = {}, }) {
221
- const { transformDocumentList = defaultTocTransform.transformDocumentList, transformSectionList = defaultTocTransform.transformSectionList, } = transform;
222
- const structure = await Promise.all(entries.map(async (entry) => {
223
- const href = encodeURI(upath.relative(distDir, entry.target));
224
- const sections = sectionDepth >= 1
225
- ? await getStructuredSectionFromHtml(entry.target, href)
226
- : [];
227
- return {
228
- title: entry.title || upath.basename(entry.target, '.html'),
229
- href: encodeURI(upath.relative(distDir, entry.target)),
230
- sections,
231
- children: [], // TODO
232
- };
233
- }));
234
- const docToc = transformDocumentList(structure)(structure.map((doc) => {
235
- function renderSectionList(sections) {
236
- const nodeList = sections.flatMap((section) => {
237
- if (section.level > sectionDepth) {
238
- return [];
239
- }
240
- return section;
241
- });
242
- if (nodeList.length === 0) {
243
- return [];
244
- }
245
- return transformSectionList(nodeList)(nodeList.map((node) => ({
246
- children: [renderSectionList(node.children || [])].flat(),
247
- })));
248
- }
249
- return {
250
- children: [renderSectionList(doc.sections || [])].flat(),
251
- };
252
- }));
253
- return toHtml(docToc, { allowDangerousHtml: true });
254
- }
255
- export async function processTocHtml(dom, { manifestPath, tocTitle, styleOptions = {}, entries, distDir, sectionDepth, transform, }) {
256
- const { document } = dom.window;
257
- if (!document.querySelector('link[rel="publication"][type="application/ld+json"]')) {
258
- const l = document.createElement('link');
259
- l.setAttribute('rel', 'publication');
260
- l.setAttribute('type', 'application/ld+json');
261
- l.setAttribute('href', encodeURI(upath.relative(distDir, manifestPath)));
262
- document.head.appendChild(l);
263
- }
264
- const style = document.querySelector('style[data-vv-style]');
265
- if (style) {
266
- const textContent = getTocHtmlStyle(styleOptions);
267
- if (textContent) {
268
- style.textContent = textContent;
269
- }
270
- else {
271
- style.remove();
272
- }
273
- }
274
- const nav = document.querySelector('nav, [role="doc-toc"]');
275
- if (nav && !nav.hasChildNodes()) {
276
- const h2 = document.createElement('h2');
277
- h2.textContent = tocTitle;
278
- nav.appendChild(h2);
279
- nav.innerHTML += await generateTocListSection({
280
- entries,
281
- distDir,
282
- sectionDepth,
283
- transform,
284
- });
285
- }
286
- return dom;
287
- }
288
- const getCoverHtmlStyle = ({ pageBreakBefore, }) => /* css */ `
289
- ${pageBreakBefore
290
- ? `:root {
291
- break-before: ${pageBreakBefore};
292
- }`
293
- : ''}
294
- body {
295
- margin: 0;
296
- }
297
- [role="doc-cover"] {
298
- display: block;
299
- width: 100vw;
300
- height: 100vh;
301
- object-fit: contain;
302
- }
303
- @page {
304
- margin: 0;
305
- }
306
- `;
307
- export function generateDefaultCoverHtml({ language, title, }) {
308
- const toc = (_jsxs("html", { lang: language, children: [_jsxs("head", { children: [_jsx("meta", { charset: "utf-8" }), _jsx("title", { children: title || '' }), _jsx("style", { "data-vv-style": true })] }), _jsx("body", { children: _jsx("section", { role: "region", "aria-label": "Cover", children: _jsx("img", { role: "doc-cover" }) }) })] }));
309
- return toHtml(toc);
310
- }
311
- export async function processCoverHtml(dom, { imageSrc, imageAlt, styleOptions = {}, }) {
312
- const { document } = dom.window;
313
- const style = document.querySelector('style[data-vv-style]');
314
- if (style) {
315
- const textContent = getCoverHtmlStyle(styleOptions);
316
- if (textContent) {
317
- style.textContent = textContent;
318
- }
319
- else {
320
- style.remove();
321
- }
322
- }
323
- const cover = document.querySelector('img[role="doc-cover"]');
324
- if (cover && !cover.hasAttribute('src')) {
325
- cover.setAttribute('src', encodeURI(imageSrc));
326
- }
327
- if (cover && !cover.hasAttribute('alt')) {
328
- cover.setAttribute('alt', imageAlt);
329
- }
330
- return dom;
331
- }
332
- export async function processManuscriptHtml(dom, { title, style, contentType, language, }) {
333
- const { document } = dom.window;
334
- if (title) {
335
- if (!document.querySelector('title')) {
336
- const t = document.createElement('title');
337
- document.head.appendChild(t);
338
- }
339
- document.title = title;
340
- }
341
- for (const s of style ?? []) {
342
- const l = document.createElement('link');
343
- l.setAttribute('rel', 'stylesheet');
344
- l.setAttribute('type', 'text/css');
345
- l.setAttribute('href', encodeURI(s));
346
- document.head.appendChild(l);
347
- }
348
- if (language) {
349
- if (contentType === 'application/xhtml+xml') {
350
- if (!document.documentElement.getAttribute('xml:lang')) {
351
- document.documentElement.setAttribute('lang', language);
352
- document.documentElement.setAttribute('xml:lang', language);
353
- }
354
- }
355
- else {
356
- if (!document.documentElement.getAttribute('lang')) {
357
- document.documentElement.setAttribute('lang', language);
358
- }
359
- }
360
- }
361
- return dom;
362
- }
363
- export async function fetchLinkedPublicationManifest({ dom, resourceLoader, baseUrl, }) {
364
- const { document } = dom.window;
365
- const linkEl = document.querySelector('link[href][rel="publication"]');
366
- if (!linkEl) {
367
- return null;
368
- }
369
- const href = linkEl.getAttribute('href').trim();
370
- let manifest;
371
- let manifestUrl = baseUrl;
372
- if (href.startsWith('#')) {
373
- const scriptEl = document.getElementById(href.slice(1));
374
- if (scriptEl?.getAttribute('type') !== 'application/ld+json') {
375
- return null;
376
- }
377
- Logger.debug(`Found embedded publication manifest: ${href}`);
378
- try {
379
- manifest = JSON.parse(scriptEl.innerHTML);
380
- }
381
- catch (error) {
382
- const thrownError = error;
383
- throw new DetailError('Failed to parse manifest data', typeof thrownError.stack);
384
- }
385
- }
386
- else {
387
- Logger.debug(`Found linked publication manifest: ${href}`);
388
- const url = new URL(href, baseUrl);
389
- manifestUrl = url.href;
390
- const buffer = await resourceLoader.fetch(url.href);
391
- if (!buffer) {
392
- throw new Error(`Failed to fetch manifest JSON file: ${url.href}`);
393
- }
394
- const manifestJson = buffer.toString();
395
- try {
396
- manifest = JSON.parse(manifestJson);
397
- }
398
- catch (error) {
399
- const thrownError = error;
400
- throw new DetailError('Failed to parse manifest data', typeof thrownError.stack);
401
- }
402
- }
403
- try {
404
- assertPubManifestSchema(manifest);
405
- }
406
- catch (error) {
407
- Logger.logWarn(`Publication manifest validation failed. Processing continues, but some problems may occur.\n${error}`);
408
- }
409
- return {
410
- manifest: decodePublicationManifest(manifest),
411
- manifestUrl,
412
- };
413
- }
414
- export function parseTocDocument(dom) {
415
- const { document } = dom.window;
416
- const docTocEl = document.querySelectorAll('[role="doc-toc"]');
417
- if (docTocEl.length === 0) {
418
- return null;
419
- }
420
- const tocRoot = docTocEl.item(0);
421
- const parseTocItem = (element) => {
422
- if (element.tagName !== 'LI') {
423
- return null;
424
- }
425
- const label = element.children.item(0);
426
- const ol = element.children.item(1);
427
- if (!label || (label.tagName !== 'A' && label.tagName !== 'SPAN')) {
428
- return null;
429
- }
430
- if (!ol || ol.tagName !== 'OL') {
431
- return { element: element, label: label };
432
- }
433
- const children = Array.from(ol.children).reduce((acc, val) => {
434
- if (!acc) {
435
- return acc;
436
- }
437
- const res = parseTocItem(val);
438
- return res && [...acc, res];
439
- }, []);
440
- return (children && {
441
- element: element,
442
- label: label,
443
- children,
444
- });
445
- };
446
- let heading;
447
- for (let child of Array.from(tocRoot.children)) {
448
- if (child.tagName === 'OL') {
449
- const children = Array.from(child.children).reduce((acc, val) => {
450
- if (!acc) {
451
- return acc;
452
- }
453
- const res = parseTocItem(val);
454
- return res && [...acc, res];
455
- }, []);
456
- return children && { element: tocRoot, heading, children };
457
- }
458
- else if (['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HGROUP'].includes(child.tagName)) {
459
- heading = child;
460
- }
461
- else {
462
- return null;
463
- }
464
- }
465
- return null;
466
- }
467
- export function parsePageListDocument(dom) {
468
- const { document } = dom.window;
469
- const docPageListEl = document.querySelectorAll('[role="doc-pagelist"]');
470
- if (docPageListEl.length === 0) {
471
- return null;
472
- }
473
- const pageListRoot = docPageListEl.item(0);
474
- let heading;
475
- for (let child of Array.from(pageListRoot.children)) {
476
- if (child.tagName === 'OL') {
477
- const children = Array.from(child.children).reduce((acc, element) => {
478
- return (acc &&
479
- (element.tagName === 'LI'
480
- ? [...acc, { element: element }]
481
- : null));
482
- }, []);
483
- return (children && { element: pageListRoot, heading, children });
484
- }
485
- else if (['H1', 'H2', 'H3', 'H4', 'H5', 'H6', 'HGROUP'].includes(child.tagName)) {
486
- heading = child;
487
- }
488
- else {
489
- return null;
490
- }
491
- }
492
- return null;
493
- }
494
- //# sourceMappingURL=html.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"html.js","sourceRoot":"","sources":["../../src/processor/html.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { Metadata, StringifyMarkdownOptions } from '@vivliostyle/vfm';
2
- import { VFile } from 'vfile';
3
- import { DocumentProcessorFactory } from '../config/resolve.js';
4
- export interface VSFile extends VFile {
5
- data: {
6
- title?: string;
7
- theme?: string;
8
- };
9
- }
10
- export declare function processMarkdown(documentProcessorFactory: DocumentProcessorFactory, filepath: string, options?: StringifyMarkdownOptions): Promise<VSFile>;
11
- export declare function readMarkdownMetadata(filepath: string): Metadata;
12
- //# sourceMappingURL=markdown.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/processor/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EAER,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAE1B,OAAc,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,MAAO,SAAQ,KAAK;IACnC,IAAI,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAYD,wBAAsB,eAAe,CACnC,wBAAwB,EAAE,wBAAwB,EAClD,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAE/D"}
@@ -1,23 +0,0 @@
1
- import { readMetadata, } from '@vivliostyle/vfm';
2
- import fs from 'node:fs';
3
- import vfile from 'vfile';
4
- function safeReadMetadata(content) {
5
- // The input assumes VFM format, but errors during metadata extraction
6
- // should be suppressed to allow processing of non-VFM files as well.
7
- try {
8
- return readMetadata(content);
9
- }
10
- catch {
11
- return {};
12
- }
13
- }
14
- export async function processMarkdown(documentProcessorFactory, filepath, options = {}) {
15
- const markdownString = fs.readFileSync(filepath, 'utf8');
16
- const processor = documentProcessorFactory(options, safeReadMetadata(markdownString));
17
- const processed = (await processor.process(vfile({ path: filepath, contents: markdownString })));
18
- return processed;
19
- }
20
- export function readMarkdownMetadata(filepath) {
21
- return safeReadMetadata(fs.readFileSync(filepath, 'utf8'));
22
- }
23
- //# sourceMappingURL=markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/processor/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,GAEb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAgB,MAAM,OAAO,CAAC;AAUrC,SAAS,gBAAgB,CAAC,OAAe;IACvC,sEAAsE;IACtE,qEAAqE;IACrE,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,wBAAkD,EAClD,QAAgB,EAChB,UAAoC,EAAE;IAEtC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,SAAS,GAAG,wBAAwB,CACxC,OAAO,EACP,gBAAgB,CAAC,cAAc,CAAC,CACjC,CAAC;IACF,MAAM,SAAS,GAAG,CAAC,MAAM,SAAS,CAAC,OAAO,CACxC,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CACpD,CAAW,CAAC;IACb,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,OAAO,gBAAgB,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC"}
@@ -1,4 +0,0 @@
1
- import { ResolvedTaskConfig } from '../config/resolve.js';
2
- export declare function checkThemeInstallationNecessity({ themesDir, themeIndexes, }: Pick<ResolvedTaskConfig, 'themesDir' | 'themeIndexes'>): Promise<boolean>;
3
- export declare function installThemeDependencies({ themesDir, themeIndexes, }: Pick<ResolvedTaskConfig, 'themesDir' | 'themeIndexes'>): Promise<void>;
4
- //# sourceMappingURL=theme.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/processor/theme.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,wBAAsB,+BAA+B,CAAC,EACpD,SAAS,EACT,YAAY,GACb,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAe3E;AAED,wBAAsB,wBAAwB,CAAC,EAC7C,SAAS,EACT,YAAY,GACb,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCxE"}
@@ -1,41 +0,0 @@
1
- import Arborist from '@npmcli/arborist';
2
- import fs from 'node:fs';
3
- import { DetailError } from '../util.js';
4
- export async function checkThemeInstallationNecessity({ themesDir, themeIndexes, }) {
5
- if (!fs.existsSync(themesDir)) {
6
- return [...themeIndexes].some((theme) => theme.type === 'package');
7
- }
8
- const commonOpt = {
9
- path: themesDir,
10
- lockfileVersion: 3,
11
- };
12
- const arb = new Arborist(commonOpt);
13
- const tree = await arb.loadActual();
14
- const pkgs = Array.from(tree.children.keys());
15
- return [...themeIndexes].some((theme) => theme.type === 'package' && !pkgs.includes(theme.name));
16
- }
17
- export async function installThemeDependencies({ themesDir, themeIndexes, }) {
18
- fs.mkdirSync(themesDir, { recursive: true });
19
- try {
20
- const commonOpt = {
21
- path: themesDir,
22
- lockfileVersion: 3,
23
- };
24
- const tree = await new Arborist(commonOpt).buildIdealTree();
25
- const existing = Array.from(tree.children.keys());
26
- const add = [
27
- ...new Set([...themeIndexes].flatMap((theme) => theme.type === 'package' ? [theme.specifier] : [])),
28
- ];
29
- const rm = existing.filter((v) => !add.includes(v));
30
- // Install dependencies
31
- const opt = { ...commonOpt, rm, add };
32
- const arb = new Arborist(opt);
33
- await arb.reify(opt);
34
- return;
35
- }
36
- catch (error) {
37
- const thrownError = error;
38
- throw new DetailError('An error occurred during the installation of the theme', thrownError.stack ?? thrownError.message);
39
- }
40
- }
41
- //# sourceMappingURL=theme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../src/processor/theme.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,MAAM,CAAC,KAAK,UAAU,+BAA+B,CAAC,EACpD,SAAS,EACT,YAAY,GAC2C;IACvD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,CAAC;KACnB,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC,IAAI,CAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,SAAS,EACT,YAAY,GAC2C;IACvD,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,SAAS;YACf,eAAe,EAAE,CAAC;SACnB,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC,cAAc,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG;YACV,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAClC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAClD,CACF;SACF,CAAC;QACF,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,uBAAuB;QACvB,MAAM,GAAG,GAAG,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QAC9B,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErB,OAAO;IACT,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,WAAW,GAAG,KAAc,CAAC;QACnC,MAAM,IAAI,WAAW,CACnB,wDAAwD,EACxD,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,OAAO,CACzC,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- declare const publicationSchema: any;
2
- export declare const publicationSchemas: readonly [any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any];
3
- export { publicationSchema };
4
- //# sourceMappingURL=pub-manifest.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pub-manifest.d.ts","sourceRoot":"","sources":["../../src/schema/pub-manifest.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,iBAAiB,KAAgE,CAAC;AAExF,eAAO,MAAM,kBAAkB,gGAkBrB,CAAC;AAEX,OAAO,EAAE,iBAAiB,EAAE,CAAC"}