ImageParameterToken - bhsd-harry/wikiparser-node GitHub Wiki
目录
图片参数。这个类继承了 Token 类的全部属性和方法,这里不再列出。
✅ 展开
type: string
参数名。
// name
var param = Parser.parse('[[file:a|b]]').querySelector('image-parameter');
assert.equal(param, 'b');
assert.strictEqual(param.name, 'caption');✅ 展开
type: string | Title
图片链接。
// link
var param = Parser.parse('[[file:a|link=//b]]')
.querySelector('image-parameter');
assert.equal(param, 'link=//b');
assert.strictEqual(param.link, '//b');// link (main)
var param = Parser.parse('[[file:a|link=//b]]')
.querySelector('image-parameter');
param.link = 'c';
assert.equal(param, 'link=c');✅ 展开
加入的版本:1.29.0
type: Title
缩略图文件名。
// thumb
var param = Parser.parse('[[file:a|thumb=b]]')
.querySelector('image-parameter');
assert.equal(param, 'thumb=b');
assert.deepStrictEqual(param.thumb, param.normalizeTitle('b', 6, {page: ''}));// thumb (main)
var param = Parser.parse('[[file:a|thumb=b]]')
.querySelector('image-parameter');
param.thumb = 'c';
assert.equal(param, 'thumb=c');展开
type: string | true
见 getValue 和 setValue 方法。
// value (main)
var param = Parser.parse('[[file:a|thumb]]').querySelector('image-parameter');
assert.equal(param, 'thumb');
assert.strictEqual(param.value, true);
param.value = false;
assert.strictEqual(param.parentNode, undefined);展开
type: {width: string, height: string}
图片大小。
// size (main)
var param = Parser.parse('[[file:a|1px]]').querySelector('image-parameter');
assert.equal(param, '1px');
assert.deepStrictEqual(param.size, {width: '1', height: ''});
param.size = {width: '', height: '2'};
assert.equal(param, 'x2px');展开
type: number
图片宽度。
// width (main)
var param = Parser.parse('[[file:a|1x1px]]').querySelector('image-parameter');
assert.equal(param, '1x1px');
assert.strictEqual(param.width, '1');
param.width = undefined;
assert.equal(param, 'x1px');展开
type: number
图片高度。
// height (main)
var param = Parser.parse('[[file:a|1x1px]]').querySelector('image-parameter');
assert.equal(param, '1x1px');
assert.strictEqual(param.height, '1');
param.height = undefined;
assert.equal(param, '1px');✅ 展开
returns: LintError[]
报告潜在语法错误。
// lint
var param = Parser.parse('[[file:a|link=%25%]]')
.querySelector('image-parameter');
assert.equal(param, 'link=%25%');
assert.deepStrictEqual(param.lint(), [
{
rule: 'url-encoding',
severity: 'warning',
message: 'unnecessary percent-encoding in an internal link',
startLine: 0,
startCol: 9,
startIndex: 9,
endLine: 0,
endCol: 18,
endIndex: 18,
fix: {
desc: 'decode',
range: [9, 18],
text: 'link=%%',
},
},
]);✅ 展开
returns: string | true
获取参数值。
// getValue
var [thumbnail, width] = Parser.parse('[[file:a|thumb|100px]]')
.querySelectorAll('image-parameter');
assert.equal(thumbnail, 'thumb');
assert.equal(width, '100px');
assert.strictEqual(thumbnail.getValue(), true);
assert.strictEqual(width.getValue(), '100');展开
returns: this
深拷贝节点。
// cloneNode (main)
var param = Parser.parse('[[file:a|link=b]]').querySelector('image-parameter');
assert.equal(param, 'link=b');
assert.deepStrictEqual(param.cloneNode(), param);展开
param: string | true 参数值
设置参数值。
// setValue (main)
var [thumbnail, width] = Parser.parse('[[file:a|thumb|100px]]')
.querySelectorAll('image-parameter');
assert.equal(thumbnail, 'thumb');
assert.equal(width, '100px');
thumbnail.setValue(false);
width.setValue('x100');
assert.strictEqual(thumbnail.parentNode, undefined);
assert.equal(width, 'x100px');展开
加入的版本:1.11.0
returns: string URL
图片链接。
// getUrl (main)
var link = Parser.parse('[[file:a|link=//a]]')
.querySelector('image-parameter');
assert.equal(link, 'link=//a');
assert.strictEqual(link.getUrl(), 'https://a/');