From 41327dd1e89bf523fb180ab63e4f6c80b47f5664 Mon Sep 17 00:00:00 2001 From: Regev Brody Date: Sat, 4 Jul 2020 00:46:07 +0300 Subject: [PATCH] feat: support MultiMarkdown tables (#2126) --- client/components/editor/editor-markdown.vue | 2 ++ package.json | 1 + .../markdown-multi-table/definition.yml | 23 ++++++++++++++++++ .../markdown-multi-table/renderer.js | 11 +++++++++ yarn.lock | Bin 801777 -> 802817 bytes 5 files changed, 37 insertions(+) create mode 100644 server/modules/rendering/markdown-multi-table/definition.yml create mode 100644 server/modules/rendering/markdown-multi-table/renderer.js diff --git a/client/components/editor/editor-markdown.vue b/client/components/editor/editor-markdown.vue index 03f68f80..7665b8ad 100644 --- a/client/components/editor/editor-markdown.vue +++ b/client/components/editor/editor-markdown.vue @@ -228,6 +228,7 @@ import mdAbbr from 'markdown-it-abbr' import mdSup from 'markdown-it-sup' import mdSub from 'markdown-it-sub' import mdMark from 'markdown-it-mark' +import mdMultiTable from 'markdown-it-multimd-table' import mdFootnote from 'markdown-it-footnote' import mdImsize from 'markdown-it-imsize' import katex from 'katex' @@ -287,6 +288,7 @@ const md = new MarkdownIt({ .use(mdAbbr) .use(mdSup) .use(mdSub) + .use(mdMultiTable, {multiline: true, rowspan: true, headerless: true}) .use(mdMark) .use(mdFootnote) .use(mdImsize) diff --git a/package.json b/package.json index e617d121..89cc75c2 100644 --- a/package.json +++ b/package.json @@ -114,6 +114,7 @@ "markdown-it-imsize": "2.0.1", "markdown-it-mark": "3.0.0", "markdown-it-mathjax": "2.0.0", + "markdown-it-multimd-table": "4.0.2", "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "markdown-it-task-lists": "2.1.1", diff --git a/server/modules/rendering/markdown-multi-table/definition.yml b/server/modules/rendering/markdown-multi-table/definition.yml new file mode 100644 index 00000000..d3cbe67a --- /dev/null +++ b/server/modules/rendering/markdown-multi-table/definition.yml @@ -0,0 +1,23 @@ +key: markdownMultiTable +title: MultiMarkdown Table +description: Add MultiMarkdown table support +author: requarks.io +icon: mdi-table +enabledDefault: false +dependsOn: markdownCore +props: + multilineEnabled: + type: Boolean + title: Multiline + hint: Enable multiple lines rows + default: true + headerlessEnabled: + type: Boolean + title: Headerless + hint: Enable ommited table headers + default: true + rowspanEnabled: + type: Boolean + title: Rowspan + hint: Enable table row spans + default: true diff --git a/server/modules/rendering/markdown-multi-table/renderer.js b/server/modules/rendering/markdown-multi-table/renderer.js new file mode 100644 index 00000000..79be64c1 --- /dev/null +++ b/server/modules/rendering/markdown-multi-table/renderer.js @@ -0,0 +1,11 @@ +const multiTable = require('markdown-it-multimd-table') + +module.exports = { + init (md, conf) { + md.use(multiTable, { + multiline: conf.multilineEnabled, + rowspan: conf.rowspanEnabled, + headerless: conf.headerlessEnabled + }) + } +} diff --git a/yarn.lock b/yarn.lock index 50b2c9f73cde7da652b7991fe22d2408c82e355e..792f85fedd94e0252cdbc41658eb9d7317ce3046 100644 GIT binary patch delta 669 zcmY+CO>5Lp7=_WM#}K7@_CaRSC0LdXgf2_bjF!h5R%-RNt!QblKE&> zwHy2#o;;6jAD5JUwRLJNX_z=c1+jnDY2e7)LQuRXIi_-FNU7c zk$vuASyIXtr8kszMRv+-i!P{?7PO_X?PHzlTL)in&m`|3kyFX*Sz_{rYx|CEZl_hG ZfTxeeyf`@~Q(a9pl4|tu4J_v8L%ElR3qv%bZ}>na