-
Notifications
You must be signed in to change notification settings - Fork 3
Attributes
Bhsd edited this page Apr 18, 2026
·
3 revisions
This is an internal document. For visitors, you can now go back to the home page.
// link (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("[//a][[b]]"),
{firstChild, lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.link, undefined);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.link, "//a");
attrs = new Attributes(lastChild);
assert.deepStrictEqual(attrs.link, Parser.normalizeTitle("b"));// invalid (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("{{{||}}}"),
token = root.querySelector("hidden"),
attrs = new Attributes(root);
assert.ok(!attrs.invalid);
attrs = new Attributes(token);
assert.ok(attrs.invalid);// siblings (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d"),
{firstChild, children} = root,
attrs = new Attributes(root);
assert.deepStrictEqual(attrs.siblings, undefined);
attrs = new Attributes(firstChild);
assert.deepStrictEqual(attrs.siblings, children);// siblingsOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d-{e}-"),
{firstChild, lastChild} = root,
attrs = new Attributes(root);
assert.deepStrictEqual(attrs.siblingsOfType, undefined);
attrs = new Attributes(firstChild);
assert.deepStrictEqual(attrs.siblingsOfType, [firstChild, lastChild]);// siblingsCount (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.siblingsCount, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.siblingsCount, 3);// siblingsCountOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d-{e}-"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.siblingsCountOfType, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.siblingsCountOfType, 2);// index (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-b{{c}}"),
{lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.index, 1);
attrs = new Attributes(lastChild);
assert.strictEqual(attrs.index, 2);// indexOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d-{e}-"),
{lastChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.indexOfType, 1);
attrs = new Attributes(lastChild);
assert.strictEqual(attrs.indexOfType, 2);// lastIndex (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-b{{c}}"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.lastIndex, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.lastIndex, 2);// lastIndexOfType (main)
var {Attributes} = require("../lib/attributes");
var root = Parser.parse("-{a}-[[b]]{{c}}d-{e}-"),
{firstChild} = root,
attrs = new Attributes(root);
assert.strictEqual(attrs.lastIndexOfType, 1);
attrs = new Attributes(firstChild);
assert.strictEqual(attrs.lastIndexOfType, 2);对维基文本批量执行语法检查的命令行工具
轻量级的维基模板解析器
维基文本语言服务器协议实现
用于维基文本的 VS Code 扩展
A command-line tool that performs linting on Wikitext in bulk
A lightweight Wikitext template parser
An implementation of the Language Server Protocol for Wikitext
VS Code extension for Wikitext