@vivliostyle/cli 8.0.1 → 8.1.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.
Files changed (127) hide show
  1. package/README.md +90 -88
  2. package/dist/build.d.ts +1 -5
  3. package/dist/build.d.ts.map +1 -1
  4. package/dist/build.js +80 -26
  5. package/dist/build.js.map +1 -1
  6. package/dist/commands/build.js +2 -0
  7. package/dist/commands/build.js.map +1 -1
  8. package/dist/commands/build.parser.d.ts +1 -1
  9. package/dist/commands/build.parser.d.ts.map +1 -1
  10. package/dist/commands/build.parser.js +7 -3
  11. package/dist/commands/build.parser.js.map +1 -1
  12. package/dist/commands/init.js +1 -0
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/init.parser.d.ts.map +1 -1
  15. package/dist/commands/init.parser.js +5 -2
  16. package/dist/commands/init.parser.js.map +1 -1
  17. package/dist/commands/preview.js +2 -0
  18. package/dist/commands/preview.js.map +1 -1
  19. package/dist/commands/preview.parser.d.ts.map +1 -1
  20. package/dist/commands/preview.parser.js +6 -2
  21. package/dist/commands/preview.parser.js.map +1 -1
  22. package/dist/const.d.ts +8 -2
  23. package/dist/const.d.ts.map +1 -1
  24. package/dist/const.js +27 -5
  25. package/dist/const.js.map +1 -1
  26. package/dist/container.js +5 -6
  27. package/dist/container.js.map +1 -1
  28. package/dist/init.d.ts +1 -0
  29. package/dist/init.d.ts.map +1 -1
  30. package/dist/init.js +4 -3
  31. package/dist/init.js.map +1 -1
  32. package/dist/{config.d.ts → input/config.d.ts} +24 -13
  33. package/dist/input/config.d.ts.map +1 -0
  34. package/dist/{config.js → input/config.js} +103 -86
  35. package/dist/input/config.js.map +1 -0
  36. package/dist/{input.d.ts → input/input-types.d.ts} +1 -1
  37. package/dist/input/input-types.d.ts.map +1 -0
  38. package/dist/{input.js → input/input-types.js} +3 -3
  39. package/dist/input/input-types.js.map +1 -0
  40. package/dist/output/epub.d.ts +10 -0
  41. package/dist/output/epub.d.ts.map +1 -0
  42. package/dist/output/epub.js +542 -0
  43. package/dist/output/epub.js.map +1 -0
  44. package/dist/{output.d.ts → output/output-types.d.ts} +8 -3
  45. package/dist/output/output-types.d.ts.map +1 -0
  46. package/dist/{output.js → output/output-types.js} +7 -4
  47. package/dist/output/output-types.js.map +1 -0
  48. package/dist/{postprocess.d.ts → output/pdf-postprocess.d.ts} +4 -4
  49. package/dist/output/pdf-postprocess.d.ts.map +1 -0
  50. package/dist/{postprocess.js → output/pdf-postprocess.js} +7 -8
  51. package/dist/output/pdf-postprocess.js.map +1 -0
  52. package/dist/{pdf.d.ts → output/pdf.d.ts} +3 -3
  53. package/dist/output/pdf.d.ts.map +1 -0
  54. package/dist/{pdf.js → output/pdf.js} +12 -13
  55. package/dist/output/pdf.js.map +1 -0
  56. package/dist/output/webbook.d.ts +21 -0
  57. package/dist/output/webbook.d.ts.map +1 -0
  58. package/dist/output/webbook.js +251 -0
  59. package/dist/output/webbook.js.map +1 -0
  60. package/dist/preview.d.ts +1 -1
  61. package/dist/preview.d.ts.map +1 -1
  62. package/dist/preview.js +7 -6
  63. package/dist/preview.js.map +1 -1
  64. package/dist/{builder.d.ts → processor/compile.d.ts} +9 -6
  65. package/dist/processor/compile.d.ts.map +1 -0
  66. package/dist/{builder.js → processor/compile.js} +81 -76
  67. package/dist/processor/compile.js.map +1 -0
  68. package/dist/processor/html.d.ts +59 -0
  69. package/dist/processor/html.d.ts.map +1 -0
  70. package/dist/processor/html.js +294 -0
  71. package/dist/processor/html.js.map +1 -0
  72. package/dist/processor/markdown.d.ts.map +1 -0
  73. package/dist/processor/markdown.js.map +1 -0
  74. package/dist/{theme.d.ts → processor/theme.d.ts} +1 -1
  75. package/dist/processor/theme.d.ts.map +1 -0
  76. package/dist/{theme.js → processor/theme.js} +6 -8
  77. package/dist/processor/theme.js.map +1 -0
  78. package/dist/schema/pubManifest.d.ts.map +1 -1
  79. package/dist/schema/pubManifest.js +19 -21
  80. package/dist/schema/pubManifest.js.map +1 -1
  81. package/dist/schema/vivliostyle.d.ts.map +1 -1
  82. package/dist/schema/vivliostyle.js +3 -5
  83. package/dist/schema/vivliostyle.js.map +1 -1
  84. package/dist/server.d.ts.map +1 -1
  85. package/dist/server.js +18 -16
  86. package/dist/server.js.map +1 -1
  87. package/dist/util.d.ts +14 -0
  88. package/dist/util.d.ts.map +1 -1
  89. package/dist/util.js +111 -17
  90. package/dist/util.js.map +1 -1
  91. package/package.json +31 -15
  92. package/types/custom.d.ts +4 -0
  93. package/types/jsdom.d.ts +14 -0
  94. package/vendors/README.md +10 -0
  95. package/vendors/build.js +27 -0
  96. package/vendors/index.d.ts +4 -0
  97. package/vendors/index.src.js +9 -0
  98. package/dist/builder.d.ts.map +0 -1
  99. package/dist/builder.js.map +0 -1
  100. package/dist/config.d.ts.map +0 -1
  101. package/dist/config.js.map +0 -1
  102. package/dist/epub.d.ts +0 -6
  103. package/dist/epub.d.ts.map +0 -1
  104. package/dist/epub.js +0 -18
  105. package/dist/epub.js.map +0 -1
  106. package/dist/html.d.ts +0 -17
  107. package/dist/html.d.ts.map +0 -1
  108. package/dist/html.js +0 -60
  109. package/dist/html.js.map +0 -1
  110. package/dist/input.d.ts.map +0 -1
  111. package/dist/input.js.map +0 -1
  112. package/dist/markdown.d.ts.map +0 -1
  113. package/dist/markdown.js.map +0 -1
  114. package/dist/output.d.ts.map +0 -1
  115. package/dist/output.js.map +0 -1
  116. package/dist/pdf.d.ts.map +0 -1
  117. package/dist/pdf.js.map +0 -1
  118. package/dist/postprocess.d.ts.map +0 -1
  119. package/dist/postprocess.js.map +0 -1
  120. package/dist/theme.d.ts.map +0 -1
  121. package/dist/theme.js.map +0 -1
  122. package/dist/webbook.d.ts +0 -7
  123. package/dist/webbook.d.ts.map +0 -1
  124. package/dist/webbook.js +0 -99
  125. package/dist/webbook.js.map +0 -1
  126. /package/dist/{markdown.d.ts → processor/markdown.d.ts} +0 -0
  127. /package/dist/{markdown.js → processor/markdown.js} +0 -0
@@ -1,40 +1,30 @@
1
- import AjvModule from 'ajv';
2
- import AjvFormatsModule from 'ajv-formats';
3
- import betterAjvErrors from 'better-ajv-errors';
4
1
  import chalk from 'chalk';
5
- import { imageSize } from 'image-size';
6
2
  import { lookup as mime } from 'mime-types';
7
3
  import fs from 'node:fs';
8
- import shelljs from 'shelljs';
9
- import path from 'upath';
10
- import { TOC_TITLE } from './const.js';
11
- import { generateTocHtml, isTocHtml, processManuscriptHtml } from './html.js';
4
+ import { TOC_TITLE } from '../const.js';
5
+ import { DetailError, assertPubManifestSchema, copy, debug, log, pathContains, pathEquals, remove, safeGlob, startLogging, upath, useTmpDirectory, } from '../util.js';
6
+ import { generateCoverHtml, generateTocHtml, isCovertHtml, isTocHtml, processManuscriptHtml, } from './html.js';
12
7
  import { processMarkdown } from './markdown.js';
13
- import { publicationSchema, publicationSchemas } from './schema/pubManifest.js';
14
8
  import { checkThemeInstallationNecessity, installThemeDependencies, } from './theme.js';
15
- import { debug, DetailError, filterRelevantAjvErrors, log, pathContains, pathEquals, safeGlob, startLogging, useTmpDirectory, } from './util.js';
16
- // FIXME: https://github.com/ajv-validator/ajv/issues/2047
17
- const Ajv = AjvModule.default;
18
- const addFormats = AjvFormatsModule.default;
19
9
  function locateThemePath(theme, from) {
20
10
  if (theme.type === 'uri') {
21
11
  return theme.location;
22
12
  }
23
13
  if (theme.type === 'file') {
24
- return path.relative(from, theme.location);
14
+ return upath.relative(from, theme.location);
25
15
  }
26
16
  if (theme.importPath) {
27
17
  return [theme.importPath].flat().map((locator) => {
28
- const resolvedPath = path.resolve(theme.location, locator);
18
+ const resolvedPath = upath.resolve(theme.location, locator);
29
19
  if (!pathContains(theme.location, resolvedPath) ||
30
20
  !fs.existsSync(resolvedPath)) {
31
21
  throw new Error(`Could not find a style path ${theme.importPath} for the theme: ${theme.name}.`);
32
22
  }
33
- return path.relative(from, resolvedPath);
23
+ return upath.relative(from, resolvedPath);
34
24
  });
35
25
  }
36
26
  else {
37
- const pkgJsonPath = path.join(theme.location, 'package.json');
27
+ const pkgJsonPath = upath.join(theme.location, 'package.json');
38
28
  const packageJson = JSON.parse(fs.readFileSync(pkgJsonPath, 'utf8'));
39
29
  const maybeStyle = packageJson?.vivliostyle?.theme?.style ??
40
30
  packageJson.style ??
@@ -42,7 +32,7 @@ function locateThemePath(theme, from) {
42
32
  if (!maybeStyle) {
43
33
  throw new DetailError(`Could not find a style file for the theme: ${theme.name}.`, 'Please ensure this package satisfies a `vivliostyle.theme.style` propertiy.');
44
34
  }
45
- return path.relative(from, path.join(theme.location, maybeStyle));
35
+ return upath.relative(from, upath.join(theme.location, maybeStyle));
46
36
  }
47
37
  }
48
38
  export async function cleanupWorkspace({ entryContextDir, workspaceDir, themesDir, }) {
@@ -55,12 +45,12 @@ export async function cleanupWorkspace({ entryContextDir, workspaceDir, themesDi
55
45
  let movedThemePath;
56
46
  if (pathContains(workspaceDir, themesDir) && fs.existsSync(themesDir)) {
57
47
  [movedThemePath] = await useTmpDirectory();
58
- shelljs.cp('-rf', themesDir, movedThemePath);
48
+ await copy(themesDir, movedThemePath);
59
49
  }
60
- shelljs.rm('-rf', workspaceDir);
50
+ await remove(workspaceDir);
61
51
  if (movedThemePath) {
62
- shelljs.mkdir('-p', workspaceDir);
63
- shelljs.cp('-rf', path.join(movedThemePath, path.basename(themesDir)), workspaceDir);
52
+ fs.mkdirSync(upath.dirname(themesDir), { recursive: true });
53
+ await copy(movedThemePath, themesDir);
64
54
  }
65
55
  }
66
56
  export async function prepareThemeDirectory({ themesDir, themeIndexes, }) {
@@ -72,8 +62,8 @@ export async function prepareThemeDirectory({ themesDir, themeIndexes, }) {
72
62
  // copy theme files
73
63
  for (const theme of themeIndexes) {
74
64
  if (theme.type === 'file' && !pathEquals(theme.source, theme.location)) {
75
- shelljs.mkdir('-p', path.dirname(theme.location));
76
- shelljs.cp(theme.source, theme.location);
65
+ fs.mkdirSync(upath.dirname(theme.location), { recursive: true });
66
+ await copy(theme.source, theme.location);
77
67
  }
78
68
  }
79
69
  }
@@ -81,29 +71,29 @@ export async function prepareThemeDirectory({ themesDir, themeIndexes, }) {
81
71
  export function generateManifest(outputPath, entryContextDir, options) {
82
72
  const entries = options.entries.map((entry) => ({
83
73
  url: encodeURI(entry.path),
84
- name: entry.title,
74
+ ...(entry.title && { name: entry.title }),
85
75
  ...(entry.encodingFormat && { encodingFormat: entry.encodingFormat }),
86
76
  ...(entry.rel && { rel: entry.rel }),
87
77
  ...(entry.rel === 'contents' && { type: 'LinkedResource' }),
88
78
  }));
89
- const links = [];
90
- const resources = [];
79
+ const links = [
80
+ options.links || [],
81
+ ].flat();
82
+ const resources = [
83
+ options.resources || [],
84
+ ].flat();
91
85
  if (options.cover) {
92
- const { width, height, type } = imageSize(path.resolve(entryContextDir, options.cover));
93
- let mimeType = false;
94
- if (type) {
95
- mimeType = mime(type);
96
- if (mimeType) {
97
- links.push({
98
- rel: 'cover',
99
- url: encodeURI(options.cover),
100
- encodingFormat: mimeType,
101
- width,
102
- height,
103
- });
104
- }
86
+ const mimeType = mime(options.cover);
87
+ if (mimeType) {
88
+ entries.unshift({
89
+ type: 'LinkedResource',
90
+ rel: 'cover',
91
+ url: encodeURI(options.cover),
92
+ encodingFormat: mimeType,
93
+ name: options.title || '',
94
+ });
105
95
  }
106
- if (!type || !mimeType) {
96
+ else {
107
97
  log(`\n${chalk.yellow('Cover image ')}${chalk.bold.yellow(`"${options.cover}"`)}${chalk.yellow(' was set in your configuration but couldn’t detect the image metadata. Please check a valid cover file is placed.')}`);
108
98
  }
109
99
  }
@@ -111,47 +101,50 @@ export function generateManifest(outputPath, entryContextDir, options) {
111
101
  '@context': ['https://schema.org', 'https://www.w3.org/ns/pub-context'],
112
102
  type: 'Book',
113
103
  conformsTo: 'https://github.com/vivliostyle/vivliostyle-cli',
114
- author: options.author,
104
+ ...(options.title && { name: options.title }),
105
+ ...(options.author && { author: options.author }),
115
106
  ...(options.language && { inLanguage: options.language }),
116
107
  ...(options.readingProgression && {
117
108
  readingProgression: options.readingProgression,
118
109
  }),
119
110
  dateModified: options.modified,
120
- name: options.title,
121
111
  readingOrder: entries,
122
112
  resources,
123
113
  links,
124
114
  };
125
115
  const publicationJson = JSON.stringify(publication, null, 2);
126
- fs.writeFileSync(outputPath, publicationJson);
127
- const ajv = new Ajv({ strict: false });
128
- addFormats(ajv);
129
- ajv.addSchema(publicationSchemas);
130
- const validate = ajv.compile(publicationSchema);
131
- const valid = validate(publication);
132
- if (!valid) {
133
- const message = `Validation of pubManifest failed. Please check the schema: ${outputPath}`;
134
- const detailMessage = validate.errors &&
135
- betterAjvErrors(publicationSchemas, publication, filterRelevantAjvErrors(validate.errors), {
136
- json: publicationJson,
137
- });
138
- throw detailMessage
139
- ? new DetailError(message, detailMessage)
140
- : new Error(message);
116
+ try {
117
+ assertPubManifestSchema(publication, {
118
+ json: publicationJson,
119
+ });
141
120
  }
121
+ catch (error) {
122
+ const thrownError = error;
123
+ throw new DetailError(`Validation of pubManifest failed. Please check the schema: ${outputPath}`, typeof thrownError === 'string'
124
+ ? thrownError
125
+ : thrownError.stack ?? thrownError.message);
126
+ }
127
+ fs.writeFileSync(outputPath, publicationJson);
128
+ return publication;
142
129
  }
143
- export async function compile({ entryContextDir, workspaceDir, manifestPath, manifestAutoGenerate, entries, language, readingProgression, cover, vfmOptions, }) {
130
+ export async function compile({ entryContextDir, workspaceDir, manifestPath, needToGenerateManifest, title, author, entries, language, readingProgression, cover, vfmOptions, }) {
144
131
  const generativeContentsEntry = entries.find((e) => !('source' in e) && e.rel === 'contents');
145
132
  if (generativeContentsEntry &&
146
133
  fs.existsSync(generativeContentsEntry.target) &&
147
134
  !isTocHtml(generativeContentsEntry.target)) {
148
135
  throw new Error(`${generativeContentsEntry.target} is set as a destination to create a ToC HTML file, but there is already a document other than the ToC file in this location. Please move this file, or set a 'toc' option in vivliostyle.config.js to specify another destination for the ToC file.`);
149
136
  }
137
+ const generativeCoverPageEntry = entries.find((e) => !('source' in e) && e.rel === 'cover');
138
+ if (generativeCoverPageEntry &&
139
+ fs.existsSync(generativeCoverPageEntry.target) &&
140
+ !isCovertHtml(generativeCoverPageEntry.target)) {
141
+ throw new Error(`${generativeCoverPageEntry.target} is set as a destination to create a cover page HTML file, but there is already a document other than the cover page file in this location.`);
142
+ }
150
143
  const contentEntries = entries.filter((e) => 'source' in e);
151
144
  for (const entry of contentEntries) {
152
- shelljs.mkdir('-p', path.dirname(entry.target));
145
+ fs.mkdirSync(upath.dirname(entry.target), { recursive: true });
153
146
  // calculate style path
154
- const style = entry.themes.flatMap((theme) => locateThemePath(theme, path.dirname(entry.target)));
147
+ const style = entry.themes.flatMap((theme) => locateThemePath(theme, upath.dirname(entry.target)));
155
148
  if (entry.type === 'text/markdown') {
156
149
  // compile markdown
157
150
  const vfile = processMarkdown(entry.source, {
@@ -177,7 +170,7 @@ export async function compile({ entryContextDir, workspaceDir, manifestPath, man
177
170
  }
178
171
  else {
179
172
  if (!pathEquals(entry.source, entry.target)) {
180
- shelljs.cp(entry.source, entry.target);
173
+ await copy(entry.source, entry.target);
181
174
  }
182
175
  }
183
176
  }
@@ -187,23 +180,35 @@ export async function compile({ entryContextDir, workspaceDir, manifestPath, man
187
180
  const tocString = generateTocHtml({
188
181
  entries: contentEntries,
189
182
  manifestPath,
190
- distDir: path.dirname(generativeContentsEntry.target),
191
- title: manifestAutoGenerate?.title,
183
+ distDir: upath.dirname(generativeContentsEntry.target),
184
+ title,
192
185
  tocTitle: generativeContentsEntry.title ?? TOC_TITLE,
193
186
  style,
194
187
  });
195
188
  fs.writeFileSync(generativeContentsEntry.target, tocString);
196
189
  }
190
+ // generate cover
191
+ if (cover && generativeCoverPageEntry) {
192
+ const style = generativeCoverPageEntry.themes.flatMap((theme) => locateThemePath(theme, workspaceDir));
193
+ const coverHtml = generateCoverHtml({
194
+ imageSrc: upath.relative(entryContextDir, cover),
195
+ imageAlt: title || '',
196
+ title,
197
+ style,
198
+ });
199
+ fs.writeFileSync(generativeCoverPageEntry.target, coverHtml, 'utf8');
200
+ }
197
201
  // generate manifest
198
- if (manifestAutoGenerate) {
202
+ if (needToGenerateManifest) {
199
203
  generateManifest(manifestPath, entryContextDir, {
200
- ...manifestAutoGenerate,
204
+ title,
205
+ author,
201
206
  language,
202
207
  readingProgression,
203
- cover: cover && path.relative(entryContextDir, cover),
208
+ cover: cover && 'cover.html',
204
209
  entries: entries.map((entry) => ({
205
210
  title: entry.title,
206
- path: path.relative(workspaceDir, entry.target),
211
+ path: upath.relative(workspaceDir, entry.target),
207
212
  encodingFormat: !('type' in entry) ||
208
213
  entry.type === 'text/markdown' ||
209
214
  entry.type === 'text/html'
@@ -219,7 +224,7 @@ export async function copyAssets({ entryContextDir, workspaceDir, includeAssets,
219
224
  if (pathEquals(entryContextDir, workspaceDir)) {
220
225
  return;
221
226
  }
222
- const relWorkspaceDir = path.relative(entryContextDir, workspaceDir);
227
+ const relWorkspaceDir = upath.relative(entryContextDir, workspaceDir);
223
228
  const assets = await safeGlob(includeAssets, {
224
229
  cwd: entryContextDir,
225
230
  ignore: [
@@ -227,10 +232,10 @@ export async function copyAssets({ entryContextDir, workspaceDir, includeAssets,
227
232
  ...outputs.flatMap(({ format, path: p }) => !pathContains(entryContextDir, p)
228
233
  ? []
229
234
  : format === 'webpub'
230
- ? path.join(path.relative(entryContextDir, p), '**')
231
- : path.relative(entryContextDir, p)),
235
+ ? upath.join(upath.relative(entryContextDir, p), '**')
236
+ : upath.relative(entryContextDir, p)),
232
237
  // don't copy workspace itself
233
- ...(relWorkspaceDir ? [path.join(relWorkspaceDir, '**')] : []),
238
+ ...(relWorkspaceDir ? [upath.join(relWorkspaceDir, '**')] : []),
234
239
  ],
235
240
  caseSensitiveMatch: false,
236
241
  followSymbolicLinks: false,
@@ -238,9 +243,9 @@ export async function copyAssets({ entryContextDir, workspaceDir, includeAssets,
238
243
  });
239
244
  debug('assets', assets);
240
245
  for (const asset of assets) {
241
- const target = path.join(workspaceDir, asset);
242
- shelljs.mkdir('-p', path.dirname(target));
243
- shelljs.cp(path.resolve(entryContextDir, asset), target);
246
+ const target = upath.join(workspaceDir, asset);
247
+ fs.mkdirSync(upath.dirname(target), { recursive: true });
248
+ await copy(upath.resolve(entryContextDir, asset), target);
244
249
  }
245
250
  }
246
251
  export function checkOverwriteViolation({ entryContextDir, workspaceDir }, target, fileInformation) {
@@ -252,4 +257,4 @@ export function checkOverwriteViolation({ entryContextDir, workspaceDir }, targe
252
257
  throw new Error(`${target} is set as output destination of ${fileInformation}, however, this output path will overwrite the working directory of Vivliostyle. Please specify other paths.`);
253
258
  }
254
259
  }
255
- //# sourceMappingURL=builder.js.map
260
+ //# sourceMappingURL=compile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../src/processor/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ import jsdom, { ResourceLoader as BaseResourceLoader, JSDOM } from '@vivliostyle/jsdom';
3
+ import { ManuscriptEntry } from '../input/config.js';
4
+ import type { PublicationManifest } from '../schema/publication.schema.js';
5
+ export declare class ResourceLoader extends BaseResourceLoader {
6
+ fetcherMap: Map<string, jsdom.AbortablePromise<Buffer>>;
7
+ fetch(url: string, options?: jsdom.FetchOptions): jsdom.AbortablePromise<Buffer> | null;
8
+ }
9
+ export declare function getJsdomFromUrlOrFile(src: string, resourceLoader?: ResourceLoader): Promise<{
10
+ dom: JSDOM;
11
+ }>;
12
+ export declare function generateTocHtml({ entries, manifestPath, distDir, title, tocTitle, style, }: {
13
+ entries: Pick<ManuscriptEntry, 'target' | 'title'>[];
14
+ manifestPath: string;
15
+ distDir: string;
16
+ title?: string;
17
+ tocTitle: string;
18
+ style?: string[];
19
+ }): string;
20
+ export declare function generateCoverHtml({ imageSrc, imageAlt, title, style, }: {
21
+ imageSrc: string;
22
+ imageAlt: string;
23
+ title?: string;
24
+ style?: string[];
25
+ }): string;
26
+ export declare function processManuscriptHtml(filepath: string, { title, style, contentType, language, }: {
27
+ title?: string;
28
+ style?: string[];
29
+ contentType?: 'text/html' | 'application/xhtml+xml';
30
+ language?: string | null;
31
+ }): string;
32
+ export declare function isTocHtml(filepath: string): boolean;
33
+ export declare function isCovertHtml(filepath: string): boolean;
34
+ export declare function fetchLinkedPublicationManifest({ dom, resourceLoader, baseUrl, }: {
35
+ dom: JSDOM;
36
+ resourceLoader: ResourceLoader;
37
+ baseUrl: string;
38
+ }): Promise<PublicationManifest | null>;
39
+ export type TocResourceTreeItem = {
40
+ element: HTMLElement;
41
+ label: HTMLElement;
42
+ children?: TocResourceTreeItem[];
43
+ };
44
+ export type TocResourceTreeRoot = {
45
+ element: HTMLElement;
46
+ heading?: HTMLElement;
47
+ children: TocResourceTreeItem[];
48
+ };
49
+ export declare function parseTocDocument(dom: JSDOM): TocResourceTreeRoot | null;
50
+ export type PageListResourceTreeItem = {
51
+ element: HTMLElement;
52
+ };
53
+ export type PageListResourceTreeRoot = {
54
+ element: HTMLElement;
55
+ heading?: HTMLElement;
56
+ children: PageListResourceTreeItem[];
57
+ };
58
+ export declare function parsePageListDocument(dom: JSDOM): PageListResourceTreeRoot | null;
59
+ //# sourceMappingURL=html.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html.d.ts","sourceRoot":"","sources":["../../src/processor/html.ts"],"names":[],"mappings":"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"}