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');
展开
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: 'error',
message: 'unnecessary URL encoding in an internal link',
startLine: 0,
startCol: 9,
startIndex: 9,
endLine: 0,
endCol: 18,
endIndex: 18,
suggestions: [
{
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.ok(thumbnail.getValue());
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/');