-
Notifications
You must be signed in to change notification settings - Fork 2
RedirectTargetToken
Bhsd edited this page Jan 22, 2025
·
5 revisions
重定向目标。RedirectTargetToken 继承了 LinkBaseToken 类的全部属性和方法,这里不再列出。
✅ 展开
type: 'redirect-target'
// type
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a]]');
assert.equal(lastChild, '[[a]]');
assert.strictEqual(lastChild.type, 'redirect-target');
展开
加入的版本: 1.10.0
type: string
链接文本,只读。
// innerText (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a_b#a_b|b]]');
assert.equal(lastChild, '[[a_b#a_b|b]]');
assert.strictEqual(lastChild.innerText, 'A b#a_b');
✅ 展开
returns: LintError[]
报告潜在语法错误。
// lint
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
assert.deepStrictEqual(lastChild.lint(), [
{
rule: 'no-ignored',
severity: 'error',
message: 'useless link text',
startLine: 0,
startCol: 13,
startIndex: 13,
endLine: 0,
endCol: 15,
endIndex: 15,
fix: {
range: [13, 15],
text: '',
desc: 'remove',
},
},
]);
展开
param: this
深拷贝节点。
// cloneNode (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
assert.deepStrictEqual(lastChild.cloneNode(), lastChild);
展开
param: string
设置链接目标。
// setTarget (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a]]');
assert.equal(lastChild, '[[a]]');
lastChild.setTarget('b');
assert.equal(lastChild, '[[b]]');
lastChild.setTarget('category:c');
assert.equal(lastChild, '[[category:c]]');
展开
param: string
设置fragment。
// setFragment (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a#a]]');
assert.equal(lastChild, '[[a#a]]');
lastChild.setFragment();
assert.equal(lastChild, '[[A]]'); // 这个方法会同时规范化页面名
lastChild.setFragment('b');
assert.equal(lastChild, '[[A#b]]');
展开
param: string
移除无效的链接显示文字。
// setLinkText (main)
var {firstChild: {lastChild}} = Parser.parse('#redirect [[a|b]]');
assert.equal(lastChild, '[[a|b]]');
lastChild.setLinkText();
assert.equal(lastChild, '[[a]]');
对维基文本批量执行语法检查的命令行工具
用于维基文本的 ESLint 插件
A command-line tool that performs linting on Wikitext in bulk
ESLint plugin for Wikitext