-
Notifications
You must be signed in to change notification settings - Fork 2
MagicLinkToken
bhsd edited this page Dec 18, 2023
·
17 revisions
自由外链。
展开
type: string
外链协议。
// protocol
var {firstChild} = Parser.parse('ftp://a');
assert.strictEqual(firstChild.protocol, 'ftp://');
firstChild.protocol = 'https://';
assert.equal(firstChild, 'https://a');
展开
type: string
外链。
// link
var {firstChild} = Parser.parse('ftp://a');
assert.strictEqual(firstChild.link, 'ftp://a');
firstChild.link = 'https://b';
assert.equal(firstChild, 'https://b');
✅ 展开
returns: LintError[]
报告潜在语法错误。
// lint
var {firstChild} = Parser.parse('http://a。b');
assert.equal(firstChild, 'http://a。b');
assert.deepStrictEqual(firstChild.lint(), [
{
severity: 'warning',
message: 'full-width punctuation in URL',
startLine: 0,
startCol: 8,
startIndex: 8,
endLine: 0,
endCol: 9,
endIndex: 9,
excerpt: 'http://a。b',
},
]);
展开
returns: this
深拷贝节点。
// cloneNode
var {firstChild} = Parser.parse('http://a');
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);
展开
returns: URL
获取网址。
// getUrl
var {firstChild} = Parser.parse('http://a');
assert.deepStrictEqual(firstChild.getUrl(), new URL('http://a/'));
展开
param: string | URL
含协议的网址
设置外链目标。
// setTarget
var {firstChild} = Parser.parse('http://a');
firstChild.setTarget('https://b');
assert.equal(firstChild, 'https://b');
展开
returns: boolean
是否是模板或魔术字参数。
// isParamValue
var link = Parser.parse('{{a|http://a}}').querySelector('free-ext-link');
assert.equal(link, 'http://a');
assert(link.isParamValue());
展开
转义 =
。
// escape
var {firstChild} = Parser.parse('http://a/b?c=');
assert.equal(firstChild, 'http://a/b?c=');
firstChild.escape();
assert.equal(firstChild, 'http://a/b?c{{=}}');
对维基文本批量执行语法检查的命令行工具
用于维基文本的 ESLint 插件
A command-line tool that performs linting on Wikitext in bulk
ESLint plugin for Wikitext