From d17fd9ddfe5f5a4cc069cbf2685006fbfdb50e9a Mon Sep 17 00:00:00 2001 From: Guanghan Wang Date: Fri, 27 Dec 2024 17:18:52 -0500 Subject: [PATCH 1/4] Add support for MultiMarkdown table in markdown-it compiler --- background/compilers/markdown-it.js | 9 +++++++++ build/markdown-it/markdown-it.mjs | 2 ++ build/markdown-it/package.json | 3 ++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/background/compilers/markdown-it.js b/background/compilers/markdown-it.js index 0e00ddc..fc35ca2 100644 --- a/background/compilers/markdown-it.js +++ b/background/compilers/markdown-it.js @@ -21,6 +21,7 @@ md.compilers['markdown-it'] = (() => { sub: false, sup: false, tasklists: false, + multimdTable: false, } var description = { @@ -40,6 +41,7 @@ md.compilers['markdown-it'] = (() => { sub: 'Subscript \n~text~', sup: 'Superscript \n^text^', tasklists: 'Task lists\n- [x]\n- [ ]', + multimdTable: 'Enable MultiMarkdown table', } var ctor = ({storage: {state}}) => ({ @@ -60,6 +62,13 @@ md.compilers['markdown-it'] = (() => { .use(state['markdown-it'].sub ? mdit.sub : () => {}) .use(state['markdown-it'].sup ? mdit.sup : () => {}) .use(state['markdown-it'].tasklists ? mdit.tasklists : () => {}) + .use(state['markdown-it'].multimdTable ? mdit.multimdTable : () => {}, { + multiline: true, + rowspan: true, + headerless: true, + multibody: true, + autolabel: true, + }) .render(markdown) }) diff --git a/build/markdown-it/markdown-it.mjs b/build/markdown-it/markdown-it.mjs index 1776101..f55148a 100644 --- a/build/markdown-it/markdown-it.mjs +++ b/build/markdown-it/markdown-it.mjs @@ -8,6 +8,7 @@ import deflist from 'markdown-it-deflist' import footnote from 'markdown-it-footnote' import ins from 'markdown-it-ins' import mark from 'markdown-it-mark' +import multimdTable from 'markdown-it-multimd-table' import sub from 'markdown-it-sub' import sup from 'markdown-it-sup' import tasklists from 'markdown-it-task-lists' @@ -23,6 +24,7 @@ export { footnote, ins, mark, + multimdTable, sub, sup, tasklists, diff --git a/build/markdown-it/package.json b/build/markdown-it/package.json index d5c3582..ee2f00f 100644 --- a/build/markdown-it/package.json +++ b/build/markdown-it/package.json @@ -16,7 +16,8 @@ "markdown-it-mark": "3.0.1", "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", - "markdown-it-task-lists": "2.1.1" + "markdown-it-task-lists": "2.1.1", + "markdown-it-multimd-table": "^4.2.3" }, "devDependencies": { "@rollup/plugin-commonjs": "25.0.7", From bb9d90f37e2fb526349011f8d6cc0f45beb8110c Mon Sep 17 00:00:00 2001 From: Guanghan Wang Date: Sat, 9 Aug 2025 19:10:39 -0400 Subject: [PATCH 2/4] Add markdown-it-link-attributes --- background/compilers/markdown-it.js | 3 +++ build/markdown-it/markdown-it.mjs | 2 ++ build/markdown-it/package.json | 3 ++- package.json | 5 +++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 package.json diff --git a/background/compilers/markdown-it.js b/background/compilers/markdown-it.js index fc35ca2..7a969e9 100644 --- a/background/compilers/markdown-it.js +++ b/background/compilers/markdown-it.js @@ -22,6 +22,7 @@ md.compilers['markdown-it'] = (() => { sup: false, tasklists: false, multimdTable: false, + linkAttributes: false, } var description = { @@ -42,6 +43,7 @@ md.compilers['markdown-it'] = (() => { sup: 'Superscript \n^text^', tasklists: 'Task lists\n- [x]\n- [ ]', multimdTable: 'Enable MultiMarkdown table', + linkAttributes: 'Add attributes to links\n[link](url){target="_blank"}', } var ctor = ({storage: {state}}) => ({ @@ -69,6 +71,7 @@ md.compilers['markdown-it'] = (() => { multibody: true, autolabel: true, }) + .use(state['markdown-it'].attrs ? mdit.attrs : () => {}) .render(markdown) }) diff --git a/build/markdown-it/markdown-it.mjs b/build/markdown-it/markdown-it.mjs index f55148a..55baafe 100644 --- a/build/markdown-it/markdown-it.mjs +++ b/build/markdown-it/markdown-it.mjs @@ -9,6 +9,7 @@ import footnote from 'markdown-it-footnote' import ins from 'markdown-it-ins' import mark from 'markdown-it-mark' import multimdTable from 'markdown-it-multimd-table' +import linkAttributes from 'markdown-it-link-attributes' import sub from 'markdown-it-sub' import sup from 'markdown-it-sup' import tasklists from 'markdown-it-task-lists' @@ -25,6 +26,7 @@ export { ins, mark, multimdTable, + linkAttributes, sub, sup, tasklists, diff --git a/build/markdown-it/package.json b/build/markdown-it/package.json index ee2f00f..e7dec3a 100644 --- a/build/markdown-it/package.json +++ b/build/markdown-it/package.json @@ -17,7 +17,8 @@ "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "markdown-it-task-lists": "2.1.1", - "markdown-it-multimd-table": "^4.2.3" + "markdown-it-multimd-table": "^4.2.3", + "markdown-it-link-attributes": "^4.0.1" }, "devDependencies": { "@rollup/plugin-commonjs": "25.0.7", diff --git a/package.json b/package.json new file mode 100644 index 0000000..ab0ac2a --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "markdown-it-link-attributes": "^4.0.1" + } +} From 0603f155bf5b3b7fd4469b5bf0ab35bcf4cb944e Mon Sep 17 00:00:00 2001 From: Guanghan Wang Date: Sat, 9 Aug 2025 19:10:53 -0400 Subject: [PATCH 3/4] Revert "Add markdown-it-link-attributes" This reverts commit bb9d90f37e2fb526349011f8d6cc0f45beb8110c. --- background/compilers/markdown-it.js | 3 --- build/markdown-it/markdown-it.mjs | 2 -- build/markdown-it/package.json | 3 +-- package.json | 5 ----- 4 files changed, 1 insertion(+), 12 deletions(-) delete mode 100644 package.json diff --git a/background/compilers/markdown-it.js b/background/compilers/markdown-it.js index 7a969e9..fc35ca2 100644 --- a/background/compilers/markdown-it.js +++ b/background/compilers/markdown-it.js @@ -22,7 +22,6 @@ md.compilers['markdown-it'] = (() => { sup: false, tasklists: false, multimdTable: false, - linkAttributes: false, } var description = { @@ -43,7 +42,6 @@ md.compilers['markdown-it'] = (() => { sup: 'Superscript \n^text^', tasklists: 'Task lists\n- [x]\n- [ ]', multimdTable: 'Enable MultiMarkdown table', - linkAttributes: 'Add attributes to links\n[link](url){target="_blank"}', } var ctor = ({storage: {state}}) => ({ @@ -71,7 +69,6 @@ md.compilers['markdown-it'] = (() => { multibody: true, autolabel: true, }) - .use(state['markdown-it'].attrs ? mdit.attrs : () => {}) .render(markdown) }) diff --git a/build/markdown-it/markdown-it.mjs b/build/markdown-it/markdown-it.mjs index 55baafe..f55148a 100644 --- a/build/markdown-it/markdown-it.mjs +++ b/build/markdown-it/markdown-it.mjs @@ -9,7 +9,6 @@ import footnote from 'markdown-it-footnote' import ins from 'markdown-it-ins' import mark from 'markdown-it-mark' import multimdTable from 'markdown-it-multimd-table' -import linkAttributes from 'markdown-it-link-attributes' import sub from 'markdown-it-sub' import sup from 'markdown-it-sup' import tasklists from 'markdown-it-task-lists' @@ -26,7 +25,6 @@ export { ins, mark, multimdTable, - linkAttributes, sub, sup, tasklists, diff --git a/build/markdown-it/package.json b/build/markdown-it/package.json index e7dec3a..ee2f00f 100644 --- a/build/markdown-it/package.json +++ b/build/markdown-it/package.json @@ -17,8 +17,7 @@ "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "markdown-it-task-lists": "2.1.1", - "markdown-it-multimd-table": "^4.2.3", - "markdown-it-link-attributes": "^4.0.1" + "markdown-it-multimd-table": "^4.2.3" }, "devDependencies": { "@rollup/plugin-commonjs": "25.0.7", diff --git a/package.json b/package.json deleted file mode 100644 index ab0ac2a..0000000 --- a/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "dependencies": { - "markdown-it-link-attributes": "^4.0.1" - } -} From fb3dd023ad35fbfe9521a512e84f154e471cd165 Mon Sep 17 00:00:00 2001 From: Guanghan Wang Date: Wed, 10 Jun 2026 20:47:48 -0400 Subject: [PATCH 4/4] ruby --- background/compilers/markdown-it.js | 3 +++ build/markdown-it/markdown-it.mjs | 2 ++ build/markdown-it/package.json | 5 +++-- build/package.sh | 9 +++++---- package.json | 6 ++++++ 5 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 package.json diff --git a/background/compilers/markdown-it.js b/background/compilers/markdown-it.js index fc35ca2..e244f65 100644 --- a/background/compilers/markdown-it.js +++ b/background/compilers/markdown-it.js @@ -22,6 +22,7 @@ md.compilers['markdown-it'] = (() => { sup: false, tasklists: false, multimdTable: false, + ruby: false, } var description = { @@ -42,6 +43,7 @@ md.compilers['markdown-it'] = (() => { sup: 'Superscript \n^text^', tasklists: 'Task lists\n- [x]\n- [ ]', multimdTable: 'Enable MultiMarkdown table', + ruby: 'Ruby annotation', } var ctor = ({storage: {state}}) => ({ @@ -52,6 +54,7 @@ md.compilers['markdown-it'] = (() => { .use(mdit.anchor, { slugify: (s) => new mdit.slugger().slug(s) }) + .use(state['markdown-it'].ruby ? mdit.ruby : () => {}) .use(state['markdown-it'].abbr ? mdit.abbr : () => {}) .use(state['markdown-it'].attrs ? mdit.attrs : () => {}) .use(state['markdown-it'].cjk ? mdit.cjk : () => {}) diff --git a/build/markdown-it/markdown-it.mjs b/build/markdown-it/markdown-it.mjs index f55148a..5eaf094 100644 --- a/build/markdown-it/markdown-it.mjs +++ b/build/markdown-it/markdown-it.mjs @@ -13,6 +13,7 @@ import sub from 'markdown-it-sub' import sup from 'markdown-it-sup' import tasklists from 'markdown-it-task-lists' import slugger from 'github-slugger' +import { ruby } from '@mdit/plugin-ruby'; export { mdit, @@ -29,4 +30,5 @@ export { sup, tasklists, slugger, + ruby, } diff --git a/build/markdown-it/package.json b/build/markdown-it/package.json index ee2f00f..33ae868 100644 --- a/build/markdown-it/package.json +++ b/build/markdown-it/package.json @@ -5,7 +5,7 @@ "private": true, "dependencies": { "github-slugger": "2.0.0", - "markdown-it": "13.0.1", + "markdown-it": "^14.1.0", "markdown-it-abbr": "1.0.4", "markdown-it-anchor": "8.6.7", "markdown-it-attrs": "4.1.6", @@ -17,7 +17,8 @@ "markdown-it-sub": "1.0.0", "markdown-it-sup": "1.0.0", "markdown-it-task-lists": "2.1.1", - "markdown-it-multimd-table": "^4.2.3" + "markdown-it-multimd-table": "^4.2.3", + "@mdit/plugin-ruby": "^0.22.1" }, "devDependencies": { "@rollup/plugin-commonjs": "25.0.7", diff --git a/build/package.sh b/build/package.sh index 5349c33..56ca905 100755 --- a/build/package.sh +++ b/build/package.sh @@ -13,12 +13,13 @@ fi # set current working directory to directory of the shell script cd "$(dirname "$0")" +rm -f ../markdown-viewer.zip # cleanup -rm -rf ../themes +# TODO: need to patch `vendor/markdown-it.min.js`: replace `c=o.split(""),l=a.split("|")` with `c=o.split(""),l=a.split("/")` with +# rm -rf ../themes rm -rf ../vendor -rm -f ../markdown-viewer.zip -mkdir -p ../themes +# mkdir -p ../themes mkdir -p ../vendor # build deps @@ -33,7 +34,7 @@ sh mithril/build.sh sh panzoom/build.sh sh prism/build.sh sh remark/build.sh -sh themes/build.sh $browser +# sh themes/build.sh $browser # copy files mkdir -p tmp diff --git a/package.json b/package.json new file mode 100644 index 0000000..e084f90 --- /dev/null +++ b/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "@mdit/plugin-ruby": "^0.22.1", + "markdown-it": "^14.1.0" + } +}