wikiparser-node 1.0.0-beta.3 → 1.0.1-b
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 +10 -9
- package/bundle/bundle.min.js +37 -0
- package/config/llwiki.json +1 -35
- package/config/minimum.json +136 -0
- package/config/moegirl.json +1 -44
- package/config/zhwiki.json +1 -466
- package/extensions/dist/base.js +105 -0
- package/extensions/dist/editor.js +172 -0
- package/extensions/dist/highlight.js +46 -0
- package/extensions/dist/lint.js +43 -0
- package/extensions/editor.css +63 -0
- package/extensions/ui.css +119 -0
- package/package.json +35 -20
- package/config/.schema.json +0 -160
- package/dist/index.d.ts +0 -62
- package/dist/index.js +0 -305
- package/dist/internal.d.ts +0 -44
- package/dist/lib/element.d.ts +0 -186
- package/dist/lib/element.js +0 -659
- package/dist/lib/node.d.ts +0 -178
- package/dist/lib/node.js +0 -458
- package/dist/lib/range.d.ts +0 -132
- package/dist/lib/range.js +0 -387
- package/dist/lib/ranges.d.ts +0 -28
- package/dist/lib/ranges.js +0 -125
- package/dist/lib/text.d.ts +0 -78
- package/dist/lib/text.js +0 -227
- package/dist/lib/title.d.ts +0 -33
- package/dist/lib/title.js +0 -110
- package/dist/mixin/attributesParent.js +0 -93
- package/dist/mixin/fixed.js +0 -32
- package/dist/mixin/hidden.js +0 -23
- package/dist/mixin/singleLine.js +0 -26
- package/dist/mixin/sol.js +0 -44
- package/dist/parser/braces.js +0 -125
- package/dist/parser/commentAndExt.js +0 -58
- package/dist/parser/converter.js +0 -38
- package/dist/parser/externalLinks.js +0 -28
- package/dist/parser/hrAndDoubleUnderscore.js +0 -40
- package/dist/parser/html.js +0 -38
- package/dist/parser/links.js +0 -94
- package/dist/parser/list.js +0 -61
- package/dist/parser/magicLinks.js +0 -39
- package/dist/parser/quotes.js +0 -67
- package/dist/parser/selector.js +0 -165
- package/dist/parser/table.js +0 -117
- package/dist/src/arg.d.ts +0 -77
- package/dist/src/arg.js +0 -199
- package/dist/src/atom.d.ts +0 -11
- package/dist/src/atom.js +0 -24
- package/dist/src/attribute.d.ts +0 -106
- package/dist/src/attribute.js +0 -436
- package/dist/src/attributes.d.ts +0 -119
- package/dist/src/attributes.js +0 -366
- package/dist/src/converter.d.ts +0 -75
- package/dist/src/converter.js +0 -141
- package/dist/src/converterFlags.d.ts +0 -107
- package/dist/src/converterFlags.js +0 -238
- package/dist/src/converterRule.d.ts +0 -96
- package/dist/src/converterRule.js +0 -255
- package/dist/src/extLink.d.ts +0 -63
- package/dist/src/extLink.js +0 -157
- package/dist/src/gallery.d.ts +0 -70
- package/dist/src/gallery.js +0 -137
- package/dist/src/heading.d.ts +0 -82
- package/dist/src/heading.js +0 -135
- package/dist/src/hidden.d.ts +0 -19
- package/dist/src/hidden.js +0 -26
- package/dist/src/html.d.ts +0 -113
- package/dist/src/html.js +0 -245
- package/dist/src/imageParameter.d.ts +0 -82
- package/dist/src/imageParameter.js +0 -256
- package/dist/src/imagemap.d.ts +0 -77
- package/dist/src/imagemap.js +0 -169
- package/dist/src/imagemapLink.d.ts +0 -48
- package/dist/src/imagemapLink.js +0 -43
- package/dist/src/index.d.ts +0 -156
- package/dist/src/index.js +0 -819
- package/dist/src/link/base.d.ts +0 -69
- package/dist/src/link/base.js +0 -231
- package/dist/src/link/category.d.ts +0 -14
- package/dist/src/link/category.js +0 -28
- package/dist/src/link/file.d.ts +0 -105
- package/dist/src/link/file.js +0 -269
- package/dist/src/link/galleryImage.d.ts +0 -37
- package/dist/src/link/galleryImage.js +0 -100
- package/dist/src/link/index.d.ts +0 -50
- package/dist/src/link/index.js +0 -134
- package/dist/src/magicLink.d.ts +0 -46
- package/dist/src/magicLink.js +0 -131
- package/dist/src/nested.d.ts +0 -47
- package/dist/src/nested.js +0 -92
- package/dist/src/nowiki/base.d.ts +0 -38
- package/dist/src/nowiki/base.js +0 -31
- package/dist/src/nowiki/comment.d.ts +0 -42
- package/dist/src/nowiki/comment.js +0 -64
- package/dist/src/nowiki/dd.d.ts +0 -22
- package/dist/src/nowiki/dd.js +0 -46
- package/dist/src/nowiki/doubleUnderscore.d.ts +0 -35
- package/dist/src/nowiki/doubleUnderscore.js +0 -48
- package/dist/src/nowiki/hr.d.ts +0 -30
- package/dist/src/nowiki/hr.js +0 -36
- package/dist/src/nowiki/index.d.ts +0 -19
- package/dist/src/nowiki/index.js +0 -23
- package/dist/src/nowiki/list.d.ts +0 -16
- package/dist/src/nowiki/list.js +0 -13
- package/dist/src/nowiki/noinclude.d.ts +0 -21
- package/dist/src/nowiki/noinclude.js +0 -24
- package/dist/src/nowiki/quote.d.ts +0 -27
- package/dist/src/nowiki/quote.js +0 -58
- package/dist/src/onlyinclude.d.ts +0 -38
- package/dist/src/onlyinclude.js +0 -66
- package/dist/src/paramTag/index.d.ts +0 -50
- package/dist/src/paramTag/index.js +0 -78
- package/dist/src/paramTag/inputbox.d.ts +0 -7
- package/dist/src/paramTag/inputbox.js +0 -21
- package/dist/src/parameter.d.ts +0 -95
- package/dist/src/parameter.js +0 -204
- package/dist/src/pre.d.ts +0 -27
- package/dist/src/pre.js +0 -44
- package/dist/src/syntax.d.ts +0 -22
- package/dist/src/syntax.js +0 -67
- package/dist/src/table/base.d.ts +0 -60
- package/dist/src/table/base.js +0 -80
- package/dist/src/table/index.d.ts +0 -247
- package/dist/src/table/index.js +0 -783
- package/dist/src/table/td.d.ts +0 -119
- package/dist/src/table/td.js +0 -268
- package/dist/src/table/tr.d.ts +0 -31
- package/dist/src/table/tr.js +0 -50
- package/dist/src/table/trBase.d.ts +0 -62
- package/dist/src/table/trBase.js +0 -157
- package/dist/src/tagPair/ext.d.ts +0 -54
- package/dist/src/tagPair/ext.js +0 -150
- package/dist/src/tagPair/include.d.ts +0 -43
- package/dist/src/tagPair/include.js +0 -43
- package/dist/src/tagPair/index.d.ts +0 -57
- package/dist/src/tagPair/index.js +0 -113
- package/dist/src/transclude.d.ts +0 -200
- package/dist/src/transclude.js +0 -732
- package/dist/util/debug.js +0 -42
- package/dist/util/diff.js +0 -71
- package/dist/util/lint.js +0 -38
- package/dist/util/string.js +0 -74
- package/errors/README +0 -1
- package/printed/README +0 -1
package/dist/util/debug.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.undo = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* 撤销最近一次Mutation
|
|
6
|
-
* @param e 事件
|
|
7
|
-
* @param data 事件数据
|
|
8
|
-
* @throws `RangeError` 无法撤销的事件类型
|
|
9
|
-
*/
|
|
10
|
-
const undo = (e, data) => {
|
|
11
|
-
const { target, type } = e;
|
|
12
|
-
switch (type) {
|
|
13
|
-
case 'remove': {
|
|
14
|
-
const childNodes = [...target.childNodes];
|
|
15
|
-
childNodes.splice(data.position, 0, data.removed);
|
|
16
|
-
data.removed.setAttribute('parentNode', target);
|
|
17
|
-
target.setAttribute('childNodes', childNodes);
|
|
18
|
-
break;
|
|
19
|
-
}
|
|
20
|
-
case 'insert': {
|
|
21
|
-
const childNodes = [...target.childNodes];
|
|
22
|
-
childNodes.splice(data.position, 1);
|
|
23
|
-
target.setAttribute('childNodes', childNodes);
|
|
24
|
-
break;
|
|
25
|
-
}
|
|
26
|
-
case 'replace': {
|
|
27
|
-
const { parentNode } = target, childNodes = [...parentNode.childNodes];
|
|
28
|
-
childNodes.splice(data.position, 1, data.oldToken);
|
|
29
|
-
data.oldToken.setAttribute('parentNode', parentNode);
|
|
30
|
-
parentNode.setAttribute('childNodes', childNodes);
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
case 'text':
|
|
34
|
-
if (target.type === 'text') {
|
|
35
|
-
target.replaceData(data.oldText);
|
|
36
|
-
}
|
|
37
|
-
break;
|
|
38
|
-
default:
|
|
39
|
-
throw new RangeError(`无法撤销未知类型的事件:${String(type)}`);
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
exports.undo = undo;
|
package/dist/util/diff.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.diff = void 0;
|
|
4
|
-
const fs = require("fs/promises");
|
|
5
|
-
const child_process_1 = require("child_process");
|
|
6
|
-
process.on('unhandledRejection', e => {
|
|
7
|
-
console.error(e);
|
|
8
|
-
});
|
|
9
|
-
/**
|
|
10
|
-
* 将shell命令转化为Promise对象
|
|
11
|
-
* @param command shell指令
|
|
12
|
-
* @param args shell输入参数
|
|
13
|
-
*/
|
|
14
|
-
const cmd = (command, args) => new Promise(resolve => {
|
|
15
|
-
let timer, shell;
|
|
16
|
-
/**
|
|
17
|
-
* 清除进程并返回
|
|
18
|
-
* @param val 返回值
|
|
19
|
-
*/
|
|
20
|
-
const r = (val) => {
|
|
21
|
-
clearTimeout(timer);
|
|
22
|
-
shell?.kill('SIGINT');
|
|
23
|
-
resolve(val);
|
|
24
|
-
};
|
|
25
|
-
try {
|
|
26
|
-
shell = (0, child_process_1.spawn)(command, args);
|
|
27
|
-
timer = setTimeout(() => {
|
|
28
|
-
shell.kill('SIGINT');
|
|
29
|
-
}, 60 * 1000);
|
|
30
|
-
let buf = '';
|
|
31
|
-
shell.stdout.on('data', data => {
|
|
32
|
-
buf += String(data);
|
|
33
|
-
});
|
|
34
|
-
shell.stdout.on('end', () => {
|
|
35
|
-
r(buf);
|
|
36
|
-
});
|
|
37
|
-
shell.on('exit', () => {
|
|
38
|
-
r(shell.killed ? undefined : '');
|
|
39
|
-
});
|
|
40
|
-
shell.on('error', () => {
|
|
41
|
-
r(undefined);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
r(undefined);
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
/**
|
|
49
|
-
* 比较两个文件
|
|
50
|
-
* @param oldStr 旧文本
|
|
51
|
-
* @param newStr 新文本
|
|
52
|
-
* @param uid 唯一标识
|
|
53
|
-
*/
|
|
54
|
-
const diff = async (oldStr, newStr, uid = -1) => {
|
|
55
|
-
if (oldStr === newStr) {
|
|
56
|
-
return;
|
|
57
|
-
}
|
|
58
|
-
const oldFile = `diffOld${uid}`, newFile = `diffNew${uid}`;
|
|
59
|
-
await Promise.all([fs.writeFile(oldFile, oldStr), fs.writeFile(newFile, newStr)]);
|
|
60
|
-
const stdout = await cmd('git', [
|
|
61
|
-
'diff',
|
|
62
|
-
'--color-words=[\xC0-\xFF][\x80-\xBF]+|<?/?\\w+/?>?|[^[:space:]]',
|
|
63
|
-
'-U0',
|
|
64
|
-
'--no-index',
|
|
65
|
-
oldFile,
|
|
66
|
-
newFile,
|
|
67
|
-
]);
|
|
68
|
-
await Promise.all([fs.unlink(oldFile), fs.unlink(newFile)]);
|
|
69
|
-
console.log(stdout?.split('\n')?.slice(4)?.join('\n'));
|
|
70
|
-
};
|
|
71
|
-
exports.diff = diff;
|
package/dist/util/lint.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateForSelf = exports.generateForChild = void 0;
|
|
4
|
-
const index_1 = require("../index");
|
|
5
|
-
/**
|
|
6
|
-
* 生成对于子节点的LintError对象
|
|
7
|
-
* @param child 子节点
|
|
8
|
-
* @param boundingRect 父节点的绝对定位
|
|
9
|
-
* @param msg 错误信息
|
|
10
|
-
* @param severity 严重程度
|
|
11
|
-
*/
|
|
12
|
-
const generateForChild = (child, boundingRect, msg, severity = 'error') => {
|
|
13
|
-
const index = child.getRelativeIndex(), { offsetHeight, offsetWidth, parentNode } = child, { top: offsetTop, left: offsetLeft } = parentNode.posFromIndex(index), { start } = boundingRect, { top, left } = 'top' in boundingRect ? boundingRect : child.getRootNode().posFromIndex(start), str = String(child), excerpt = str.slice(0, 50), startIndex = start + index, endIndex = startIndex + str.length, startLine = top + offsetTop, endLine = startLine + offsetHeight - 1, startCol = offsetTop ? offsetLeft : left + offsetLeft, endCol = offsetHeight === 1 ? startCol + offsetWidth : offsetWidth;
|
|
14
|
-
return { message: index_1.default.msg(msg), severity, startIndex, endIndex, startLine, endLine, startCol, endCol, excerpt };
|
|
15
|
-
};
|
|
16
|
-
exports.generateForChild = generateForChild;
|
|
17
|
-
/**
|
|
18
|
-
* 生成对于自己的LintError对象
|
|
19
|
-
* @param token 节点
|
|
20
|
-
* @param boundingRect 绝对定位
|
|
21
|
-
* @param msg 错误信息
|
|
22
|
-
* @param severity 严重程度
|
|
23
|
-
*/
|
|
24
|
-
const generateForSelf = (token, boundingRect, msg, severity = 'error') => {
|
|
25
|
-
const { start } = boundingRect, { offsetHeight, offsetWidth } = token, str = String(token), { top, left } = 'top' in boundingRect ? boundingRect : token.getRootNode().posFromIndex(start);
|
|
26
|
-
return {
|
|
27
|
-
message: index_1.default.msg(msg),
|
|
28
|
-
severity,
|
|
29
|
-
startIndex: start,
|
|
30
|
-
endIndex: start + str.length,
|
|
31
|
-
startLine: top,
|
|
32
|
-
endLine: top + offsetHeight - 1,
|
|
33
|
-
startCol: left,
|
|
34
|
-
endCol: offsetHeight === 1 ? left + offsetWidth : offsetWidth,
|
|
35
|
-
excerpt: str.slice(0, 50),
|
|
36
|
-
};
|
|
37
|
-
};
|
|
38
|
-
exports.generateForSelf = generateForSelf;
|
package/dist/util/string.js
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.normalizeSpace = exports.noWrap = exports.toCase = exports.decodeHtml = exports.text = exports.escapeRegExp = exports.print = exports.removeComment = exports.extUrlChar = exports.extUrlCharFirst = void 0;
|
|
4
|
-
exports.extUrlCharFirst = '(?:\\[[\\da-f:.]+\\]|[^[\\]<>"\\0-\\x1F\\x7F\\p{Zs}\\uFFFD])';
|
|
5
|
-
exports.extUrlChar = '(?:[^[\\]<>"\\0-\\x1F\\x7F\\p{Zs}\\uFFFD]|\\0\\d+c\\x7F)*';
|
|
6
|
-
/**
|
|
7
|
-
* remove half-parsed comment-like tokens
|
|
8
|
-
* @browser
|
|
9
|
-
* @param str 原字符串
|
|
10
|
-
*/
|
|
11
|
-
const removeComment = (str) => str.replace(/\0\d+c\x7F/gu, '');
|
|
12
|
-
exports.removeComment = removeComment;
|
|
13
|
-
/**
|
|
14
|
-
* 以HTML格式打印
|
|
15
|
-
* @browser
|
|
16
|
-
* @param childNodes 子节点
|
|
17
|
-
* @param opt 选项
|
|
18
|
-
*/
|
|
19
|
-
const print = (childNodes, opt = {}) => {
|
|
20
|
-
const { pre = '', post = '', sep = '' } = opt, entities = { '&': 'amp', '<': 'lt', '>': 'gt' };
|
|
21
|
-
return `${pre}${childNodes.map(child => child.type === 'text'
|
|
22
|
-
? child.data.replace(/[&<>]/gu, p => `&${entities[p]};`)
|
|
23
|
-
: child.print()).join(sep)}${post}`;
|
|
24
|
-
};
|
|
25
|
-
exports.print = print;
|
|
26
|
-
/**
|
|
27
|
-
* escape special chars for RegExp constructor
|
|
28
|
-
* @browser
|
|
29
|
-
* @param str RegExp source
|
|
30
|
-
*/
|
|
31
|
-
const escapeRegExp = (str) => str.replace(/[\\{}()|.?*+^$[\]]/gu, '\\$&');
|
|
32
|
-
exports.escapeRegExp = escapeRegExp;
|
|
33
|
-
/**
|
|
34
|
-
* extract effective wikitext
|
|
35
|
-
* @browser
|
|
36
|
-
* @param childNodes a Token's contents
|
|
37
|
-
* @param separator delimiter between nodes
|
|
38
|
-
*/
|
|
39
|
-
const text = (childNodes, separator = '') => childNodes.map(child => typeof child === 'string' ? child : child.text()).join(separator);
|
|
40
|
-
exports.text = text;
|
|
41
|
-
/**
|
|
42
|
-
* decode HTML entities
|
|
43
|
-
* @browser
|
|
44
|
-
* @param str 原字符串
|
|
45
|
-
*/
|
|
46
|
-
const decodeHtml = (str) => str.replace(/&#(\d+|x[\da-f]+);/giu, (_, code) => String.fromCodePoint(Number(`${code[0].toLowerCase() === 'x' ? '0' : ''}${code}`)));
|
|
47
|
-
exports.decodeHtml = decodeHtml;
|
|
48
|
-
/**
|
|
49
|
-
* optionally convert to lower cases
|
|
50
|
-
* @param val 属性值
|
|
51
|
-
* @param i 是否对大小写不敏感
|
|
52
|
-
*/
|
|
53
|
-
const toCase = (val, i) => i ? val.toLowerCase() : val;
|
|
54
|
-
exports.toCase = toCase;
|
|
55
|
-
/**
|
|
56
|
-
* escape newlines
|
|
57
|
-
* @param str 原字符串
|
|
58
|
-
*/
|
|
59
|
-
const noWrap = (str) => str.replaceAll('\n', '\\n');
|
|
60
|
-
exports.noWrap = noWrap;
|
|
61
|
-
/**
|
|
62
|
-
* convert newline in text nodes to single whitespace
|
|
63
|
-
* @param token 父节点
|
|
64
|
-
*/
|
|
65
|
-
const normalizeSpace = (token) => {
|
|
66
|
-
if (token) {
|
|
67
|
-
for (const child of token.childNodes) {
|
|
68
|
-
if (child.type === 'text') {
|
|
69
|
-
child.replaceData(child.data.replaceAll('\n', ' '));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
exports.normalizeSpace = normalizeSpace;
|
package/errors/README
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
这里记录解析失败时处于半解析状态的维基文本以及错误信息。
|
package/printed/README
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
这里存放以 JSON 格式打印的 AST。
|