wikiparse - bhsd-harry/wikiparser-node GitHub Wiki

目录

Other Languages

简介

这是浏览器端的插件添加的全局变量,可以执行高亮静态代码或文本框、报告潜在的语法错误等多种操作。

Properties

version

展开

type: string
WikiParser-Node 的版本号。

codejar

展开

需要加载 CodeJar 插件。

type: Promise<(textbox: HTMLTextAreaElement, include?: boolean, linenums?: boolean) => CodeJar>
高亮文本框。

(await wikiparse.codejar)(document.getElementsByTagName('textarea')[0]);

Methods

setI18N

展开

param: Record<string, string>
设置语言。默认语言为英文,其他预设的语言包含简体中文繁体中文

// setI18N (browser)
(async () => {
	const wikitext = '{{';
	assert.strictEqual(
		(await wikiparse.lint(wikitext))[0].message,
		'lonely "{"',
	);
	const i18n = await (await fetch(
		'https://cdn.jsdelivr.net/npm/wikiparser-node/i18n/zh-hans.json',
	)).json();
	wikiparse.setI18N(i18n);
	assert.strictEqual(
		(await wikiparse.lint(wikitext))[0].message,
		'孤立的"{"',
	);
})();

setConfig

展开

param: Config
添加解析设置。预设的解析设置包含英文维基百科enwiki)、中文维基百科zhwiki)、萌娘百科moegirl)和 LLWikillwiki)。如需定制一个 MediaWiki 站点的解析设置,请参考 .schema.json 填入相关内容。

const config = await (await fetch(
	'https://cdn.jsdelivr.net/npm/wikiparser-node/config/zhwiki.json',
)).json();
wikiparse.setConfig(config);

getConfig

展开

returns: Promise<Config>
获取解析设置。

const config = await wikiparse.getConfig();

lint

展开

param: string 维基文本
param: boolean 是否嵌入,默认为 false
returns: Promise<LintError[]>
报告潜在语法错误。

// lint (browser)
(async () => {
	assert.deepStrictEqual(
		await wikiparse.lint('[[a]'),
		[
			{
				rule: 'lonely-bracket',
				message: 'lonely "["',
				severity: 'error',
				startIndex: 0,
				startLine: 0,
				startCol: 0,
				endIndex: 2,
				endLine: 0,
				endCol: 2,
			},
		],
	);
})();

json

展开

param: string 维基文本
param: boolean 是否嵌入,默认为 false
returns: Promise<AST>
生成 JSON 格式的 AST。

// json (browser)
(async () => {
	assert.deepStrictEqual(
		await wikiparse.json('[[a]]'),
		{
			range: [0, 5],
			type: 'root',
			childNodes: [
				{
					range: [0, 5],
					type: 'link',
					name: 'A',
					childNodes: [
						{
							range: [2, 3],
							type: 'link-target',
							childNodes: [
								{
									range: [2, 3],
									data: 'a',
								},
							],
						},
					],
				},
			],
		},
	);
})();

lineNumbers

展开

param: HTMLElement 静态代码所在的网页元素
param: number 行号起始值,可选
param: number 上方内边距,可选
returns: Promise<void>
给代码块添加行号。

wikiparse.lineNumbers(document.getElementsByTagName('pre')[0]);

highlight

展开

需要加载 Highlight 插件。

param: HTMLElement 静态代码所在的网页元素
param: boolean 是否嵌入,默认为 false
param: boolean 是否加注行号,默认为 false
param: number 行号起始值,可选
returns: Promise<void>
高亮静态代码。

wikiparse.highlight(document.getElementsByTagName('pre')[0], false, true);

edit

展开

(已弃用)需要加载 Editor 插件。

param: HTMLTextAreaElement 文本框
param: boolean 是否嵌入,默认为 false
高亮文本框。

wikiparse.edit(document.getElementsByTagName('textarea')[0]);

Constructors

Linter

参见 Linter

LanguageService

参见 LanguageService

⚠️ **GitHub.com Fallback** ⚠️