-
Notifications
You must be signed in to change notification settings - Fork 3
ParameterToken
bhsd edited this page Nov 24, 2023
·
28 revisions
模板或魔术字的参数。
- 参数名。
var root = Parser.parse('{{a|b| c = 1}}'),
[anonymous, named] = root.querySelectorAll('parameter');
assert.strictEqual(anonymous.name, '1');
assert.strictEqual(named.name, 'c');- 是否是匿名参数。
var root = Parser.parse('{{a|b| c = 1}}'),
[anonymous, named] = root.querySelectorAll('parameter');
assert(anonymous.anon === true);
assert(named.anon === false);- 参数值。实际上获得自getValue方法。
var root = Parser.parse('{{a| b | c = 1 }}'),
[anonymous, named] = root.querySelectorAll('parameter');
assert.strictEqual(anonymous.value, ' b '); // 模板的匿名参数保留首尾的空白字符
assert.strictEqual(named.value, '1'); // 模板的命名参数不保留首尾的空白字符- 获取参数值。
var root = Parser.parse('{{a| b | c = 1 }}'),
[anonymous, named] = root.querySelectorAll('parameter');
assert.strictEqual(anonymous.getValue(), ' b '); // 模板的匿名参数保留首尾的空白字符
assert.strictEqual(named.getValue(), '1'); // 模板的命名参数不保留首尾的空白字符- 设置参数值。
var root = Parser.parse('{{a|b=1}}'),
param = root.querySelector('parameter');
param.setValue(' 2 ');
assert.strictEqual(root.toString(), '{{a|b= 2 }}'); // setValue方法总是保留空白字符,哪怕是无效的rename(key: string, force?: boolean = false): void
- 重命名参数,可选是否在导致重复参数时抛出错误。
var root = Parser.parse('{{a|b=1|c=2}}'),
param = root.querySelector('parameter');
try {
param.rename('c');
throw new Error();
} catch (e) {
assert.strictEqual(e.message, '参数更名造成重复参数:c');
}对维基文本批量执行语法检查的命令行工具
轻量级的维基模板解析器
维基文本语言服务器协议实现
用于维基文本的 VS Code 扩展
A command-line tool that performs linting on Wikitext in bulk
A lightweight Wikitext template parser
An implementation of the Language Server Protocol for Wikitext
VS Code extension for Wikitext