12345678910111213141516171819202122232425262728293031323334 |
- /**
- * Plugin for Remarkable Markdown processor which removes empty thead of tables
- */
- module.exports = function(md, options) {
- function removeEmptyThead(state) {
- const tokens = state.tokens;
- let thead = -1;
- let empty = true;
- for (let i = tokens.length - 1; i >= 0; i--) {
- const tok = tokens[i];
- switch (tok.type) {
- case 'thead_close':
- thead = i;
- break;
- case 'thead_open':
- if (empty) {
- tokens.splice(i, thead - i + 1);
- }
- thead = -1;
- empty = true;
- break;
- case 'inline':
- if (thead !== -1 && tok.content.length > 0) {
- empty = false;
- }
- break;
- }
- }
- }
- md.core.ruler.after('block', 'empty_thead', removeEmptyThead);
- };
|