epub2md 1.1.1 → 1.1.2
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 +12 -2
- package/lib/bin/cli.d.ts +8 -1
- package/lib/bin/cli.js +23 -9
- package/lib/bin/cli.js.map +1 -1
- package/lib/bin/convert.d.ts +15 -7
- package/lib/bin/convert.js +16 -9
- package/lib/bin/convert.js.map +1 -1
- package/lib/bin/parse.d.ts +7 -0
- package/lib/bin/parse.js +7 -2
- package/lib/bin/parse.js.map +1 -1
- package/lib/parseSection.js +1 -25
- package/lib/parseSection.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,8 +12,18 @@ npm install epub2md -g
|
|
|
12
12
|
## CLI
|
|
13
13
|
|
|
14
14
|
```bash
|
|
15
|
+
# show usage
|
|
15
16
|
$ epub2md -h
|
|
17
|
+
|
|
18
|
+
# Convert directly to markdown format
|
|
16
19
|
$ epub2md ../../fixtures/zhihu.epub
|
|
20
|
+
# or -m
|
|
21
|
+
$ epub2md -m ../../fixtures/zhihu.epub
|
|
22
|
+
|
|
23
|
+
# Convert directly to markdown format with autospace to handle spacing between CJK and English words and Correct punctuations Only for command line use
|
|
24
|
+
$ epub2md -M ../../fixtures/zhihu.epub
|
|
25
|
+
|
|
26
|
+
# show other info
|
|
17
27
|
$ epub2md -u ../../fixtures/zhihu.epub
|
|
18
28
|
$ epub2md -i ../../fixtures/zhihu.epub
|
|
19
29
|
$ epub2md -S ../../fixtures/zhihu.epub
|
|
@@ -60,7 +70,7 @@ It forces the parser to treat supplied target as the defined type, if not define
|
|
|
60
70
|
- expand ?: boolean
|
|
61
71
|
- convertToMarkdown ?: (htmlstr: string) => string
|
|
62
72
|
|
|
63
|
-
use custom convert function, you can use turndown or node
|
|
73
|
+
use custom convert function, you can use turndown or node-html-markdown.etc.
|
|
64
74
|
|
|
65
75
|
### EpubObject
|
|
66
76
|
|
|
@@ -81,4 +91,4 @@ The return value is an object which contains`structure`, `sections`, `info`(priv
|
|
|
81
91
|
|
|
82
92
|
# Credits
|
|
83
93
|
|
|
84
|
-
[gaoxiaoliangz
|
|
94
|
+
[gaoxiaoliangz/epub-parser](https://github.com/gaoxiaoliangz/epub-parser)
|
package/lib/bin/cli.d.ts
CHANGED
package/lib/bin/cli.js
CHANGED
|
@@ -4,22 +4,33 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Commands = void 0;
|
|
7
8
|
var args_1 = __importDefault(require("args"));
|
|
8
9
|
var chalk_1 = __importDefault(require("chalk"));
|
|
9
10
|
// @ts-ignore
|
|
10
11
|
var beauty_json_1 = require("beauty-json");
|
|
11
12
|
var __1 = require("..");
|
|
12
13
|
var convert_1 = __importDefault(require("./convert"));
|
|
14
|
+
var Commands;
|
|
15
|
+
(function (Commands) {
|
|
16
|
+
Commands["markdown"] = "md";
|
|
17
|
+
Commands["autospace"] = "ma";
|
|
18
|
+
Commands["unzip"] = "unzip";
|
|
19
|
+
Commands["info"] = "info";
|
|
20
|
+
Commands["structure"] = "structure";
|
|
21
|
+
Commands["sections"] = "sections";
|
|
22
|
+
})(Commands || (exports.Commands = Commands = {}));
|
|
13
23
|
var name = "epub2md";
|
|
14
24
|
var commands = [
|
|
15
|
-
[
|
|
16
|
-
[
|
|
17
|
-
[
|
|
18
|
-
[
|
|
19
|
-
[
|
|
25
|
+
[Commands.markdown, 'convert the epub file to markdown format'],
|
|
26
|
+
[Commands.autospace, 'convert the epub file to markdown format with autospace'],
|
|
27
|
+
[Commands.unzip, 'unzip epub file'],
|
|
28
|
+
[Commands.info, 'get epub file basic info'],
|
|
29
|
+
[Commands.structure, 'get epub file structure'],
|
|
30
|
+
[Commands.sections, 'get epub file sections']
|
|
20
31
|
];
|
|
21
|
-
var DEFAULT_COMMAND =
|
|
22
|
-
//
|
|
32
|
+
var DEFAULT_COMMAND = Commands.markdown;
|
|
33
|
+
// define options
|
|
23
34
|
commands.forEach(function (cmd) { return args_1.default.option(cmd[0], cmd[1]); });
|
|
24
35
|
// @ts-ignore
|
|
25
36
|
var flags = args_1.default.parse(process.argv, {
|
|
@@ -43,15 +54,18 @@ commands.some(function (_a, i) {
|
|
|
43
54
|
}
|
|
44
55
|
});
|
|
45
56
|
function run(cmd) {
|
|
46
|
-
var epubPath = flags[
|
|
57
|
+
var epubPath = flags[Commands.markdown] || flags[Commands.autospace] || flags[Commands.unzip];
|
|
47
58
|
if (epubPath) {
|
|
48
59
|
// ====== convert to markdown ====
|
|
49
60
|
console.log(chalk_1.default.blueBright("[".concat(name, "]: converting...")));
|
|
50
|
-
(new convert_1.default(epubPath))
|
|
61
|
+
(new convert_1.default({ eubPath: epubPath, cmd: cmd }))
|
|
62
|
+
.run(flags[Commands.unzip])
|
|
63
|
+
.then(function (outDir) {
|
|
51
64
|
console.log(chalk_1.default.greenBright("[".concat(name, "]: success! output: ").concat(outDir)));
|
|
52
65
|
});
|
|
53
66
|
return;
|
|
54
67
|
}
|
|
68
|
+
// just get some info to display
|
|
55
69
|
(0, __1.parseEpub)(flags[cmd])
|
|
56
70
|
.then(function (res) {
|
|
57
71
|
console.log(chalk_1.default.greenBright("[".concat(name, "]: This book ").concat(cmd, ":")));
|
package/lib/bin/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/bin/cli.ts"],"names":[],"mappings":";;;;;;;AAEA,8CAAuB;AACvB,gDAAyB;AACzB,aAAa;AACb,2CAAkC;AAClC,wBAA8B;AAC9B,sDAAiC;AAIjC,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,4BAAgB,CAAA;IAChB,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,mCAAuB,CAAA;IACvB,iCAAqB,CAAA;AACvB,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB;AAED,IAAM,IAAI,GAAG,SAAS,CAAA;AACtB,IAAM,QAAQ,GAAyB;IACrC,CAAC,QAAQ,CAAC,QAAQ,EAAE,0CAA0C,CAAC;IAC/D,CAAC,QAAQ,CAAC,SAAS,EAAE,yDAAyD,CAAC;IAC/E,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;IACnC,CAAC,QAAQ,CAAC,IAAI,EAAE,0BAA0B,CAAC;IAC3C,CAAC,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;IAC/C,CAAC,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;CAC9C,CAAA;AAED,IAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,CAAA;AAEzC,iBAAiB;AACjB,QAAQ,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,cAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAA3B,CAA2B,CAAC,CAAC;AAEvD,aAAa;AACb,IAAM,KAAK,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE;IACrC,IAAI,MAAA;CACL,CAAC,CAAA;AAEF,QAAQ,CAAC,IAAI,CAAC,UAAC,EAAK,EAAE,CAAC;QAAP,GAAG,QAAA;IACjB,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,CAAA;QACR,OAAO,IAAI,CAAA;IACb,CAAC;SACI,CAAC;QACJ,IAAI,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpB,KAAK,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;gBACxC,GAAG,CAAC,eAAe,CAAC,CAAA;gBACpB,OAAO,IAAI,CAAA;YACb,CAAC;YACD,cAAI,CAAC,QAAQ,EAAE,CAAA;QACjB,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,SAAS,GAAG,CAAC,GAAa;IACxB,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC/F,IAAI,QAAQ,EAAE,CAAC;QACb,kCAAkC;QAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,UAAU,CAAC,WAAI,IAAI,qBAAkB,CAAC,CAAC,CAAC;QAE1D,CAAC,IAAI,iBAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAA,EAAE,CAAC,CAAC;aACxC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;aAC1B,IAAI,CAAC,UAAC,MAAM;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,WAAW,CAAC,WAAI,IAAI,iCAAuB,MAAM,CAAE,CAAC,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAA;QAEJ,OAAM;IACR,CAAC;IAED,gCAAgC;IAChC,IAAA,aAAS,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SAClB,IAAI,CAAC,UAAC,GAAG;QACR,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,WAAW,CAAC,WAAI,IAAI,0BAAgB,GAAG,MAAG,CAAC,CAAC,CAAA;QAC9D,kBAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAc,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,KAAK;QACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACN,CAAC"}
|
package/lib/bin/convert.d.ts
CHANGED
|
@@ -1,27 +1,35 @@
|
|
|
1
1
|
import type { Epub } from '../parseEpub';
|
|
2
|
-
|
|
2
|
+
import { Commands } from './cli';
|
|
3
|
+
interface Structure {
|
|
3
4
|
id: string;
|
|
4
5
|
outpath: string;
|
|
5
6
|
filepath: string;
|
|
6
|
-
}
|
|
7
|
+
}
|
|
8
|
+
interface Options {
|
|
9
|
+
/** epub file path */
|
|
10
|
+
eubPath: string;
|
|
11
|
+
/** the command */
|
|
12
|
+
cmd: Commands;
|
|
13
|
+
}
|
|
7
14
|
export default class Converter {
|
|
8
15
|
epub: Epub | undefined;
|
|
9
16
|
epubFilePath: string;
|
|
10
|
-
|
|
17
|
+
cmd: Commands;
|
|
18
|
+
MD_FILE_EXT: string;
|
|
11
19
|
outDir: string;
|
|
12
20
|
structure: Structure[];
|
|
13
|
-
constructor(
|
|
21
|
+
constructor({ eubPath, cmd }: Options);
|
|
14
22
|
private _checkFileType;
|
|
15
23
|
private _resolveHTMLId;
|
|
16
24
|
private getCleanFileName;
|
|
17
25
|
/**
|
|
18
|
-
*
|
|
19
|
-
* @return
|
|
26
|
+
* Make a path,and normalize assets's path. normally markdowns dont need those css/js files, So i skip them
|
|
27
|
+
* @return these target file's path will be created,like "xxx/xxx.md","xxx/images"
|
|
20
28
|
*/
|
|
21
29
|
private _makePath;
|
|
22
30
|
getManifest(unzip?: boolean): Promise<void>;
|
|
23
31
|
/**
|
|
24
|
-
* Try to obtain a friendly output filename.
|
|
32
|
+
* Try to obtain a friendly output filename.
|
|
25
33
|
*/
|
|
26
34
|
private _getFileData;
|
|
27
35
|
run(unzip?: boolean): Promise<string>;
|
package/lib/bin/convert.js
CHANGED
|
@@ -69,13 +69,17 @@ var __1 = require("..");
|
|
|
69
69
|
var parse_1 = __importStar(require("./parse"));
|
|
70
70
|
var utils_1 = require("../utils");
|
|
71
71
|
var chalk_1 = __importDefault(require("chalk"));
|
|
72
|
+
var autoSpace = __importStar(require("autocorrect-node"));
|
|
72
73
|
var parseLink_1 = __importDefault(require("../parseLink"));
|
|
74
|
+
var cli_1 = require("./cli");
|
|
73
75
|
var Converter = /** @class */ (function () {
|
|
74
|
-
function Converter(
|
|
76
|
+
function Converter(_a) {
|
|
77
|
+
var eubPath = _a.eubPath, cmd = _a.cmd;
|
|
75
78
|
this.MD_FILE_EXT = '.md'; // out file extname
|
|
76
79
|
this.structure = []; // epub dir structure
|
|
77
|
-
this.epubFilePath =
|
|
78
|
-
this.
|
|
80
|
+
this.epubFilePath = eubPath;
|
|
81
|
+
this.cmd = cmd;
|
|
82
|
+
this.outDir = (0, node_path_1.dirname)(eubPath);
|
|
79
83
|
if (!(0, node_fs_1.existsSync)(this.outDir))
|
|
80
84
|
(0, node_fs_1.mkdirSync)(this.outDir);
|
|
81
85
|
}
|
|
@@ -103,8 +107,8 @@ var Converter = /** @class */ (function () {
|
|
|
103
107
|
return (0, utils_1.sanitizeFileName)(fileName).trim().replace(/\s/g, '_') + ext;
|
|
104
108
|
};
|
|
105
109
|
/**
|
|
106
|
-
*
|
|
107
|
-
* @return
|
|
110
|
+
* Make a path,and normalize assets's path. normally markdowns dont need those css/js files, So i skip them
|
|
111
|
+
* @return these target file's path will be created,like "xxx/xxx.md","xxx/images"
|
|
108
112
|
*/
|
|
109
113
|
Converter.prototype._makePath = function (filepath) {
|
|
110
114
|
var _a = this._checkFileType(filepath), isImage = _a.isImage, isHTML = _a.isHTML;
|
|
@@ -135,7 +139,7 @@ var Converter = /** @class */ (function () {
|
|
|
135
139
|
if (unzip)
|
|
136
140
|
outpath = (0, node_path_1.join)(_this.outDir, filepath);
|
|
137
141
|
else {
|
|
138
|
-
// remove this two file
|
|
142
|
+
// remove this two useless file
|
|
139
143
|
if (filepath.endsWith('ncx') || id === 'titlepage')
|
|
140
144
|
return;
|
|
141
145
|
outpath = _this._makePath(filepath);
|
|
@@ -153,13 +157,15 @@ var Converter = /** @class */ (function () {
|
|
|
153
157
|
});
|
|
154
158
|
};
|
|
155
159
|
/**
|
|
156
|
-
* Try to obtain a friendly output filename.
|
|
160
|
+
* Try to obtain a friendly output filename.
|
|
157
161
|
*/
|
|
158
162
|
Converter.prototype._getFileData = function (structure) {
|
|
159
163
|
var _this = this;
|
|
160
164
|
var _a, _b, _c;
|
|
161
165
|
var id = structure.id, filepath = structure.filepath, outpath = structure.outpath;
|
|
162
166
|
var content = '';
|
|
167
|
+
// with autospace maybe cause error... issues#5
|
|
168
|
+
var needAutospace = this.cmd === cli_1.Commands.autospace;
|
|
163
169
|
// Only manipulate files that you want to output in md format
|
|
164
170
|
if (((0, node_path_1.extname)(outpath) === '.md')) {
|
|
165
171
|
content = (_b = (_a = this.epub) === null || _a === void 0 ? void 0 : _a.getSection(id)) === null || _b === void 0 ? void 0 : _b.toMarkdown();
|
|
@@ -167,8 +173,7 @@ var Converter = /** @class */ (function () {
|
|
|
167
173
|
content = (0, parse_1.fixImagePath)(content, function (link) { return ('./images/' + (0, node_path_1.basename)(link)); });
|
|
168
174
|
// Gets the content title as the file name
|
|
169
175
|
// const headTitles = content.match(/#+?\s+(.*?)\n/)
|
|
170
|
-
// get the title from toc, and sanitize fileName
|
|
171
|
-
// @ts-ignore
|
|
176
|
+
// @ts-expect-error get the title from toc, and sanitize fileName
|
|
172
177
|
function _matchNav(tocItems, id) {
|
|
173
178
|
if (Array.isArray(tocItems))
|
|
174
179
|
for (var i = 0; i < tocItems.length; i++) {
|
|
@@ -201,6 +206,7 @@ var Converter = /** @class */ (function () {
|
|
|
201
206
|
// 处理 md 的 link 如果文件有空格不能识别
|
|
202
207
|
return './' + _this.getCleanFileName(anav.name, _this.MD_FILE_EXT) + "".concat(hash ? '#' + hash : '');
|
|
203
208
|
});
|
|
209
|
+
content = needAutospace ? autoSpace.format(content) : content;
|
|
204
210
|
}
|
|
205
211
|
else {
|
|
206
212
|
content = this.epub.resolve(filepath).asNodeBuffer();
|
|
@@ -227,6 +233,7 @@ var Converter = /** @class */ (function () {
|
|
|
227
233
|
if (content.toString() === '')
|
|
228
234
|
return;
|
|
229
235
|
if (!filterPool[outFilePath] && (0, node_path_1.basename)(outFilePath).endsWith('.md')) {
|
|
236
|
+
// log converting info
|
|
230
237
|
console.log(chalk_1.default.yellow("".concat(num++, ": [").concat((0, node_path_1.basename)(outFilePath), "]")));
|
|
231
238
|
}
|
|
232
239
|
filterPool[outFilePath] = true;
|
package/lib/bin/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../src/bin/convert.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoE;AACpE,mCAA+C;AAC/C,mDAA+C;AAE/C,wBAA8B;AAE9B,+CAA8D;AAC9D,kCAAyD;AACzD,gDAAyB;AACzB,0DAA6C;AAE7C,2DAAoC;AACpC,6BAAgC;AAehC;IAQE,mBAAY,EAAyB;YAAvB,OAAO,aAAA,EAAE,GAAG,SAAA;QAJ1B,gBAAW,GAAW,KAAc,CAAA,CAAA,mBAAmB;QAEvD,cAAS,GAAgB,EAAE,CAAA,CAAC,qBAAqB;QAG/C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAA;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;QACd,IAAI,CAAC,MAAM,GAAG,IAAA,mBAAO,EAAC,OAAO,CAAC,CAAA;QAC9B,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC,MAAM,CAAC;YAAE,IAAA,mBAAS,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtD,CAAC;IAEO,kCAAc,GAAtB,UAAuB,QAAgB;QACrC,IAAI,OAAO,EACT,KAAK,EACL,MAAM,GAAG,KAAK,CAAA;QAChB,IAAM,GAAG,GAAG,IAAA,mBAAO,EAAC,QAAQ,CAAC,CAAA;QAC7B,IAAI,kCAAkC,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,IAAI,CAAA;QACpE,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,KAAK,GAAG,IAAI,CAAA;QACvC,IAAI,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,MAAM,GAAG,IAAI,CAAA;QAEpD,OAAO;YACL,OAAO,SAAA;YACP,KAAK,OAAA;YACL,MAAM,QAAA;SACP,CAAA;IACH,CAAC;IAEO,kCAAc,GAAtB,UAAuB,QAAgB;QACrC,OAAO,QAAQ,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;IAChD,CAAC;IAGD,QAAQ;IACA,oCAAgB,GAAxB,UAAyB,QAAgB,EAAE,GAAQ;QAAR,oBAAA,EAAA,QAAQ;QACjD,OAAO,IAAA,wBAAgB,EAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAA;IACpE,CAAC;IAED;;;MAGE;IACM,6BAAS,GAAjB,UAAkB,QAAgB;QAC1B,IAAA,KAAsB,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAjD,OAAO,aAAA,EAAE,MAAM,YAAkC,CAAA;QACzD,sBAAsB;QACtB,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAClC,IAAM,QAAQ,GAAG,IAAA,oBAAQ,EAAC,QAAQ,CAAC,CAAA;QACnC,OAAO,IAAA,gBAAI,EACT,IAAI,CAAC,MAAM,EACX,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EACvB,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CACrE,CAAA;IACH,CAAC;IAEK,+BAAW,GAAjB,UAAkB,KAAe;;;;;;;wBAC/B,KAAA,IAAI,CAAA;wBAAQ,qBAAM,IAAA,aAAS,EAAC,IAAI,CAAC,YAAY,EAAE;gCAC7C,iBAAiB,EAAE,eAAO;6BAC3B,CAAC,EAAA;;wBAFF,GAAK,IAAI,GAAG,SAEV,CAAA;wBACF,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;wBACpD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,UAAC,EAAsB;gCAAd,QAAQ,UAAA,EAAE,EAAE,QAAA;4BACnD,IAAI,OAAe,CAAA;4BACnB,eAAe;4BACf,IAAI,KAAK;gCAAE,OAAO,GAAG,IAAA,gBAAI,EAAC,KAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;iCAC3C,CAAC;gCACJ,+BAA+B;gCAC/B,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,WAAW;oCAAE,OAAM;gCAC1D,OAAO,GAAG,KAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;4BACpC,CAAC;4BACD,IAAI,OAAO,KAAK,EAAE;gCAChB,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oCAClB,EAAE,IAAA;oCACF,OAAO,SAAA;oCACP,QAAQ,UAAA;iCACT,CAAC,CAAA;wBACN,CAAC,CAAC,CAAA;;;;;KACH;IAGD;;MAEE;IACM,gCAAY,GAApB,UAAqB,SAAoB;QAAzC,iBA8DC;;QA7DO,IAAA,EAAE,GAAwB,SAAS,GAAjC,EAAE,QAAQ,GAAc,SAAS,SAAvB,EAAE,OAAO,GAAK,SAAS,QAAd,CAAc;QACzC,IAAI,OAAO,GAAoB,EAAE,CAAA;QAEjC,+CAA+C;QAC/C,IAAM,aAAa,GAAG,IAAI,CAAC,GAAG,KAAK,cAAQ,CAAC,SAAS,CAAA;QAErD,6DAA6D;QAC7D,IAAI,CAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,CAAC,EAAE,CAAC,0CAAE,UAAU,EAAG,CAAA;YAClD,yBAAyB;YACzB,OAAO,GAAG,IAAA,oBAAY,EAAC,OAAO,EAAE,UAAC,IAAI,IAAK,OAAA,CAAC,WAAW,GAAG,IAAA,oBAAQ,EAAC,IAAI,CAAC,CAAC,EAA9B,CAA8B,CAAC,CAAA;YAEzE,0CAA0C;YAC1C,oDAAoD;YAEpD,iEAAiE;YACjE,SAAS,SAAS,CAAC,QAA+B,EAAE,EAAU;gBAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBACzC,IAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;wBACzB,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;4BAC1B,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAClB,IAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;4BAChD,IAAI,UAAU,EAAE,CAAC;gCACf,OAAO,UAAU,CAAC;4BACpB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,OAAO,SAAS,CAAC;YACnB,CAAC;YAED,IAAM,GAAG,GAAG,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAChD,2BAA2B;YAC3B,IAAM,eAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAA,oBAAQ,EAAC,OAAO,CAAC,CAAC,CAAA;YAClG,OAAO,GAAG,IAAA,gBAAI,EAAC,IAAA,mBAAO,EAAC,OAAO,CAAC,EAAE,eAAa,CAAC,CAAA;YAE/C,OAAO,GAAG,IAAA,qBAAa,EAAC,OAAO,EAAE,UAAC,IAAI,EAAE,IAAI;;gBACpC,IAAA,KAAgB,IAAA,mBAAS,EAAC,IAAI,CAAC,EAA7B,IAAI,UAAA,EAAE,GAAG,SAAoB,CAAA;gBACrC,aAAa;gBACb,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,IAAI,GAAG,eAAa,GAAG,IAAI,CAAA;gBACpC,CAAC;gBAED,IAAI,GAAG,KAAI,CAAC,cAAc,CAAC,IAAA,oBAAQ,EAAC,GAAG,CAAC,CAAC,CAAA;gBACzC,IAAM,IAAI,GAAG,IAAA,oBAAY,EAAC,IAAI,EAAE,MAAA,KAAI,CAAC,IAAI,0CAAE,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;gBACvE,2BAA2B;gBAC3B,OAAO,IAAI,GAAG,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAI,CAAC,WAAW,CAAC,GAAG,UAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAE,CAAA;YAChG,CAAC,CAAC,CAAA;YAEF,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,IAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,EAAE,CAAA;QACvD,CAAC;QACD,4BAA4B;QAE5B,OAAO;YACL,OAAO,SAAA;YACP,WAAW,EAAE,OAAO;SACrB,CAAA;IACH,CAAC;IAEK,uBAAG,GAAT,UAAU,KAAe;;;;;;4BACvB,qBAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAA;;wBAA7B,SAA6B,CAAA;wBACzB,GAAG,GAAG,CAAC,EAAE,UAAU,GAA4B,EAAE,CAAA;wBAErD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAC,CAAC;4BACjB,IAAA,KAA2B,KAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAA7C,WAAW,iBAAA,EAAE,OAAO,aAAyB,CAAA;4BAErD,qBAAqB;4BACrB,IAAI,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE;gCAAE,OAAM;4BACrC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,IAAA,oBAAQ,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gCACtE,sBAAsB;gCACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,UAAG,GAAG,EAAE,gBAAM,IAAA,oBAAQ,EAAC,WAAW,CAAC,MAAG,CAAC,CAAC,CAAA;4BACnE,CAAC;4BACD,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAA;4BAE9B,IAAA,+BAAa,EACX,WAAW,EACX,OAAO,EACP,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAA;wBACH,CAAC,CAAC,CAAA;wBAEF,sBAAO,IAAI,CAAC,MAAM,EAAA;;;;KACnB;IACH,gBAAC;AAAD,CAAC,AA5KD,IA4KC"}
|
package/lib/bin/parse.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Matches the image syntax in Markdown
|
|
3
|
+
*/
|
|
1
4
|
export declare function fixImagePath(markdownContent: string, replaceFn: (imgUrl: string) => string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Matches the inline link syntax in Markdown
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
2
9
|
export declare function fixMDFilePath(markdownContent: string, replaceFn: (url: string, text: string) => string): string;
|
|
3
10
|
export default function convertHTML(htmlString: string): string;
|
package/lib/bin/parse.js
CHANGED
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.fixMDFilePath = exports.fixImagePath = void 0;
|
|
4
4
|
var converter_1 = require("../converter");
|
|
5
|
+
/**
|
|
6
|
+
* Matches the image syntax in Markdown
|
|
7
|
+
*/
|
|
5
8
|
function fixImagePath(markdownContent, replaceFn) {
|
|
6
|
-
// 匹配 Markdown 中的图片语法
|
|
7
9
|
var imgPattern = /!\[[^\]]*\]\(([^)]+)\)/g;
|
|
8
10
|
// 使用 replace 方法和提供的替换函数处理所有匹配项
|
|
9
11
|
return markdownContent.replace(imgPattern, function (match, imagePath) {
|
|
@@ -14,8 +16,11 @@ function fixImagePath(markdownContent, replaceFn) {
|
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
exports.fixImagePath = fixImagePath;
|
|
19
|
+
/**
|
|
20
|
+
* Matches the inline link syntax in Markdown
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
17
23
|
function fixMDFilePath(markdownContent, replaceFn) {
|
|
18
|
-
// 匹配 Markdown 中的内联链接语法
|
|
19
24
|
var inlineLinkPattern = /(.?)\[([^\]]*)]\(([^)]+)\)/g;
|
|
20
25
|
// 使用 replace 方法和提供的替换函数处理所有匹配项
|
|
21
26
|
return markdownContent.replace(inlineLinkPattern, function (match, markWord, linkText, linkUrl) {
|
package/lib/bin/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/bin/parse.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AAGvC,SAAgB,YAAY,CAAC,eAAuB,EAAE,SAAqC;IACzF,
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/bin/parse.ts"],"names":[],"mappings":";;;AAEA,0CAAuC;AAGvC;;GAEG;AACH,SAAgB,YAAY,CAAC,eAAuB,EAAE,SAAqC;IACzF,IAAM,UAAU,GAAG,yBAAyB,CAAC;IAE7C,+BAA+B;IAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,UAAC,KAAa,EAAE,SAAiB;QAC1E,2BAA2B;QAC3B,IAAM,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;QAE1C,aAAa;QACb,OAAO,YAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,eAAK,YAAY,MAAG,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,oCAWC;AAED;;;GAGG;AACH,SAAgB,aAAa,CAAC,eAAuB,EAAE,SAAgD;IACrG,IAAM,iBAAiB,GAAG,6BAA6B,CAAC;IAExD,+BAA+B;IAC/B,OAAO,eAAe,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO;QACnF,IAAI,UAAU,GAAG,OAAO,CAAA;QACxB,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACrB,yBAAyB;YACzB,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAC1C,OAAO,UAAG,QAAQ,cAAI,QAAQ,eAAK,UAAU,MAAG,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,OAAO,YAAK,QAAQ,eAAK,UAAU,MAAG,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAdD,sCAcC;AAGD,mCAAmC;AACnC,SAAwB,WAAW,CAAC,UAAkB;IACpD,IAAM,UAAU,GAAG,UAAU;SAC1B,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IACvB,wGAAwG;IACxG,OAAO;IACP,sGAAsG;IACtG,OAAO,IAAA,mBAAO,EAAC,UAAU,CAAC,CAAA;AAC5B,CAAC;AARD,8BAQC"}
|
package/lib/parseSection.js
CHANGED
|
@@ -1,34 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
4
|
};
|
|
28
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
6
|
exports.Section = void 0;
|
|
30
7
|
var path_1 = __importDefault(require("path"));
|
|
31
|
-
var autoSpace = __importStar(require("autocorrect-node"));
|
|
32
8
|
var parseLink_1 = __importDefault(require("./parseLink"));
|
|
33
9
|
var parseHTML_1 = __importDefault(require("./parseHTML"));
|
|
34
10
|
var converter_1 = require("./converter");
|
|
@@ -40,7 +16,7 @@ var Section = /** @class */ (function () {
|
|
|
40
16
|
var id = _a.id, htmlString = _a.htmlString, resourceResolver = _a.resourceResolver, idResolver = _a.idResolver, expand = _a.expand;
|
|
41
17
|
var _b;
|
|
42
18
|
this.id = id;
|
|
43
|
-
this.htmlString =
|
|
19
|
+
this.htmlString = htmlString;
|
|
44
20
|
this._resourceResolver = resourceResolver;
|
|
45
21
|
this._idResolver = idResolver;
|
|
46
22
|
if (expand) {
|
package/lib/parseSection.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseSection.js","sourceRoot":"","sources":["../src/parseSection.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parseSection.js","sourceRoot":"","sources":["../src/parseSection.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAuB;AACvB,0DAAmC;AACnC,0DAAmC;AACnC,yCAAqC;AAGrC,IAAM,aAAa,GAAG,UAAC,GAAW;IAChC,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;AACxE,CAAC,CAAA;AAUD;IAQE,iBAAY,EAA4E;YAA1E,EAAE,QAAA,EAAE,UAAU,gBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAA,EAAE,MAAM,YAAA;;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAA;QACzC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAA;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,WAAW,GAAG,MAAA,IAAI,CAAC,aAAa,oDAAI,CAAA;QAC3C,CAAC;IACH,CAAC;IAED,0BAAQ,GAAR,UAAS,WAA6B;QACpC,IAAI,CAAC,kBAAkB,GAAG,WAAW,IAAI,mBAAO,CAAC;QACjD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,4BAAU,GAAV;;QACE,OAAO,MAAA,IAAI,CAAC,kBAAkB,0CAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED,+BAAa,GAAb;QAAA,iBAyBC;QAxBC,OAAO,IAAA,mBAAS,EAAC,IAAI,CAAC,UAAU,EAAE;YAChC,WAAW,EAAE,UAAC,IAAI;;gBAChB,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChB,IAAA,IAAI,GAAK,IAAA,mBAAS,EAAC,IAAI,CAAC,KAApB,CAAoB;oBAChC,gDAAgD;oBAChD,IAAM,SAAS,GAAG,MAAA,KAAI,CAAC,WAAW,sDAAG,IAAI,CAAC,CAAA;oBAC1C,IAAI,IAAI,EAAE,CAAC;wBACT,OAAO,WAAI,SAAS,cAAI,IAAI,CAAE,CAAA;oBAChC,CAAC;oBACD,OAAO,WAAI,SAAS,CAAE,CAAA;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAA;YACb,CAAC;YACD,UAAU,EAAE,UAAC,GAAG;;gBACd,IAAI,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,sBAAsB;oBACtB,IAAM,YAAY,GAAG,cAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;oBAC3D,IAAM,MAAM,GAAG,MAAA,MAAA,KAAI,CAAC,iBAAiB,sDAAG,YAAY,CAAC,0CAAE,YAAY,EAAE,CAAA;oBACrE,IAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBACxC,OAAO,gCAAyB,MAAM,CAAE,CAAA;gBAC1C,CAAC;gBACD,OAAO,GAAG,CAAA;YACZ,CAAC;SACF,CAAC,CAAA;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AArDD,IAqDC;AArDY,0BAAO;AAuDpB,IAAM,YAAY,GAAG,UAAC,MAA0B;IAC9C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC,CAAA;AAED,kBAAe,YAAY,CAAA"}
|