LinkToken (EN) - bhsd-harry/wikiparser-node GitHub Wiki
Table of Contents
Internal link, including interwiki link. This class inherits all the properties and methods of the LinkBaseToken class which are not repeated here.
✅ Available in the Mini and Browser versions.
Expand
type: string
Displayed link text.
// innerText (main)
var {firstChild, lastChild} = Parser.parse([[ : %3f ]][[b| c ]]');
assert.equal(firstChild, '[[ : %3f ]]');
assert.equal(lastChild, '[[b| c ]]');
assert.strictEqual(firstChild.innerText, ' ? ');
assert.strictEqual(lastChild.innerText, ' c ');
firstChild.innerText = 'd';
assert.equal(firstChild, '[[ : %3f |d]]');
Expand
type: boolean
Whether the link is a self-link.
// selfLink (main)
var {firstChild} = Parser.parse('[[a#a]]');
assert.ok(!firstChild.selfLink);
firstChild.selfLink = true;
assert.equal(firstChild, '[[#a]]');
assert.ok(!Parser.parse('[[#]]').firstChild.selfLink);
✅ Expand
type: 'link'
// type
var {firstChild} = Parser.parse('[[:category:a]]');
assert.strictEqual(firstChild.type, 'link');
Expand
param: string
Convert the link to a self-link.
// asSelfLink (main)
var {firstChild} = Parser.parse('[[a#b]]');
firstChild.asSelfLink();
assert.equal(firstChild, '[[#b]]');
firstChild.asSelfLink('[');
assert.equal(firstChild, '[[#%5B]]');
✅ Expand
returns: LintError[]
Report potential grammar errors.
// lint
var link = Parser.parse('[//a [[b]]]').querySelector('link');
assert.equal(link, '[[b]]');
assert.deepStrictEqual(link.lint(), [
{
rule: 'nested-link',
severity: 'error',
message: 'internal link in an external link',
startLine: 0,
startCol: 5,
startIndex: 5,
endLine: 0,
endCol: 10,
endIndex: 10,
},
]);
Expand
Automatically generate the link text after the pipe.
// pipeTrick (main)
var {firstChild} = Parser.parse('[[:file: a (a)]]');
firstChild.pipeTrick();
assert.equal(firstChild, '[[:file: a (a)| a ]]');
({firstChild} = Parser.parse('[[:user: b (b)]]'));
firstChild.pipeTrick();
assert.equal(firstChild, '[[:user: b (b)| b ]]');
({firstChild} = Parser.parse('[[:talk: c (c), c]]'));
firstChild.pipeTrick();
assert.equal(firstChild, '[[:talk: c (c), c| c]]');
({firstChild} = Parser.parse('[[:help: d (d) ]]'));
firstChild.pipeTrick();
assert.equal(firstChild, '[[:help: d (d) | d (d) ]]');
Expand
param: string
param: string
Set inter-language link.
// setLangLink (main)
var firstChild;
Parser.getConfig();
Parser.config.interwiki = ['en'];
({firstChild} = Parser.parse('[[a]]'));
firstChild.setLangLink('en', 'b#c');
assert.equal(firstChild, '[[en:b#c]]');
firstChild.setLangLink('en', ':file:d');
assert.equal(firstChild, '[[en:file:d]]');