-
Notifications
You must be signed in to change notification settings - Fork 2
TableToken
bhsd edited this page Jul 23, 2024
·
17 revisions
目录
表格。
✅ 展开
type: boolean
表格是否闭合。
// closed
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
assert(!firstChild.closed);
// closed (main)
var {firstChild} = Parser.parse('{|\n!a');
firstChild.closed = true;
assert.equal(firstChild, '{|\n!a\n|}');
✅ 展开
returns: LintError[]
报告潜在语法错误。
// lint
var {firstChild} = Parser.parse('{|\na\n|a\n|-\n|b||c');
assert.equal(firstChild, '{|\na\n|a\n|-\n|b||c');
assert.deepStrictEqual(firstChild.lint(), [
{
rule: 'fostered-content',
severity: 'error',
message: 'content to be moved out from the table',
startLine: 1,
startCol: 0,
startIndex: 3,
endLine: 1,
endCol: 1,
endIndex: 4,
},
{
rule: 'unclosed-table',
severity: 'error',
message: 'unclosed table',
startLine: 0,
startCol: 0,
startIndex: 0,
endLine: 0,
endCol: 2,
endIndex: 2,
},
{
rule: 'table-layout',
severity: 'warning',
message: 'inconsistent table layout',
startLine: 3,
startCol: 0,
startIndex: 8,
endLine: 4,
endCol: 5,
endIndex: 16,
},
]);
✅ 展开
returns: TdToken[]
获取所有行。
// getAllRows
var {firstChild} = Parser.parse('{|\n!a\n|-\n|b\n|}'),
tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n!a\n|-\n|b\n|}');
assert.deepStrictEqual(firstChild.getAllRows(), [firstChild, tr]);
✅ 展开
param: number
行号
returns: TrToken
获取第 n
行。
// getNthRow
var {firstChild} = Parser.parse('{|\n!a\n|-\n|b\n|}'),
tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n!a\n|-\n|b\n|}');
assert.strictEqual(firstChild.getNthRow(0), firstChild);
assert.strictEqual(firstChild.getNthRow(1), tr);
✅ 展开
returns: number
获取行数。
// getRowCount
var {firstChild} = Parser.parse('{|\n|a\n|-\n|}');
assert.equal(firstChild, '{|\n|a\n|-\n|}');
// 表格首行可以直接写在 TableToken 下,没有内容的表格行是无效行。
assert.strictEqual(firstChild.getRowCount(), 1);
✅ 展开
param: number
列号
returns: TdToken
获取第 n
列。仅用于直接写在 TableToken
下的表格首行。
// getNthCol
var {firstChild} = Parser.parse('{|\n!a\n|}'),
td = firstChild.querySelector('td');
assert.equal(firstChild, '{|\n!a\n|}');
assert.strictEqual(firstChild.getNthCol(0), td);
展开
闭合表格语法。
// close (main)
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
firstChild.close();
assert.equal(firstChild, '{|\n!a\n|}');
展开
returns: this
深拷贝节点。
// cloneNode (main)
var {firstChild} = Parser.parse('{|\n!a');
assert.equal(firstChild, '{|\n!a');
assert.deepStrictEqual(firstChild.cloneNode(), firstChild);
展开
转义表格语法。
// escape (main)
var {firstChild} = Parser.parse('{|\n|-\n|a\n|}');
assert.equal(firstChild, '{|\n|-\n|a\n|}');
firstChild.escape();
assert.equal(firstChild, '{{{!}}\n{{!}}-\n{{!}}a\n{{!}}}');
展开
returns: number
获取列数。仅用于直接写在 TableToken
下的表格首行。
// getColCount (main)
var {firstChild} = Parser.parse('{|\n|a\n|}');
assert.equal(firstChild, '{|\n|a\n|}');
assert.strictEqual(firstChild.getColCount(), 1);
展开
returns: TrToken
获取下一行(直接写在 TableToken 下的表格首行之后的下一行)。
// getNextRow (main)
var {firstChild} = Parser.parse('{|\n|-\n|a\n|}'),
tr = firstChild.querySelector('tr');
assert.equal(firstChild, '{|\n|-\n|a\n|}');
assert.strictEqual(firstChild.getNextRow(), tr);
展开
加入的版本: 1.10.0
returns: string
转换为 HTML。
// toHtml (main)
var {firstChild} = Parser.parse('{|id=t\na\nb\n|c\n|-\nd\ne\n|-\n|f\n|}');
assert.strictEqual(
firstChild.toHtml(),
`a b d e<table id="t">\n<tbody><tr>\n<td >c\n</td></tr><tr >\n<td >f\n</td></tr></tbody></table>`,
);
对维基文本批量执行语法检查的命令行工具
用于维基文本的 ESLint 插件
A command-line tool that performs linting on Wikitext in bulk
ESLint plugin for Wikitext