wikiparser-node 0.11.0-b → 0.11.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/config/.schema.json +18 -0
- package/config/default.json +1 -0
- package/config/llwiki.json +35 -0
- package/config/moegirl.json +44 -0
- package/config/zhwiki.json +466 -0
- package/dist/index.d.ts +114 -0
- package/dist/lib/element.d.ts +162 -0
- package/dist/lib/node.d.ts +291 -0
- package/dist/lib/ranges.d.ts +37 -0
- package/dist/lib/text.d.ts +64 -0
- package/dist/lib/title.d.ts +21 -0
- package/dist/mixin/attributeParent.d.ts +9 -0
- package/dist/mixin/fixedToken.d.ts +8 -0
- package/dist/mixin/hidden.d.ts +8 -0
- package/dist/mixin/singleLine.d.ts +8 -0
- package/dist/mixin/sol.d.ts +8 -0
- package/dist/parser/brackets.d.ts +12 -0
- package/dist/parser/commentAndExt.d.ts +8 -0
- package/dist/parser/converter.d.ts +7 -0
- package/dist/parser/externalLinks.d.ts +7 -0
- package/dist/parser/hrAndDoubleUnderscore.d.ts +11 -0
- package/dist/parser/html.d.ts +7 -0
- package/dist/parser/links.d.ts +7 -0
- package/dist/parser/list.d.ts +7 -0
- package/dist/parser/magicLinks.d.ts +7 -0
- package/dist/parser/quotes.d.ts +7 -0
- package/dist/parser/selector.d.ts +12 -0
- package/dist/parser/table.d.ts +11 -0
- package/dist/src/arg.d.ts +54 -0
- package/dist/src/atom/hidden.d.ts +5 -0
- package/dist/src/atom/index.d.ts +15 -0
- package/dist/src/attribute.d.ts +65 -0
- package/dist/src/attributes.d.ts +112 -0
- package/dist/src/charinsert.d.ts +32 -0
- package/dist/src/converter.d.ts +103 -0
- package/dist/src/converterFlags.d.ts +83 -0
- package/dist/src/converterRule.d.ts +75 -0
- package/dist/src/extLink.d.ts +62 -0
- package/dist/src/gallery.d.ts +33 -0
- package/dist/src/hasNowiki/index.d.ts +14 -0
- package/dist/src/hasNowiki/pre.d.ts +13 -0
- package/dist/src/heading.d.ts +44 -0
- package/dist/src/html.d.ts +56 -0
- package/dist/src/imageParameter.d.ts +65 -0
- package/dist/src/imagemap.d.ts +37 -0
- package/dist/src/imagemapLink.d.ts +21 -0
- package/dist/src/index.d.ts +186 -0
- package/dist/src/link/category.d.ts +16 -0
- package/dist/src/link/file.d.ts +85 -0
- package/dist/src/link/galleryImage.d.ts +15 -0
- package/dist/src/link/index.d.ts +88 -0
- package/dist/src/magicLink.d.ts +36 -0
- package/dist/src/nested/choose.d.ts +13 -0
- package/dist/src/nested/combobox.d.ts +13 -0
- package/dist/src/nested/index.d.ts +18 -0
- package/dist/src/nested/references.d.ts +13 -0
- package/dist/src/nowiki/comment.d.ts +31 -0
- package/dist/src/nowiki/dd.d.ts +17 -0
- package/dist/src/nowiki/doubleUnderscore.d.ts +22 -0
- package/dist/src/nowiki/hr.d.ts +13 -0
- package/dist/src/nowiki/index.d.ts +27 -0
- package/dist/src/nowiki/list.d.ts +8 -0
- package/dist/src/nowiki/noinclude.d.ts +8 -0
- package/dist/src/nowiki/quote.d.ts +13 -0
- package/dist/src/onlyinclude.d.ts +24 -0
- package/dist/src/paramTag/index.d.ts +29 -0
- package/dist/src/paramTag/inputbox.d.ts +8 -0
- package/dist/src/parameter.d.ts +75 -0
- package/dist/src/syntax.d.ts +20 -0
- package/dist/src/table/index.d.ts +273 -0
- package/dist/src/table/td.d.ts +100 -0
- package/dist/src/table/tr.d.ts +91 -0
- package/dist/src/tagPair/ext.d.ts +18 -0
- package/dist/src/tagPair/include.d.ts +25 -0
- package/dist/src/tagPair/index.d.ts +41 -0
- package/dist/src/transclude.d.ts +199 -0
- package/dist/tool/index.d.ts +420 -0
- package/dist/util/base.d.ts +10 -0
- package/dist/util/debug.d.ts +20 -0
- package/dist/util/diff.d.ts +8 -0
- package/dist/util/lint.d.ts +28 -0
- package/dist/util/string.d.ts +55 -0
- package/index.js +333 -0
- package/lib/element.js +618 -0
- package/lib/node.js +730 -0
- package/lib/ranges.js +130 -0
- package/lib/text.js +265 -0
- package/lib/title.js +83 -0
- package/mixin/attributeParent.js +117 -0
- package/mixin/fixedToken.js +40 -0
- package/mixin/hidden.js +21 -0
- package/mixin/singleLine.js +31 -0
- package/mixin/sol.js +54 -0
- package/package.json +17 -13
- package/parser/brackets.js +128 -0
- package/parser/commentAndExt.js +62 -0
- package/parser/converter.js +46 -0
- package/parser/externalLinks.js +33 -0
- package/parser/hrAndDoubleUnderscore.js +49 -0
- package/parser/html.js +42 -0
- package/parser/links.js +94 -0
- package/parser/list.js +59 -0
- package/parser/magicLinks.js +41 -0
- package/parser/quotes.js +64 -0
- package/parser/selector.js +180 -0
- package/parser/table.js +114 -0
- package/src/arg.js +207 -0
- package/src/atom/hidden.js +13 -0
- package/src/atom/index.js +43 -0
- package/src/attribute.js +472 -0
- package/src/attributes.js +453 -0
- package/src/charinsert.js +97 -0
- package/src/converter.js +176 -0
- package/src/converterFlags.js +284 -0
- package/src/converterRule.js +256 -0
- package/src/extLink.js +180 -0
- package/src/gallery.js +149 -0
- package/src/hasNowiki/index.js +44 -0
- package/src/hasNowiki/pre.js +40 -0
- package/src/heading.js +134 -0
- package/src/html.js +254 -0
- package/src/imageParameter.js +303 -0
- package/src/imagemap.js +199 -0
- package/src/imagemapLink.js +41 -0
- package/src/index.js +938 -0
- package/src/link/category.js +44 -0
- package/src/link/file.js +287 -0
- package/src/link/galleryImage.js +120 -0
- package/src/link/index.js +388 -0
- package/src/magicLink.js +151 -0
- package/src/nested/choose.js +24 -0
- package/src/nested/combobox.js +23 -0
- package/src/nested/index.js +96 -0
- package/src/nested/references.js +23 -0
- package/src/nowiki/comment.js +71 -0
- package/src/nowiki/dd.js +59 -0
- package/src/nowiki/doubleUnderscore.js +56 -0
- package/src/nowiki/hr.js +41 -0
- package/src/nowiki/index.js +56 -0
- package/src/nowiki/list.js +16 -0
- package/src/nowiki/noinclude.js +28 -0
- package/src/nowiki/quote.js +69 -0
- package/src/onlyinclude.js +64 -0
- package/src/paramTag/index.js +89 -0
- package/src/paramTag/inputbox.js +35 -0
- package/src/parameter.js +239 -0
- package/src/syntax.js +91 -0
- package/src/table/index.js +985 -0
- package/src/table/td.js +343 -0
- package/src/table/tr.js +319 -0
- package/src/tagPair/ext.js +146 -0
- package/src/tagPair/include.js +50 -0
- package/src/tagPair/index.js +131 -0
- package/src/transclude.js +843 -0
- package/tool/index.js +1209 -0
- package/typings/api.d.ts +9 -0
- package/typings/array.d.ts +29 -0
- package/typings/event.d.ts +22 -0
- package/typings/index.d.ts +118 -0
- package/typings/node.d.ts +35 -0
- package/typings/parser.d.ts +12 -0
- package/typings/table.d.ts +10 -0
- package/typings/token.d.ts +31 -0
- package/typings/tool.d.ts +6 -0
- package/util/base.js +17 -0
- package/util/debug.js +73 -0
- package/util/diff.js +76 -0
- package/util/lint.js +57 -0
- package/util/string.js +126 -0
- package/bundle/bundle.min.js +0 -38
- package/config/minimum.json +0 -135
- package/extensions/base.js +0 -154
- package/extensions/editor.css +0 -63
- package/extensions/editor.js +0 -183
- package/extensions/highlight.js +0 -40
- package/extensions/ui.css +0 -119
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export = GalleryToken;
|
|
2
|
+
/**
|
|
3
|
+
* gallery标签
|
|
4
|
+
* @classdesc `{childNodes: ...(GalleryImageToken|HiddenToken|AstText)}`
|
|
5
|
+
*/
|
|
6
|
+
declare class GalleryToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} inner 标签内部wikitext
|
|
9
|
+
* @param {import('../../typings/token').accum} accum
|
|
10
|
+
*/
|
|
11
|
+
constructor(inner: string, config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
|
|
12
|
+
/** 所有图片 */
|
|
13
|
+
get images(): this[];
|
|
14
|
+
/**
|
|
15
|
+
* @override
|
|
16
|
+
* @param {string} selector
|
|
17
|
+
*/
|
|
18
|
+
override toString(selector: string): string;
|
|
19
|
+
/** @override */
|
|
20
|
+
override text(): string;
|
|
21
|
+
/** @override */
|
|
22
|
+
override print(): string;
|
|
23
|
+
/** @override */
|
|
24
|
+
override cloneNode(): GalleryToken;
|
|
25
|
+
/**
|
|
26
|
+
* 插入图片
|
|
27
|
+
* @param {string} file 图片文件名
|
|
28
|
+
* @param {number} i 插入位置
|
|
29
|
+
* @throws `SyntaxError` 非法的文件名
|
|
30
|
+
*/
|
|
31
|
+
insertImage(file: string, i?: number): Token;
|
|
32
|
+
}
|
|
33
|
+
import Token = require(".");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export = HasNowikiToken;
|
|
2
|
+
/**
|
|
3
|
+
* `<pre>`
|
|
4
|
+
* @classdesc `{childNodes: [...AstText|NoincludeToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class HasNowikiToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} wikitext wikitext
|
|
9
|
+
* @param {string} type type
|
|
10
|
+
* @param {import('../../../typings/token').accum} accum
|
|
11
|
+
*/
|
|
12
|
+
constructor(wikitext: string, type: string, config?: import("../../../typings/token").ParserConfig, accum?: import('../../../typings/token').accum);
|
|
13
|
+
}
|
|
14
|
+
import Token = require("..");
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export = PreToken;
|
|
2
|
+
/**
|
|
3
|
+
* `<pre>`
|
|
4
|
+
* @classdesc `{childNodes: [...AstText|NoincludeToken|ConverterToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class PreToken extends HasNowikiToken {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} wikitext wikitext
|
|
9
|
+
* @param {import('../../../typings/token').accum} accum
|
|
10
|
+
*/
|
|
11
|
+
constructor(wikitext: string, config?: import("../../../typings/token").ParserConfig, accum?: import('../../../typings/token').accum);
|
|
12
|
+
}
|
|
13
|
+
import HasNowikiToken = require(".");
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export = HeadingToken;
|
|
2
|
+
/**
|
|
3
|
+
* 章节标题
|
|
4
|
+
* @classdesc `{childNodes: [Token, SyntaxToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class HeadingToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {number} level 标题层级
|
|
9
|
+
* @param {string[]} input 标题文字
|
|
10
|
+
* @param {import('../../typings/token').accum} accum
|
|
11
|
+
*/
|
|
12
|
+
constructor(level: number, input: string[], config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
|
|
13
|
+
/** 内部wikitext */
|
|
14
|
+
get innerText(): string;
|
|
15
|
+
/**
|
|
16
|
+
* @override
|
|
17
|
+
* @this {{prependNewLine(): ''|'\n'} & HeadingToken}
|
|
18
|
+
* @param {string} selector
|
|
19
|
+
* @returns {string}
|
|
20
|
+
*/
|
|
21
|
+
override toString(this: {
|
|
22
|
+
prependNewLine(): '' | '\n';
|
|
23
|
+
} & HeadingToken, selector: string): string;
|
|
24
|
+
/**
|
|
25
|
+
* @override
|
|
26
|
+
* @this {HeadingToken & {prependNewLine(): ''|'\n'}}
|
|
27
|
+
* @returns {string}
|
|
28
|
+
*/
|
|
29
|
+
override text(this: HeadingToken & {
|
|
30
|
+
prependNewLine(): '' | '\n';
|
|
31
|
+
}): string;
|
|
32
|
+
/** @override */
|
|
33
|
+
override print(): string;
|
|
34
|
+
/** @override */
|
|
35
|
+
override cloneNode(): HeadingToken;
|
|
36
|
+
/**
|
|
37
|
+
* 设置标题层级
|
|
38
|
+
* @param {number} n 标题层级
|
|
39
|
+
*/
|
|
40
|
+
setLevel(n: number): void;
|
|
41
|
+
/** 移除标题后的不可见内容 */
|
|
42
|
+
removeTrail(): void;
|
|
43
|
+
}
|
|
44
|
+
import Token = require(".");
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export = HtmlToken;
|
|
2
|
+
/**
|
|
3
|
+
* HTML标签
|
|
4
|
+
* @classdesc `{childNodes: [AttributesToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class HtmlToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} name 标签名
|
|
9
|
+
* @param {AttributesToken} attr 标签属性
|
|
10
|
+
* @param {boolean} closing 是否闭合
|
|
11
|
+
* @param {boolean} selfClosing 是否自封闭
|
|
12
|
+
* @param {import('../../typings/token').accum} accum
|
|
13
|
+
*/
|
|
14
|
+
constructor(name: string, attr: AttributesToken, closing: boolean, selfClosing: boolean, config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
|
|
15
|
+
/** @throws `Error` 自闭合标签或空标签 */
|
|
16
|
+
set closing(arg: boolean);
|
|
17
|
+
/** getter */
|
|
18
|
+
get closing(): boolean;
|
|
19
|
+
/** @throws `Error` 闭合标签或无效自闭合标签 */
|
|
20
|
+
set selfClosing(arg: boolean);
|
|
21
|
+
/** getter */
|
|
22
|
+
get selfClosing(): boolean;
|
|
23
|
+
/**
|
|
24
|
+
* @override
|
|
25
|
+
* @param {string} selector
|
|
26
|
+
*/
|
|
27
|
+
override toString(selector: string): string;
|
|
28
|
+
/** @override */
|
|
29
|
+
override text(): string;
|
|
30
|
+
/** @override */
|
|
31
|
+
override print(): string;
|
|
32
|
+
/**
|
|
33
|
+
* 搜索匹配的标签
|
|
34
|
+
* @complexity `n`
|
|
35
|
+
* @throws `SyntaxError` 同时闭合和自封闭的标签
|
|
36
|
+
* @throws `SyntaxError` 无效自封闭标签
|
|
37
|
+
* @throws `SyntaxError` 未闭合的标签
|
|
38
|
+
*/
|
|
39
|
+
findMatchingTag(): this | HtmlToken;
|
|
40
|
+
/** @override */
|
|
41
|
+
override cloneNode(): HtmlToken;
|
|
42
|
+
/**
|
|
43
|
+
* 更换标签名
|
|
44
|
+
* @param {string} tag 标签名
|
|
45
|
+
* @throws `RangeError` 非法的HTML标签
|
|
46
|
+
*/
|
|
47
|
+
replaceTag(tag: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* 修复无效自封闭标签
|
|
50
|
+
* @complexity `n`
|
|
51
|
+
* @throws `Error` 无法修复无效自封闭标签
|
|
52
|
+
*/
|
|
53
|
+
fix(): void;
|
|
54
|
+
#private;
|
|
55
|
+
}
|
|
56
|
+
import Token = require(".");
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export = ImageParameterToken;
|
|
2
|
+
/**
|
|
3
|
+
* 图片参数
|
|
4
|
+
* @classdesc `{childNodes: ...(AstText|Token)}`
|
|
5
|
+
*/
|
|
6
|
+
declare class ImageParameterToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} str 图片参数
|
|
9
|
+
* @param {import('../../typings/token').accum} accum
|
|
10
|
+
*/
|
|
11
|
+
constructor(str: string, config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
|
|
12
|
+
set link(arg: string | Title);
|
|
13
|
+
/** 图片链接 */
|
|
14
|
+
get link(): string | Title;
|
|
15
|
+
set value(arg: string | true);
|
|
16
|
+
/** getValue()的getter */
|
|
17
|
+
get value(): string | true;
|
|
18
|
+
/** 图片大小 */
|
|
19
|
+
get size(): {
|
|
20
|
+
width: string;
|
|
21
|
+
height: string;
|
|
22
|
+
};
|
|
23
|
+
set width(arg: string);
|
|
24
|
+
/** 图片宽度 */
|
|
25
|
+
get width(): string;
|
|
26
|
+
set height(arg: string);
|
|
27
|
+
/** 图片高度 */
|
|
28
|
+
get height(): string;
|
|
29
|
+
/**
|
|
30
|
+
* @override
|
|
31
|
+
* @param {string} selector
|
|
32
|
+
*/
|
|
33
|
+
override toString(selector: string): string;
|
|
34
|
+
/** @override */
|
|
35
|
+
override text(): string;
|
|
36
|
+
/** @override */
|
|
37
|
+
override print(): string;
|
|
38
|
+
/** @override */
|
|
39
|
+
override cloneNode(): ImageParameterToken;
|
|
40
|
+
/**
|
|
41
|
+
* @override
|
|
42
|
+
* @template {Token} T
|
|
43
|
+
* @param {T} token 待插入的子节点
|
|
44
|
+
* @param {number} i 插入位置
|
|
45
|
+
* @complexity `n`
|
|
46
|
+
* @throws `Error` 不接受自定义输入的图片参数
|
|
47
|
+
*/
|
|
48
|
+
override insertAt<T extends Token>(token: T, i?: number): T extends Token ? Token : AstText;
|
|
49
|
+
/**
|
|
50
|
+
* 获取参数值
|
|
51
|
+
* @complexity `n`
|
|
52
|
+
*/
|
|
53
|
+
getValue(): string | true;
|
|
54
|
+
/**
|
|
55
|
+
* 设置参数值
|
|
56
|
+
* @param {string|boolean} value 参数值
|
|
57
|
+
* @complexity `n`
|
|
58
|
+
* @throws SyntaxError` 非法的参数值
|
|
59
|
+
*/
|
|
60
|
+
setValue(value: string | boolean): void;
|
|
61
|
+
#private;
|
|
62
|
+
}
|
|
63
|
+
import Token = require(".");
|
|
64
|
+
import Title = require("../lib/title");
|
|
65
|
+
import AstText = require("../lib/text");
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export = ImagemapToken;
|
|
2
|
+
/**
|
|
3
|
+
* `<imagemap>`
|
|
4
|
+
* @classdesc `{childNodes: ...NoincludeToken, GalleryImageToken, ...(NoincludeToken|ImagemapLinkToken|AstText)}`
|
|
5
|
+
*/
|
|
6
|
+
declare class ImagemapToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} inner 标签内部wikitext
|
|
9
|
+
* @param {import('../../typings/token').accum} accum
|
|
10
|
+
* @throws `SyntaxError` 没有合法图片
|
|
11
|
+
*/
|
|
12
|
+
constructor(inner: string, config?: import("../../typings/token").ParserConfig, accum?: import('../../typings/token').accum);
|
|
13
|
+
/**
|
|
14
|
+
* 图片
|
|
15
|
+
* @returns {GalleryImageToken}
|
|
16
|
+
*/
|
|
17
|
+
get image(): GalleryImageToken;
|
|
18
|
+
/**
|
|
19
|
+
* 链接
|
|
20
|
+
* @returns {ImagemapLinkToken[]}
|
|
21
|
+
*/
|
|
22
|
+
get links(): ImagemapLinkToken[];
|
|
23
|
+
/**
|
|
24
|
+
* @override
|
|
25
|
+
* @param {string} selector
|
|
26
|
+
*/
|
|
27
|
+
override toString(selector: string): string;
|
|
28
|
+
/** @override */
|
|
29
|
+
override text(): string;
|
|
30
|
+
/** @override */
|
|
31
|
+
override print(): string;
|
|
32
|
+
/** @override */
|
|
33
|
+
override cloneNode(): ImagemapToken;
|
|
34
|
+
}
|
|
35
|
+
import Token = require(".");
|
|
36
|
+
import GalleryImageToken = require("./link/galleryImage");
|
|
37
|
+
import ImagemapLinkToken = require("./imagemapLink");
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export = ImagemapLinkToken;
|
|
2
|
+
/**
|
|
3
|
+
* `<imagemap>`内的链接
|
|
4
|
+
* @classdesc `{childNodes: [AstText, LinkToken|ExtLinkToken, NoincludeToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class ImagemapLinkToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} pre 链接前的文本
|
|
9
|
+
* @param {[string, string, string|Title]} linkStuff 内外链接
|
|
10
|
+
* @param {string} post 链接后的文本
|
|
11
|
+
* @param {import('../../typings/token').accum} accum
|
|
12
|
+
*/
|
|
13
|
+
constructor(pre: string, linkStuff: [string, string, string | Title], post: string, config: any, accum: import('../../typings/token').accum);
|
|
14
|
+
/**
|
|
15
|
+
* 内外链接
|
|
16
|
+
* @this {{childNodes: (LinkToken|ExtLinkToken)[]}}
|
|
17
|
+
*/
|
|
18
|
+
get link(): string | Title;
|
|
19
|
+
}
|
|
20
|
+
import Token = require(".");
|
|
21
|
+
import Title = require("../lib/title");
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
export = Token;
|
|
2
|
+
/**
|
|
3
|
+
* 所有节点的基类
|
|
4
|
+
* @classdesc `{childNodes: ...(AstText|Token)}`
|
|
5
|
+
*/
|
|
6
|
+
declare class Token extends AstElement {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} wikitext wikitext
|
|
9
|
+
* @param {import('../../typings/token').accum} accum
|
|
10
|
+
* @param {acceptable} acceptable 可接受的子节点设置
|
|
11
|
+
*/
|
|
12
|
+
constructor(wikitext: string, config?: import("../../typings/token").ParserConfig, halfParsed?: boolean, accum?: import('../../typings/token').accum, acceptable?: acceptable);
|
|
13
|
+
/** 所有图片,包括图库 */
|
|
14
|
+
get images(): Token[];
|
|
15
|
+
/** 所有内链、外链和自由外链 */
|
|
16
|
+
get links(): Token[];
|
|
17
|
+
/** 所有模板和模块 */
|
|
18
|
+
get embeds(): Token[];
|
|
19
|
+
/**
|
|
20
|
+
* @override
|
|
21
|
+
* @template {string} T
|
|
22
|
+
* @param {T} key 属性键
|
|
23
|
+
* @param {TokenAttribute<T>} value 属性值
|
|
24
|
+
*/
|
|
25
|
+
override setAttribute<T extends string>(key: T, value: import("../../typings/node").TokenAttribute<T>): Token | this;
|
|
26
|
+
/** 是否是普通节点 */
|
|
27
|
+
isPlain(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* @override
|
|
30
|
+
* @template {string|Token} T
|
|
31
|
+
* @param {T} token 待插入的子节点
|
|
32
|
+
* @param {number} i 插入位置
|
|
33
|
+
* @complexity `n`
|
|
34
|
+
* @returns {T extends Token ? Token : AstText}
|
|
35
|
+
* @throws `RangeError` 不可插入的子节点
|
|
36
|
+
*/
|
|
37
|
+
override insertAt<T_1 extends string | Token>(token: T_1, i?: number): T_1 extends Token ? Token : AstText;
|
|
38
|
+
/**
|
|
39
|
+
* 规范化页面标题
|
|
40
|
+
* @param {string} title 标题(含或不含命名空间前缀)
|
|
41
|
+
* @param {number} defaultNs 命名空间
|
|
42
|
+
* @param {boolean} decode 是否需要解码
|
|
43
|
+
* @param {boolean} selfLink 是否允许selfLink
|
|
44
|
+
*/
|
|
45
|
+
normalizeTitle(title: string, defaultNs?: number, halfParsed?: boolean, decode?: boolean, selfLink?: boolean): import("../lib/title");
|
|
46
|
+
/**
|
|
47
|
+
* @override
|
|
48
|
+
* @param {number} i 移除位置
|
|
49
|
+
* @returns {Token}
|
|
50
|
+
* @complexity `n`
|
|
51
|
+
* @throws `Error` 不可移除的子节点
|
|
52
|
+
*/
|
|
53
|
+
override removeAt(i: number): Token;
|
|
54
|
+
/**
|
|
55
|
+
* 替换为同类节点
|
|
56
|
+
* @param {Token} token 待替换的节点
|
|
57
|
+
* @complexity `n`
|
|
58
|
+
* @throws `Error` 不存在父节点
|
|
59
|
+
* @throws `Error` 待替换的节点具有不同属性
|
|
60
|
+
*/
|
|
61
|
+
safeReplaceWith(token: Token): void;
|
|
62
|
+
/**
|
|
63
|
+
* 创建HTML注释
|
|
64
|
+
* @param {string} data 注释内容
|
|
65
|
+
*/
|
|
66
|
+
createComment(data?: string): import("./nowiki/comment");
|
|
67
|
+
/**
|
|
68
|
+
* 创建标签
|
|
69
|
+
* @param {string} tagName 标签名
|
|
70
|
+
* @param {{selfClosing: boolean, closing: boolean}} options 选项
|
|
71
|
+
* @throws `RangeError` 非法的标签名
|
|
72
|
+
*/
|
|
73
|
+
createElement(tagName: string, { selfClosing, closing }?: {
|
|
74
|
+
selfClosing: boolean;
|
|
75
|
+
closing: boolean;
|
|
76
|
+
}): any;
|
|
77
|
+
/**
|
|
78
|
+
* 创建纯文本节点
|
|
79
|
+
* @param {string} data 文本内容
|
|
80
|
+
*/
|
|
81
|
+
createTextNode(data?: string): AstText;
|
|
82
|
+
/**
|
|
83
|
+
* 找到给定位置所在的节点
|
|
84
|
+
* @param {number} index 位置
|
|
85
|
+
*/
|
|
86
|
+
caretPositionFromIndex(index: number): {
|
|
87
|
+
offsetNode: Token;
|
|
88
|
+
offset: number;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* 找到给定位置所在的节点
|
|
92
|
+
* @param {number} x 列数
|
|
93
|
+
* @param {number} y 行数
|
|
94
|
+
*/
|
|
95
|
+
caretPositionFromPoint(x: number, y: number): {
|
|
96
|
+
offsetNode: Token;
|
|
97
|
+
offset: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* 找到给定位置所在的最外层节点
|
|
101
|
+
* @param {number} index 位置
|
|
102
|
+
* @throws `Error` 不是根节点
|
|
103
|
+
*/
|
|
104
|
+
elementFromIndex(index: number): this;
|
|
105
|
+
/**
|
|
106
|
+
* 找到给定位置所在的最外层节点
|
|
107
|
+
* @param {number} x 列数
|
|
108
|
+
* @param {number} y 行数
|
|
109
|
+
*/
|
|
110
|
+
elementFromPoint(x: number, y: number): this;
|
|
111
|
+
/**
|
|
112
|
+
* 找到给定位置所在的所有节点
|
|
113
|
+
* @param {number} index 位置
|
|
114
|
+
*/
|
|
115
|
+
elementsFromIndex(index: number): Token[];
|
|
116
|
+
/**
|
|
117
|
+
* 找到给定位置所在的所有节点
|
|
118
|
+
* @param {number} x 列数
|
|
119
|
+
* @param {number} y 行数
|
|
120
|
+
*/
|
|
121
|
+
elementsFromPoint(x: number, y: number): Token[];
|
|
122
|
+
/**
|
|
123
|
+
* 判断标题是否是跨维基链接
|
|
124
|
+
* @param {string} title 标题
|
|
125
|
+
*/
|
|
126
|
+
isInterwiki(title: string): RegExpMatchArray;
|
|
127
|
+
/**
|
|
128
|
+
* 深拷贝所有子节点
|
|
129
|
+
* @complexity `n`
|
|
130
|
+
* @returns {(AstText|Token)[]}
|
|
131
|
+
*/
|
|
132
|
+
cloneChildNodes(): (AstText | Token)[];
|
|
133
|
+
/**
|
|
134
|
+
* 深拷贝节点
|
|
135
|
+
* @complexity `n`
|
|
136
|
+
* @throws `Error` 未定义复制方法
|
|
137
|
+
*/
|
|
138
|
+
cloneNode(): Token;
|
|
139
|
+
/**
|
|
140
|
+
* 获取全部章节
|
|
141
|
+
* @complexity `n`
|
|
142
|
+
*/
|
|
143
|
+
sections(): (Token | AstText)[][];
|
|
144
|
+
/**
|
|
145
|
+
* 获取指定章节
|
|
146
|
+
* @param {number} n 章节序号
|
|
147
|
+
* @complexity `n`
|
|
148
|
+
*/
|
|
149
|
+
section(n: number): (Token | AstText)[];
|
|
150
|
+
/**
|
|
151
|
+
* 获取指定的外层HTML标签
|
|
152
|
+
* @param {string|undefined} tag HTML标签名
|
|
153
|
+
* @returns {[Token, Token]}
|
|
154
|
+
* @complexity `n`
|
|
155
|
+
* @throws `RangeError` 非法的标签或空标签
|
|
156
|
+
*/
|
|
157
|
+
findEnclosingHtml(tag: string | undefined): [Token, Token];
|
|
158
|
+
/**
|
|
159
|
+
* 获取全部分类
|
|
160
|
+
* @complexity `n`
|
|
161
|
+
*/
|
|
162
|
+
getCategories(): any[][];
|
|
163
|
+
/**
|
|
164
|
+
* 重新解析单引号
|
|
165
|
+
* @throws `Error` 不接受QuoteToken作为子节点
|
|
166
|
+
*/
|
|
167
|
+
redoQuotes(): void;
|
|
168
|
+
/** 解析部分魔术字 */
|
|
169
|
+
solveConst(): void;
|
|
170
|
+
/** 生成部分Token的`name`属性 */
|
|
171
|
+
afterBuild(): void;
|
|
172
|
+
/**
|
|
173
|
+
* 解析、重构、生成部分Token的`name`属性
|
|
174
|
+
* @param {number} n 最大解析层级
|
|
175
|
+
* @param {boolean} include 是否嵌入
|
|
176
|
+
*/
|
|
177
|
+
parse(n?: number, include?: boolean): Token;
|
|
178
|
+
#private;
|
|
179
|
+
}
|
|
180
|
+
declare namespace Token {
|
|
181
|
+
export { acceptable, TokenAttribute };
|
|
182
|
+
}
|
|
183
|
+
import AstElement = require("../lib/element");
|
|
184
|
+
import AstText = require("../lib/text");
|
|
185
|
+
type acceptable = import('../../typings/token').acceptable;
|
|
186
|
+
type TokenAttribute<T> = import('../../typings/node').TokenAttribute<T>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export = CategoryToken;
|
|
2
|
+
/**
|
|
3
|
+
* 分类
|
|
4
|
+
* @classdesc `{childNodes: [AtomToken, ?Token]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class CategoryToken extends LinkToken {
|
|
7
|
+
set sortkey(arg: string);
|
|
8
|
+
/** 分类排序关键字 */
|
|
9
|
+
get sortkey(): string;
|
|
10
|
+
/**
|
|
11
|
+
* 设置排序关键字
|
|
12
|
+
* @param {string} text 排序关键字
|
|
13
|
+
*/
|
|
14
|
+
setSortkey(text: string): void;
|
|
15
|
+
}
|
|
16
|
+
import LinkToken = require(".");
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export = FileToken;
|
|
2
|
+
/**
|
|
3
|
+
* 图片
|
|
4
|
+
* @classdesc `{childNodes: [AtomToken, ...ImageParameterToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class FileToken extends LinkToken {
|
|
7
|
+
set link(arg: string | import("../../lib/title"));
|
|
8
|
+
/** 图片链接 */
|
|
9
|
+
get link(): string | import("../../lib/title");
|
|
10
|
+
/** 图片大小 */
|
|
11
|
+
get size(): {
|
|
12
|
+
width: string;
|
|
13
|
+
height: string;
|
|
14
|
+
};
|
|
15
|
+
set width(arg: string);
|
|
16
|
+
/** 图片宽度 */
|
|
17
|
+
get width(): string;
|
|
18
|
+
set height(arg: string);
|
|
19
|
+
/** 图片高度 */
|
|
20
|
+
get height(): string;
|
|
21
|
+
/**
|
|
22
|
+
* 获取所有图片参数节点
|
|
23
|
+
* @returns {ImageParameterToken[]}
|
|
24
|
+
*/
|
|
25
|
+
getAllArgs(): ImageParameterToken[];
|
|
26
|
+
/**
|
|
27
|
+
* 获取指定图片参数
|
|
28
|
+
* @param {string} key 参数名
|
|
29
|
+
* @complexity `n`
|
|
30
|
+
*/
|
|
31
|
+
getArgs(key: string): ImageParameterToken[];
|
|
32
|
+
/** 获取图片框架属性参数节点 */
|
|
33
|
+
getFrameArgs(): ImageParameterToken[];
|
|
34
|
+
/** 获取图片水平对齐参数节点 */
|
|
35
|
+
getHorizAlignArgs(): ImageParameterToken[];
|
|
36
|
+
/** 获取图片垂直对齐参数节点 */
|
|
37
|
+
getVertAlignArgs(): ImageParameterToken[];
|
|
38
|
+
/**
|
|
39
|
+
* 获取生效的指定图片参数
|
|
40
|
+
* @param {string} key 参数名
|
|
41
|
+
* @complexity `n`
|
|
42
|
+
*/
|
|
43
|
+
getArg(key: string): ImageParameterToken;
|
|
44
|
+
/**
|
|
45
|
+
* 是否具有指定图片参数
|
|
46
|
+
* @param {string} key 参数名
|
|
47
|
+
* @complexity `n`
|
|
48
|
+
*/
|
|
49
|
+
hasArg(key: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* 移除指定图片参数
|
|
52
|
+
* @param {string} key 参数名
|
|
53
|
+
* @complexity `n`
|
|
54
|
+
*/
|
|
55
|
+
removeArg(key: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* 获取图片参数名
|
|
58
|
+
* @complexity `n`
|
|
59
|
+
*/
|
|
60
|
+
getKeys(): string[];
|
|
61
|
+
/**
|
|
62
|
+
* 获取指定的图片参数值
|
|
63
|
+
* @param {string} key 参数名
|
|
64
|
+
* @complexity `n`
|
|
65
|
+
*/
|
|
66
|
+
getValues(key: string): (string | true)[];
|
|
67
|
+
/**
|
|
68
|
+
* 获取生效的指定图片参数值
|
|
69
|
+
* @param {string} key 参数名
|
|
70
|
+
* @complexity `n`
|
|
71
|
+
*/
|
|
72
|
+
getValue(key: string): string | true;
|
|
73
|
+
/**
|
|
74
|
+
* 设置图片参数
|
|
75
|
+
* @param {string} key 参数名
|
|
76
|
+
* @param {string|boolean} value 参数值
|
|
77
|
+
* @complexity `n`
|
|
78
|
+
* @throws `RangeError` 未定义的图片参数
|
|
79
|
+
* @throws `SyntaxError` 非法的参数
|
|
80
|
+
*/
|
|
81
|
+
setValue(key: string, value: string | boolean): void;
|
|
82
|
+
#private;
|
|
83
|
+
}
|
|
84
|
+
import LinkToken = require(".");
|
|
85
|
+
import ImageParameterToken = require("../imageParameter");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export = GalleryImageToken;
|
|
2
|
+
/**
|
|
3
|
+
* 图片
|
|
4
|
+
* @classdesc `{childNodes: [AtomToken, ...ImageParameterToken]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class GalleryImageToken extends FileToken {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} link 图片文件名
|
|
9
|
+
* @param {string|undefined} text 图片参数
|
|
10
|
+
* @param {import('../../../typings/token').accum} accum
|
|
11
|
+
*/
|
|
12
|
+
constructor(link: string, text: string | undefined, config?: import("../../../typings/token").ParserConfig, accum?: import('../../../typings/token').accum);
|
|
13
|
+
#private;
|
|
14
|
+
}
|
|
15
|
+
import FileToken = require("./file");
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
export = LinkToken;
|
|
2
|
+
/**
|
|
3
|
+
* 内链
|
|
4
|
+
* @classdesc `{childNodes: [AtomToken, ?Token]}`
|
|
5
|
+
*/
|
|
6
|
+
declare class LinkToken extends Token {
|
|
7
|
+
/**
|
|
8
|
+
* @param {string} link 链接标题
|
|
9
|
+
* @param {string|undefined} linkText 链接显示文字
|
|
10
|
+
* @param {import('../../../typings/token').accum} accum
|
|
11
|
+
* @param {string} delimiter `|`
|
|
12
|
+
*/
|
|
13
|
+
constructor(link: string, linkText: string | undefined, config?: import("../../../typings/token").ParserConfig, accum?: import('../../../typings/token').accum, delimiter?: string);
|
|
14
|
+
set link(arg: import("../../lib/title"));
|
|
15
|
+
/** 完整链接,和FileToken保持一致 */
|
|
16
|
+
get link(): import("../../lib/title");
|
|
17
|
+
set selfLink(arg: boolean);
|
|
18
|
+
/** 是否链接到自身 */
|
|
19
|
+
get selfLink(): boolean;
|
|
20
|
+
set fragment(arg: string);
|
|
21
|
+
/** fragment */
|
|
22
|
+
get fragment(): string;
|
|
23
|
+
set interwiki(arg: string);
|
|
24
|
+
/** interwiki */
|
|
25
|
+
get interwiki(): string;
|
|
26
|
+
/** 链接显示文字 */
|
|
27
|
+
get innerText(): string;
|
|
28
|
+
/**
|
|
29
|
+
* @override
|
|
30
|
+
* @template {string} T
|
|
31
|
+
* @param {T} key 属性键
|
|
32
|
+
* @param {import('../../../typings/node').TokenAttribute<T>} value 属性值
|
|
33
|
+
*/
|
|
34
|
+
override setAttribute<T extends string>(key: T, value: import("../../../typings/node").TokenAttribute<T>): this | LinkToken;
|
|
35
|
+
/**
|
|
36
|
+
* @override
|
|
37
|
+
* @param {string} selector
|
|
38
|
+
*/
|
|
39
|
+
override toString(selector: string): string;
|
|
40
|
+
/** @override */
|
|
41
|
+
override text(): string;
|
|
42
|
+
/** @override */
|
|
43
|
+
override print(): string;
|
|
44
|
+
/**
|
|
45
|
+
* @override
|
|
46
|
+
* @this {LinkToken & {constructor: typeof LinkToken}}
|
|
47
|
+
*/
|
|
48
|
+
override cloneNode(this: LinkToken & {
|
|
49
|
+
constructor: typeof LinkToken;
|
|
50
|
+
}): LinkToken;
|
|
51
|
+
/**
|
|
52
|
+
* 设置链接目标
|
|
53
|
+
* @param {string} link 链接目标
|
|
54
|
+
* @throws `SyntaxError` 非法的链接目标
|
|
55
|
+
*/
|
|
56
|
+
setTarget(link: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* 设置跨语言链接
|
|
59
|
+
* @param {string} lang 语言前缀
|
|
60
|
+
* @param {string} link 页面标题
|
|
61
|
+
* @throws `SyntaxError` 非法的跨语言链接
|
|
62
|
+
*/
|
|
63
|
+
setLangLink(lang: string, link: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* 设置fragment
|
|
66
|
+
* @param {string} fragment fragment
|
|
67
|
+
*/
|
|
68
|
+
setFragment(fragment: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* 修改为到自身的链接
|
|
71
|
+
* @param {string} fragment fragment
|
|
72
|
+
* @throws `RangeError` 空fragment
|
|
73
|
+
*/
|
|
74
|
+
asSelfLink(fragment?: string): void;
|
|
75
|
+
/**
|
|
76
|
+
* 设置链接显示文字
|
|
77
|
+
* @param {string} linkText 链接显示文字
|
|
78
|
+
* @throws `SyntaxError` 非法的链接显示文字
|
|
79
|
+
*/
|
|
80
|
+
setLinkText(linkText?: string): void;
|
|
81
|
+
/**
|
|
82
|
+
* 自动生成管道符后的链接文字
|
|
83
|
+
* @throws `Error` 带有"#"或"%"时不可用
|
|
84
|
+
*/
|
|
85
|
+
pipeTrick(): void;
|
|
86
|
+
#private;
|
|
87
|
+
}
|
|
88
|
+
import Token = require("..");
|