@quarto/jupyterlab-quarto 0.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +29 -0
- package/README.md +71 -0
- package/lib/const.d.ts +5 -0
- package/lib/const.js +11 -0
- package/lib/const.js.map +1 -0
- package/lib/hooks/codemirror.d.ts +4 -0
- package/lib/hooks/codemirror.js +51 -0
- package/lib/hooks/codemirror.js.map +1 -0
- package/lib/index.d.ts +6 -0
- package/lib/index.js +57 -0
- package/lib/index.js.map +1 -0
- package/lib/manager.d.ts +8 -0
- package/lib/manager.js +116 -0
- package/lib/manager.js.map +1 -0
- package/lib/plugins/callouts.d.ts +3 -0
- package/lib/plugins/callouts.js +208 -0
- package/lib/plugins/callouts.js.map +1 -0
- package/lib/plugins/cites.d.ts +3 -0
- package/lib/plugins/cites.js +147 -0
- package/lib/plugins/cites.js.map +1 -0
- package/lib/plugins/decorator.d.ts +3 -0
- package/lib/plugins/decorator.js +58 -0
- package/lib/plugins/decorator.js.map +1 -0
- package/lib/plugins/divs.d.ts +6 -0
- package/lib/plugins/divs.js +99 -0
- package/lib/plugins/divs.js.map +1 -0
- package/lib/plugins/figure-divs.d.ts +3 -0
- package/lib/plugins/figure-divs.js +52 -0
- package/lib/plugins/figure-divs.js.map +1 -0
- package/lib/plugins/figures.d.ts +17 -0
- package/lib/plugins/figures.js +98 -0
- package/lib/plugins/figures.js.map +1 -0
- package/lib/plugins/gridtables/common/gridtables/GetCells.d.ts +8 -0
- package/lib/plugins/gridtables/common/gridtables/GetCells.js +44 -0
- package/lib/plugins/gridtables/common/gridtables/GetCells.js.map +1 -0
- package/lib/plugins/gridtables/common/gridtables/GetColumnWidths.d.ts +8 -0
- package/lib/plugins/gridtables/common/gridtables/GetColumnWidths.js +26 -0
- package/lib/plugins/gridtables/common/gridtables/GetColumnWidths.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/ColumnAlignments.d.ts +8 -0
- package/lib/plugins/gridtables/common/markdown-it/ColumnAlignments.js +12 -0
- package/lib/plugins/gridtables/common/markdown-it/ColumnAlignments.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/EmitTable.d.ts +5 -0
- package/lib/plugins/gridtables/common/markdown-it/EmitTable.js +66 -0
- package/lib/plugins/gridtables/common/markdown-it/EmitTable.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.d.ts +9 -0
- package/lib/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.js +18 -0
- package/lib/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/GetLine.d.ts +3 -0
- package/lib/plugins/gridtables/common/markdown-it/GetLine.js +9 -0
- package/lib/plugins/gridtables/common/markdown-it/GetLine.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTable.d.ts +4 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTable.js +161 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTable.js.map +1 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTableResult.d.ts +13 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTableResult.js +17 -0
- package/lib/plugins/gridtables/common/markdown-it/ParseTableResult.js.map +1 -0
- package/lib/plugins/gridtables/index.d.ts +2 -0
- package/lib/plugins/gridtables/index.js +8 -0
- package/lib/plugins/gridtables/index.js.map +1 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IState.d.ts +11 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IState.js +5 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IState.js.map +1 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IToken.d.ts +7 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IToken.js +5 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/IToken.js.map +1 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/TRuleFunction.d.ts +4 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/TRuleFunction.js +5 -0
- package/lib/plugins/gridtables/interfaces/markdown-it/TRuleFunction.js.map +1 -0
- package/lib/plugins/gridtables/rules/gridtable.d.ts +4 -0
- package/lib/plugins/gridtables/rules/gridtable.js +25 -0
- package/lib/plugins/gridtables/rules/gridtable.js.map +1 -0
- package/lib/plugins/math.d.ts +5 -0
- package/lib/plugins/math.js +174 -0
- package/lib/plugins/math.js.map +1 -0
- package/lib/plugins/mermaid/index.d.ts +3 -0
- package/lib/plugins/mermaid/index.js +53 -0
- package/lib/plugins/mermaid/index.js.map +1 -0
- package/lib/plugins/spans.d.ts +3 -0
- package/lib/plugins/spans.js +38 -0
- package/lib/plugins/table-captions.d.ts +3 -0
- package/lib/plugins/table-captions.js +74 -0
- package/lib/plugins/table-captions.js.map +1 -0
- package/lib/plugins/yaml.d.ts +3 -0
- package/lib/plugins/yaml.js +309 -0
- package/lib/plugins/yaml.js.map +1 -0
- package/lib/providers/attrs.d.ts +2 -0
- package/lib/providers/attrs.js +15 -0
- package/lib/providers/attrs.js.map +1 -0
- package/lib/providers/callouts.d.ts +2 -0
- package/lib/providers/callouts.js +15 -0
- package/lib/providers/callouts.js.map +1 -0
- package/lib/providers/cites.d.ts +2 -0
- package/lib/providers/cites.js +15 -0
- package/lib/providers/cites.js.map +1 -0
- package/lib/providers/decorator.d.ts +2 -0
- package/lib/providers/decorator.js +15 -0
- package/lib/providers/decorator.js.map +1 -0
- package/lib/providers/deflist.d.ts +2 -0
- package/lib/providers/deflist.js +15 -0
- package/lib/providers/deflist.js.map +1 -0
- package/lib/providers/divs.d.ts +2 -0
- package/lib/providers/divs.js +27 -0
- package/lib/providers/divs.js.map +1 -0
- package/lib/providers/figure-divs.d.ts +2 -0
- package/lib/providers/figure-divs.js +15 -0
- package/lib/providers/figure-divs.js.map +1 -0
- package/lib/providers/figures.d.ts +2 -0
- package/lib/providers/figures.js +15 -0
- package/lib/providers/figures.js.map +1 -0
- package/lib/providers/footnotes.d.ts +2 -0
- package/lib/providers/footnotes.js +15 -0
- package/lib/providers/footnotes.js.map +1 -0
- package/lib/providers/gridtables.d.ts +2 -0
- package/lib/providers/gridtables.js +15 -0
- package/lib/providers/gridtables.js.map +1 -0
- package/lib/providers/math.d.ts +2 -0
- package/lib/providers/math.js +104 -0
- package/lib/providers/math.js.map +1 -0
- package/lib/providers/mermaid.d.ts +2 -0
- package/lib/providers/mermaid.js +13 -0
- package/lib/providers/mermaid.js.map +1 -0
- package/lib/providers/provider.d.ts +4 -0
- package/lib/providers/provider.js +12 -0
- package/lib/providers/provider.js.map +1 -0
- package/lib/providers/spans.d.ts +2 -0
- package/lib/providers/spans.js +15 -0
- package/lib/providers/sub.d.ts +2 -0
- package/lib/providers/sub.js +15 -0
- package/lib/providers/sub.js.map +1 -0
- package/lib/providers/sup.d.ts +2 -0
- package/lib/providers/sup.js +15 -0
- package/lib/providers/sup.js.map +1 -0
- package/lib/providers/table-captions.d.ts +2 -0
- package/lib/providers/table-captions.js +15 -0
- package/lib/providers/table-captions.js.map +1 -0
- package/lib/providers/tasklists.d.ts +2 -0
- package/lib/providers/tasklists.js +15 -0
- package/lib/providers/tasklists.js.map +1 -0
- package/lib/providers/yaml.d.ts +2 -0
- package/lib/providers/yaml.js +15 -0
- package/lib/providers/yaml.js.map +1 -0
- package/lib/types.d.ts +44 -0
- package/lib/types.js +1 -0
- package/lib/types.js.map +1 -0
- package/lib/utils/html.d.ts +12 -0
- package/lib/utils/html.js +45 -0
- package/lib/utils/html.js.map +1 -0
- package/lib/utils/markdownit.d.ts +4 -0
- package/lib/utils/markdownit.js +44 -0
- package/lib/utils/markdownit.js.map +1 -0
- package/lib/utils/tok.d.ts +8 -0
- package/lib/utils/tok.js +13 -0
- package/lib/utils/tok.js.map +1 -0
- package/lib/widgets.d.ts +15 -0
- package/lib/widgets.js +57 -0
- package/lib/widgets.js.map +1 -0
- package/package.json +120 -0
- package/schema/plugin.json +8 -0
- package/src/@types/markdown-it-deflist.d.ts +10 -0
- package/src/@types/markdown-it-footnote.d.ts +10 -0
- package/src/@types/markdown-it-gridtables.d.ts +10 -0
- package/src/@types/markdown-it-implicit-figures.d.ts +10 -0
- package/src/@types/markdown-it-sub.d.ts +10 -0
- package/src/@types/markdown-it-sup.d.ts +10 -0
- package/src/@types/markdown-it-task-lists.d.ts +10 -0
- package/style/base.css +340 -0
- package/style/index.css +1 -0
- package/style/index.js +1 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
var ColumnAlignments;
|
|
6
|
+
(function (ColumnAlignments) {
|
|
7
|
+
ColumnAlignments["None"] = "";
|
|
8
|
+
ColumnAlignments["Left"] = "left";
|
|
9
|
+
ColumnAlignments["Center"] = "center";
|
|
10
|
+
ColumnAlignments["Right"] = "right";
|
|
11
|
+
})(ColumnAlignments || (ColumnAlignments = {}));
|
|
12
|
+
export default ColumnAlignments;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnAlignments.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/ColumnAlignments.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,IAAK,gBAMJ;AAND,WAAK,gBAAgB;IAEjB,6BAAS,CAAA;IACT,iCAAa,CAAA;IACb,qCAAiB,CAAA;IACjB,mCAAe,CAAA;AACnB,CAAC,EANI,gBAAgB,KAAhB,gBAAgB,QAMpB;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as MarkdownIt from "markdown-it";
|
|
2
|
+
import IState from "../../interfaces/markdown-it/IState";
|
|
3
|
+
import ParseTableResult from "./ParseTableResult";
|
|
4
|
+
export default function emitTable(md: MarkdownIt, state: IState, result: ParseTableResult): void;
|
|
5
|
+
//# sourceMappingURL=EmitTable.d.ts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import getCells from "../gridtables/GetCells";
|
|
6
|
+
import ColumnAlignments from "./ColumnAlignments";
|
|
7
|
+
export default function emitTable(md, state, result) {
|
|
8
|
+
let offsets = result.SeparatorLineOffsets;
|
|
9
|
+
let token = state.push('table_open', 'table', 1);
|
|
10
|
+
token.map = [offsets[0], offsets[offsets.length - 1]];
|
|
11
|
+
if (result.HeaderLines.length > 0) {
|
|
12
|
+
// emit table header
|
|
13
|
+
const token = state.push('thead_open', 'thead', 1);
|
|
14
|
+
token.map = [offsets[0], offsets[1]];
|
|
15
|
+
const cells = getCells(result.HeaderLines);
|
|
16
|
+
processRow(md, state, 'th', result.ColumnAlignments, offsets[0], offsets[1], cells);
|
|
17
|
+
state.push('thead_close', 'thead', -1);
|
|
18
|
+
offsets = offsets.slice(1);
|
|
19
|
+
}
|
|
20
|
+
// emit table body
|
|
21
|
+
token = state.push('tbody_open', 'tbody', 1);
|
|
22
|
+
token.map = [offsets[0], offsets[offsets.length - 1]];
|
|
23
|
+
for (let i = 0; i < result.RowLines.length; i++) {
|
|
24
|
+
let cells = getCells(result.RowLines[i]);
|
|
25
|
+
processRow(md, state, 'td', result.ColumnAlignments, offsets[i], offsets[i + 1], cells);
|
|
26
|
+
}
|
|
27
|
+
state.push('tbody_close', 'tbody', -1);
|
|
28
|
+
state.push('table_close', 'table', -1);
|
|
29
|
+
}
|
|
30
|
+
function processRow(md, state, tag, columnAlignments, lineBegin, lineEnd, cells) {
|
|
31
|
+
let token = state.push('tr_open', 'tr', 1);
|
|
32
|
+
token.map = [lineBegin, lineEnd];
|
|
33
|
+
for (let i = 0; i < cells.length; i++) {
|
|
34
|
+
let token = state.push(tag + '_open', tag, 1);
|
|
35
|
+
token.map = [lineBegin + 1, lineEnd - 1];
|
|
36
|
+
if (columnAlignments[i] !== ColumnAlignments.None) {
|
|
37
|
+
token.attrSet("style", `text-align: ${columnAlignments[i]};`);
|
|
38
|
+
}
|
|
39
|
+
if (cells[i].length === 0) {
|
|
40
|
+
// empty cell
|
|
41
|
+
}
|
|
42
|
+
else if (cells[i].length === 1) {
|
|
43
|
+
// single line cell -> emit as inline markdown
|
|
44
|
+
let token = state.push('inline', '', 0);
|
|
45
|
+
token.content = cells[i][0].trim();
|
|
46
|
+
token.children = [];
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
// multi line cell -> render and emit as html
|
|
50
|
+
let cell = md
|
|
51
|
+
.render(cells[i].join('\r\n'))
|
|
52
|
+
.trim();
|
|
53
|
+
// remove single p tag because we're in a table cell
|
|
54
|
+
if ((cell.slice(0, 3) === '<p>') &&
|
|
55
|
+
(cell.slice(-4) === '</p>') &&
|
|
56
|
+
(cell.indexOf('<p>', 3) === -1)) {
|
|
57
|
+
cell = cell.slice(3, cell.length - 4);
|
|
58
|
+
}
|
|
59
|
+
let token = state.push('html_block', '', 0);
|
|
60
|
+
token.content = cell;
|
|
61
|
+
token.children = [];
|
|
62
|
+
}
|
|
63
|
+
state.push(tag + '_close', tag, -1);
|
|
64
|
+
}
|
|
65
|
+
state.push('tr_close', 'tr', -1);
|
|
66
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EmitTable.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/EmitTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import IState from "../../interfaces/markdown-it/IState";
|
|
2
|
+
/**
|
|
3
|
+
* Returns the char code of the character at the start of the current line,
|
|
4
|
+
* or -1 if this is not available (e.g. on an empty line).
|
|
5
|
+
*
|
|
6
|
+
* @param state The Markdown It state.
|
|
7
|
+
*/
|
|
8
|
+
export default function getCharCodeAtStartOfLine(state: IState, line: number): number;
|
|
9
|
+
//# sourceMappingURL=GetCharCodeAtStartOfLine.d.ts.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
/**
|
|
6
|
+
* Returns the char code of the character at the start of the current line,
|
|
7
|
+
* or -1 if this is not available (e.g. on an empty line).
|
|
8
|
+
*
|
|
9
|
+
* @param state The Markdown It state.
|
|
10
|
+
*/
|
|
11
|
+
export default function getCharCodeAtStartOfLine(state, line) {
|
|
12
|
+
const pos = state.bMarks[line] +
|
|
13
|
+
state.tShift[line];
|
|
14
|
+
if (pos >= state.eMarks[line]) {
|
|
15
|
+
return -1;
|
|
16
|
+
}
|
|
17
|
+
return state.src.charCodeAt(pos);
|
|
18
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetCharCodeAtStartOfLine.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/GetCharCodeAtStartOfLine.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC5C,KAAa,EACb,IAAY;IAGZ,MAAM,GAAG,GACL,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAEvB,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAC7B;QACI,OAAO,CAAC,CAAC,CAAC;KACb;IAED,OAAO,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export default function getLine(state, line) {
|
|
6
|
+
const start = state.bMarks[line] + state.blkIndent;
|
|
7
|
+
const end = state.eMarks[line];
|
|
8
|
+
return state.src.substr(start, end - start);
|
|
9
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetLine.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/GetLine.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,MAAM,CAAC,OAAO,UAAU,OAAO,CAC3B,KAAa,EACb,IAAY;IAGZ,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC;IAEnD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,OAAO,KAAK,CAAC,GAAG,CAAC,MAAM,CACnB,KAAK,EACL,GAAG,GAAG,KAAK,CAAC,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import wcwidth from "wcwidth";
|
|
6
|
+
import getColumnWidths from "../gridtables/GetColumnWidths";
|
|
7
|
+
import ColumnAlignments from "./ColumnAlignments";
|
|
8
|
+
import getLine from "./GetLine";
|
|
9
|
+
import ParseTableResult from "./ParseTableResult";
|
|
10
|
+
export default function parseTable(state, startLine, endLine) {
|
|
11
|
+
const result = new ParseTableResult();
|
|
12
|
+
let rowLine = getLine(state, startLine);
|
|
13
|
+
if (rowLine.charAt(0) !== '+') {
|
|
14
|
+
// line does not start with a '+'
|
|
15
|
+
return result;
|
|
16
|
+
}
|
|
17
|
+
result.ColumnWidths = getColumnWidths(rowLine);
|
|
18
|
+
if (result.ColumnWidths.length === 0) {
|
|
19
|
+
// no columns found
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
// initialize column alignments
|
|
23
|
+
result.ColumnAlignments = result.ColumnWidths
|
|
24
|
+
.map(_ => ColumnAlignments.None);
|
|
25
|
+
if (rowLine.indexOf(':') >= 0) {
|
|
26
|
+
// column alignment specifiers present in first row line
|
|
27
|
+
result.HeaderLess = true;
|
|
28
|
+
// set column alignments
|
|
29
|
+
result.ColumnAlignments = getColumnAlignments(rowLine, result.ColumnWidths);
|
|
30
|
+
// remove alignment specifiers for further matching
|
|
31
|
+
rowLine = rowLine.replace(/[:]/g, '-');
|
|
32
|
+
}
|
|
33
|
+
// create header line matcher
|
|
34
|
+
const headerLineMatcher = new RegExp('^\\+' +
|
|
35
|
+
result.ColumnWidths
|
|
36
|
+
.map(w => `[=:][=]{${w - 3}}[=:]\\+`)
|
|
37
|
+
.join('') +
|
|
38
|
+
'$');
|
|
39
|
+
// build column offsets
|
|
40
|
+
result.ColumnOffsets = [0];
|
|
41
|
+
for (let i = 0; i < result.ColumnWidths.length - 1; i++) {
|
|
42
|
+
result.ColumnOffsets.push(result.ColumnOffsets[i] +
|
|
43
|
+
result.ColumnWidths[i]);
|
|
44
|
+
}
|
|
45
|
+
// create cell line matcher
|
|
46
|
+
const cellLineMatcher = new RegExp('^\\|' +
|
|
47
|
+
result.ColumnWidths
|
|
48
|
+
.map(w => `([^|]{${Math.ceil((w - 1) / 2)},${w - 1}})\\|`)
|
|
49
|
+
.join('') +
|
|
50
|
+
'$');
|
|
51
|
+
// save first separator line offset
|
|
52
|
+
result.SeparatorLineOffsets.push(startLine);
|
|
53
|
+
// continue to scan until a complete table is found, or an invalid line is encountered
|
|
54
|
+
let currentRow = [];
|
|
55
|
+
let currentLine = startLine + 1;
|
|
56
|
+
for (; currentLine <= endLine; currentLine++) {
|
|
57
|
+
const line = getLine(state, currentLine);
|
|
58
|
+
if (line.charCodeAt(0) === 0x2B) // '+'
|
|
59
|
+
{
|
|
60
|
+
// separator line
|
|
61
|
+
if (currentRow.length === 0) {
|
|
62
|
+
// no row lines since last separator -> invalid table
|
|
63
|
+
return result;
|
|
64
|
+
}
|
|
65
|
+
// save separator line offset
|
|
66
|
+
result.SeparatorLineOffsets.push(currentLine);
|
|
67
|
+
if (line === rowLine) {
|
|
68
|
+
// new regular row
|
|
69
|
+
result.RowLines.push(currentRow);
|
|
70
|
+
if (result.HeaderLines.length === 0) {
|
|
71
|
+
result.HeaderLess = true;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else if (!result.HeaderLess &&
|
|
75
|
+
line.match(headerLineMatcher)) {
|
|
76
|
+
// found header line
|
|
77
|
+
if (result.HeaderLines.length > 0 ||
|
|
78
|
+
result.RowLines.length > 0) {
|
|
79
|
+
// header already found, or not the first row -> invalid table
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
// header row
|
|
83
|
+
result.HeaderLines = currentRow;
|
|
84
|
+
if (line.indexOf(':') >= 0) {
|
|
85
|
+
// set column alignments
|
|
86
|
+
result.ColumnAlignments = getColumnAlignments(line, result.ColumnWidths);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
// not a header or regular row -> invalid table
|
|
91
|
+
return result;
|
|
92
|
+
}
|
|
93
|
+
// reset current row
|
|
94
|
+
currentRow = [];
|
|
95
|
+
}
|
|
96
|
+
else if (line.charCodeAt(0) === 0x7C) // '|'
|
|
97
|
+
{
|
|
98
|
+
// cell line
|
|
99
|
+
const matches = line.match(cellLineMatcher);
|
|
100
|
+
if (matches === null) {
|
|
101
|
+
// cell line does not match -> invalid table
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
const cells = validateColumnWidths(matches, result.ColumnWidths);
|
|
105
|
+
if (cells === null) {
|
|
106
|
+
// cell line does not match -> invalid table
|
|
107
|
+
return result;
|
|
108
|
+
}
|
|
109
|
+
// add the line to the current row
|
|
110
|
+
currentRow.push(cells);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
// not a separator or cell line, check if we have a complete table
|
|
114
|
+
if (currentRow.length === 0 &&
|
|
115
|
+
((result.HeaderLines.length > 0) ||
|
|
116
|
+
(result.RowLines.length > 0))) {
|
|
117
|
+
// found a complete table
|
|
118
|
+
break;
|
|
119
|
+
}
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
result.CurrentLine = currentLine;
|
|
124
|
+
result.Success = true;
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
function getColumnAlignments(line, columnWidths) {
|
|
128
|
+
let alignments = [];
|
|
129
|
+
let left = 1;
|
|
130
|
+
let right = -1;
|
|
131
|
+
for (let i = 0; i < columnWidths.length; i++) {
|
|
132
|
+
right += columnWidths[i];
|
|
133
|
+
let alignment = ColumnAlignments.None;
|
|
134
|
+
if (line.charAt(right) === ':') {
|
|
135
|
+
if (line.charAt(left) === ':') {
|
|
136
|
+
alignment = ColumnAlignments.Center;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
alignment = ColumnAlignments.Right;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
else if (line.charAt(left) === ':') {
|
|
143
|
+
alignment = ColumnAlignments.Left;
|
|
144
|
+
}
|
|
145
|
+
alignments.push(alignment);
|
|
146
|
+
left += columnWidths[i];
|
|
147
|
+
}
|
|
148
|
+
return alignments;
|
|
149
|
+
}
|
|
150
|
+
function validateColumnWidths(matches, columnWidths) {
|
|
151
|
+
const cells = [];
|
|
152
|
+
for (var i = 0; i < columnWidths.length; i++) {
|
|
153
|
+
const cell = matches[i + 1];
|
|
154
|
+
const columnWidth = wcwidth(cell) + 1; // add 1 for separator
|
|
155
|
+
if (columnWidth !== columnWidths[i]) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
cells.push(cell);
|
|
159
|
+
}
|
|
160
|
+
return cells;
|
|
161
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParseTable.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/ParseTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import ColumnAlignments from "./ColumnAlignments";
|
|
2
|
+
export default class ParseTableResult {
|
|
3
|
+
Success: boolean;
|
|
4
|
+
ColumnWidths: number[];
|
|
5
|
+
ColumnOffsets: number[];
|
|
6
|
+
ColumnAlignments: ColumnAlignments[];
|
|
7
|
+
HeaderLess: boolean;
|
|
8
|
+
HeaderLines: string[][];
|
|
9
|
+
RowLines: string[][][];
|
|
10
|
+
SeparatorLineOffsets: number[];
|
|
11
|
+
CurrentLine: number;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ParseTableResult.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export default class ParseTableResult {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.Success = false;
|
|
8
|
+
this.ColumnWidths = [];
|
|
9
|
+
this.ColumnOffsets = [];
|
|
10
|
+
this.ColumnAlignments = [];
|
|
11
|
+
this.HeaderLess = false;
|
|
12
|
+
this.HeaderLines = [];
|
|
13
|
+
this.RowLines = [];
|
|
14
|
+
this.SeparatorLineOffsets = [];
|
|
15
|
+
this.CurrentLine = 0;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ParseTableResult.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/common/markdown-it/ParseTableResult.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,MAAM,CAAC,OAAO,OAAO,gBAAgB;IAArC;QAEI,YAAO,GAAY,KAAK,CAAC;QAEzB,iBAAY,GAAa,EAAE,CAAC;QAE5B,kBAAa,GAAa,EAAE,CAAC;QAE7B,qBAAgB,GAAuB,EAAE,CAAC;QAE1C,eAAU,GAAY,KAAK,CAAC;QAE5B,gBAAW,GAAe,EAAE,CAAC;QAE7B,aAAQ,GAAiB,EAAE,CAAC;QAE5B,yBAAoB,GAAa,EAAE,CAAC;QAEpC,gBAAW,GAAW,CAAC,CAAC;IAC5B,CAAC;CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import gridTableRule from "./rules/gridtable";
|
|
6
|
+
export default function gridTableRulePlugin(md, options) {
|
|
7
|
+
md.block.ruler.before("table", "gridtable", gridTableRule(md));
|
|
8
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/gridtables/index.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,aAAa,MAAM,mBAAmB,CAAC;AAE9C,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACvC,EAAO,EACP,OAAY;IAEZ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CACjB,OAAO,EACP,WAAW,EACX,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import IToken from "./IToken";
|
|
2
|
+
export default interface IState {
|
|
3
|
+
src: string;
|
|
4
|
+
bMarks: number[];
|
|
5
|
+
eMarks: number[];
|
|
6
|
+
blkIndent: number;
|
|
7
|
+
tShift: number[];
|
|
8
|
+
line: number;
|
|
9
|
+
push(action: string, tag: string, level: number): IToken;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=IState.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IState.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/interfaces/markdown-it/IState.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IToken.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/interfaces/markdown-it/IToken.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TRuleFunction.js","sourceRoot":"","sources":["../../../../../src/plugins/gridtables/interfaces/markdown-it/TRuleFunction.ts"],"names":[],"mappings":"AAAA;;;gGAGgG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*---------------------------------------------------------------------------------------------
|
|
2
|
+
* Copyright (c) Bas Verweij. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
4
|
+
*--------------------------------------------------------------------------------------------*/
|
|
5
|
+
import emitTable from "../common/markdown-it/EmitTable";
|
|
6
|
+
import getCharCodeAtStartOfLine from "../common/markdown-it/GetCharCodeAtStartOfLine";
|
|
7
|
+
import parseTable from "../common/markdown-it/ParseTable";
|
|
8
|
+
export default function gridTableRule(md) {
|
|
9
|
+
return function (state, startLine, endLine, silent) {
|
|
10
|
+
if (getCharCodeAtStartOfLine(state, startLine) !== 0x2B) {
|
|
11
|
+
// line does not start with a '+'
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
let parseResult = parseTable(state, startLine, endLine);
|
|
15
|
+
if (!parseResult.Success) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (silent) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
emitTable(md, state, parseResult);
|
|
22
|
+
state.line = parseResult.CurrentLine;
|
|
23
|
+
return true;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridtable.js","sourceRoot":"","sources":["../../../../src/plugins/gridtables/rules/gridtable.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAGhG,OAAO,SAAS,MAAM,iCAAiC,CAAC;AACxD,OAAO,wBAAwB,MAAM,gDAAgD,CAAC;AACtF,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAI1D,MAAM,CAAC,OAAO,UAAU,aAAa,CACjC,EAAc;IAGd,OAAO,UACH,KAAa,EACb,SAAiB,EACjB,OAAe,EACf,MAAe;QAGf,IAAI,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,EACvD;YACI,iCAAiC;YACjC,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,WAAW,GAAG,UAAU,CACxB,KAAK,EACL,SAAS,EACT,OAAO,CAAC,CAAC;QAEb,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB;YACI,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,MAAM,EACV;YACI,OAAO,IAAI,CAAC;SACf;QAED,SAAS,CACL,EAAE,EACF,KAAK,EACL,WAAW,CAAC,CAAC;QAEjB,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC;QAErC,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC"}
|