ExtToken (EN) - bhsd-harry/wikiparser-node GitHub Wiki

Other Languages

Introduction

Extended tags. This class mixes the properties and methods of the AttributesToken class, and inherits all the properties and methods of the Token class which are not repeated here.

✅ Available in the Mini and Browser versions.

Properties

name

✅ Expand

type: string
The name of the tag, read-only.

// name
var {firstChild} = Parser.parse('<pre>a</pre>');
assert.equal(firstChild, '<pre>a</pre>');
assert.strictEqual(firstChild.name, 'pre');

selfClosing

✅ Expand

type: boolean
Whether the tag is self-closing.

// selfClosing
var {firstChild} = Parser.parse('<ref/>');
assert.equal(firstChild, '<ref/>');
assert.ok(firstChild.selfClosing);
firstChild.selfClosing = false;
assert.equal(firstChild, '<ref></ref>');

innerText

✅ Expand

type: string
The text content of the tag, read-only.

// innerText
var {firstChild} = Parser.parse('<pre>a</pre>');
assert.equal(firstChild, '<pre>a</pre>');
assert.strictEqual(firstChild.innerText, 'a');

Methods

lint

✅ Expand

returns: LintError[]
Report potential grammar errors.

// lint
var root = Parser.parse('<b title="a<ref>aa</ref>">aaa</b>'),
	ref = root.querySelector('ext');
assert.equal(ref, '<ref>aa</ref>');
assert.deepStrictEqual(ref.lint(), [
	{
		rule: 'parsing-order',
		severity: 'error',
		message: 'extension tag in HTML tag attributes',
		startLine: 0,
		startCol: 11,
		startIndex: 11,
		endLine: 0,
		endCol: 24,
		endIndex: 24,
	},
]);

cloneNode

Expand

returns: this
Deep clone the node.

// cloneNode (main)
var {firstChild, lastChild} = Parser
		.parse('<ref name="a">a</ref><ref name="a"/>'),
	closed = firstChild.cloneNode(),
	selfClosing = lastChild.cloneNode();
assert.equal(firstChild, '<ref name="a">a</ref>');
assert.equal(closed, '<ref name="a">a</ref>');
assert.equal(lastChild, '<ref name="a"/>');
assert.equal(selfClosing, '<ref name="a"/>');
assert.deepStrictEqual(closed, firstChild);
assert.deepStrictEqual(selfClosing, lastChild);

toHtml

Expand

version added: 1.10.0

returns: string
Convert to HTML.

// toHtml (main)
var {firstChild} = Parser.parse('<nowiki>a\nb</nowiki>');
assert.strictEqual(firstChild.toHtml(), 'a&#10;b');
({firstChild} = Parser.parse('<pre id=a><nowiki>-{a\nb}-</nowiki></pre>'));
assert.strictEqual(firstChild.toHtml(), '<pre id="a">a&#10;b</pre>');
({firstChild} = Parser.parse('<poem class=b>a\nb</poem>'));
assert.strictEqual(firstChild.toHtml(), '<div class="b poem">a<br>\nb</div>');
⚠️ **GitHub.com Fallback** ⚠️