share-pages 0.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.
- package/README.md +49 -0
- package/dist/dist-JyXFh6I5.mjs +5444 -0
- package/dist/epub-BXQPqTFk-CGD2NLS1.mjs +4915 -0
- package/dist/index.mjs +679 -0
- package/dist/latex-CybgCSnr-CvP5kdPz.mjs +33421 -0
- package/dist/latex-DMo_3IW8-B6ogeBvw.mjs +20 -0
- package/dist/markdown-BWlCFeLJ-OwSvKM8l.mjs +68089 -0
- package/dist/node-Lh4CQjZ4.mjs +77 -0
- package/dist/papaparse-BJnSo-VR.mjs +1139 -0
- package/dist/prepare-C56DezIS-DiqwpdkG.mjs +8563 -0
- package/dist/resources/assets/csv-worker-Bilq-sDm.js +17 -0
- package/dist/resources/chunks/viewer-Bz6Cwh4W.js +9561 -0
- package/dist/resources/csv.js +2444 -0
- package/dist/resources/epub.js +16493 -0
- package/dist/resources/fonts/KaTeX_AMS-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Bold.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Bold.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Main-Bold.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/resources/fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Main-BoldItalic.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/resources/fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Main-Italic.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/resources/fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Main-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Math-BoldItalic.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/resources/fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Math-Italic.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/resources/fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Bold.ttf +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Italic.ttf +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Script-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Size1-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Size2-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Size3-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Size4-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/resources/fonts/KaTeX_Typewriter-Regular.ttf +0 -0
- package/dist/resources/fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/resources/fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/resources/katex.css +1 -0
- package/dist/resources/latex-article.css +33 -0
- package/dist/resources/latex-base.css +816 -0
- package/dist/resources/latex-book.css +43 -0
- package/dist/resources/latex-fonts/KaTeX_AMS-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_AMS-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Caligraphic-Bold.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Caligraphic-Bold.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Caligraphic-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Caligraphic-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Fraktur-Bold.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Fraktur-Bold.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Fraktur-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Fraktur-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Bold.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Bold.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-BoldItalic.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-BoldItalic.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Italic.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Italic.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Main-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Math-BoldItalic.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Math-BoldItalic.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Math-Italic.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Math-Italic.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Bold.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Bold.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Italic.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Italic.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_SansSerif-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Script-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Script-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size1-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size1-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size2-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size2-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size3-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size3-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size4-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Size4-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/KaTeX_Typewriter-Regular.woff +0 -0
- package/dist/resources/latex-fonts/KaTeX_Typewriter-Regular.woff2 +0 -0
- package/dist/resources/latex-fonts/OFL.txt +102 -0
- package/dist/resources/latex-fonts/Sans/cmun-sans.css +30 -0
- package/dist/resources/latex-fonts/Sans/cmunsi.woff +0 -0
- package/dist/resources/latex-fonts/Sans/cmunso.woff +0 -0
- package/dist/resources/latex-fonts/Sans/cmunss.woff +0 -0
- package/dist/resources/latex-fonts/Sans/cmunsx.woff +0 -0
- package/dist/resources/latex-fonts/Serif/cmun-serif.css +30 -0
- package/dist/resources/latex-fonts/Serif/cmunbi.woff +0 -0
- package/dist/resources/latex-fonts/Serif/cmunbx.woff +0 -0
- package/dist/resources/latex-fonts/Serif/cmunrm.woff +0 -0
- package/dist/resources/latex-fonts/Serif/cmunti.woff +0 -0
- package/dist/resources/latex-fonts/Serif Slanted/cmun-serif-slanted.css +14 -0
- package/dist/resources/latex-fonts/Serif Slanted/cmunbl.woff +0 -0
- package/dist/resources/latex-fonts/Serif Slanted/cmunsl.woff +0 -0
- package/dist/resources/latex-fonts/Typewriter/cmun-typewriter.css +30 -0
- package/dist/resources/latex-fonts/Typewriter/cmunit.woff +0 -0
- package/dist/resources/latex-fonts/Typewriter/cmuntb.woff +0 -0
- package/dist/resources/latex-fonts/Typewriter/cmuntt.woff +0 -0
- package/dist/resources/latex-fonts/Typewriter/cmuntx.woff +0 -0
- package/dist/resources/latex-fonts/Typewriter Slanted/cmun-typewriter-slanted.css +6 -0
- package/dist/resources/latex-fonts/Typewriter Slanted/cmunst.woff +0 -0
- package/dist/resources/latex-fonts/cmu.css +13 -0
- package/dist/resources/latex-katex.css +1079 -0
- package/dist/resources/licenses.txt +131 -0
- package/dist/resources/reader.css +244 -0
- package/dist/resources/viewers.css +3 -0
- package/dist/rolldown-runtime-B4iAMlE-.mjs +35 -0
- package/package.json +40 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { i as defaultLimits, l as safePath, r as assert } from "./dist-JyXFh6I5.mjs";
|
|
2
|
+
import { a as prepareBytes, i as finalize, u as zipSync } from "./prepare-C56DezIS-DiqwpdkG.mjs";
|
|
3
|
+
import { lstat, readFile, readdir } from "node:fs/promises";
|
|
4
|
+
import { basename, join } from "node:path";
|
|
5
|
+
//#region ../../packages/content/dist/directory-Cz5DdsHB.js
|
|
6
|
+
/** Canonical order and DOS timestamp, independent of input order, clock and timezone. */
|
|
7
|
+
function directorySnapshot(input) {
|
|
8
|
+
const files = new Map([...input].sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0));
|
|
9
|
+
return {
|
|
10
|
+
files,
|
|
11
|
+
source: zipSync(Object.fromEntries(files), {
|
|
12
|
+
level: 6,
|
|
13
|
+
mtime: new Date(1980, 0, 1, 0, 0, 0)
|
|
14
|
+
})
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
//#region ../../packages/content/dist/node.js
|
|
19
|
+
let domReady;
|
|
20
|
+
async function ensureDOM() {
|
|
21
|
+
domReady ??= (async () => {
|
|
22
|
+
if (typeof document === "undefined") {
|
|
23
|
+
const { JSDOM } = await import("jsdom");
|
|
24
|
+
const window = new JSDOM("<!doctype html><html><body></body></html>").window;
|
|
25
|
+
Object.defineProperty(globalThis, "window", {
|
|
26
|
+
value: window,
|
|
27
|
+
configurable: true
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(globalThis, "document", {
|
|
30
|
+
value: window.document,
|
|
31
|
+
configurable: true
|
|
32
|
+
});
|
|
33
|
+
Object.defineProperty(globalThis, "Node", {
|
|
34
|
+
value: window.Node,
|
|
35
|
+
configurable: true
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
})();
|
|
39
|
+
await domReady;
|
|
40
|
+
}
|
|
41
|
+
async function prepareNode(path, options = {}) {
|
|
42
|
+
const stat = await lstat(path);
|
|
43
|
+
assert(!stat.isSymbolicLink(), "SYMLINK_NOT_ALLOWED", "不能发布符号链接");
|
|
44
|
+
if (!stat.isDirectory()) {
|
|
45
|
+
assert(stat.isFile(), "UNSUPPORTED_INPUT", "输入必须是文件或目录");
|
|
46
|
+
assert(stat.size <= (options.limits ?? defaultLimits).inputBytes, "INPUT_TOO_LARGE", "输入大小超限", 413);
|
|
47
|
+
if (options.type === "latex" || /\.(tex|latex)$/i.test(path)) await ensureDOM();
|
|
48
|
+
return prepareBytes(basename(path), await readFile(path), options);
|
|
49
|
+
}
|
|
50
|
+
const limits = options.limits ?? defaultLimits, files = /* @__PURE__ */ new Map();
|
|
51
|
+
let size = 0;
|
|
52
|
+
async function visit(directory, prefix = "") {
|
|
53
|
+
for (const entry of await readdir(directory, { withFileTypes: true })) {
|
|
54
|
+
const file = join(directory, entry.name), name = prefix + entry.name;
|
|
55
|
+
safePath(name);
|
|
56
|
+
const s = await lstat(file);
|
|
57
|
+
assert(!s.isSymbolicLink(), "SYMLINK_NOT_ALLOWED", `目录包含符号链接:${name}`);
|
|
58
|
+
if (s.isDirectory()) await visit(file, `${name}/`);
|
|
59
|
+
else {
|
|
60
|
+
assert(s.isFile(), "UNSUPPORTED_INPUT", `不是普通文件:${name}`);
|
|
61
|
+
size += s.size;
|
|
62
|
+
assert(size <= limits.expandedBytes, "EXPANDED_TOO_LARGE", "目录展开大小超限", 413);
|
|
63
|
+
assert(files.size < limits.files - 1, "TOO_MANY_FILES", "目录文件数超限", 413);
|
|
64
|
+
files.set(name, await readFile(file));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
await visit(path);
|
|
69
|
+
const snapshot = directorySnapshot(files), source = snapshot.source;
|
|
70
|
+
assert(source.length <= limits.inputBytes, "INPUT_TOO_LARGE", "目录原件 ZIP 超过输入限额", 413);
|
|
71
|
+
return finalize(`${basename(path)}.zip`, source, snapshot.files, {
|
|
72
|
+
...options,
|
|
73
|
+
type: "zip"
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
export { ensureDOM, prepareBytes, prepareNode };
|