wikiparse - bhsd-harry/wikiparser-node GitHub Wiki
目录
这是浏览器端的插件添加的全局变量,可以执行高亮静态代码或文本框、报告潜在的语法错误等多种操作。
展开
type: string
WikiParser-Node 的版本号。
展开
需要加载 CodeJar 插件。
type: Promise<(textbox: HTMLTextAreaElement, include?: boolean, linenums?: boolean) => CodeJar>
高亮文本框。
(await wikiparse.codejar)(document.getElementsByTagName('textarea')[0]);
展开
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,
'孤立的"{"',
);
})();
展开
param: Config
添加解析设置。预设的解析设置包含英文维基百科(enwiki
)、中文维基百科(zhwiki
)、萌娘百科(moegirl
)和 LLWiki(llwiki
)。如需定制一个 MediaWiki 站点的解析设置,请参考 .schema.json
填入相关内容。
const config = await (await fetch(
'https://cdn.jsdelivr.net/npm/wikiparser-node/config/zhwiki.json',
)).json();
wikiparse.setConfig(config);
展开
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,
},
],
);
})();
展开
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',
},
],
},
],
},
],
},
);
})();
展开
param: HTMLElement
静态代码所在的网页元素
param: number
行号起始值,可选
param: number
上方内边距,可选
returns: Promise<void>
给代码块添加行号。
wikiparse.lineNumbers(document.getElementsByTagName('pre')[0]);
展开
需要加载 Highlight 插件。
param: HTMLElement
静态代码所在的网页元素
param: boolean
是否嵌入,默认为 false
param: boolean
是否加注行号,默认为 false
param: number
行号起始值,可选
returns: Promise<void>
高亮静态代码。
wikiparse.highlight(document.getElementsByTagName('pre')[0], false, true);
展开
(已弃用)需要加载 Editor 插件。
param: HTMLTextAreaElement
文本框
param: boolean
是否嵌入,默认为 false
高亮文本框。
wikiparse.edit(document.getElementsByTagName('textarea')[0]);
参见 Linter。
参见 LanguageService。