diff --git a/background/compilers/markdown-it.js b/background/compilers/markdown-it.js index 0e00ddc..e244f65 100644 --- a/background/compilers/markdown-it.js +++ b/background/compilers/markdown-it.js @@ -21,6 +21,8 @@ md.compilers['markdown-it'] = (() => { sub: false, sup: false, tasklists: false, + multimdTable: false, + ruby: false, } var description = { @@ -40,6 +42,8 @@ md.compilers['markdown-it'] = (() => { sub: 'Subscript \n~text~', sup: 'Superscript \n^text^', tasklists: 'Task lists\n- [x]\n- [ ]', + multimdTable: 'Enable MultiMarkdown table', + ruby: 'Ruby annotation', } var ctor = ({storage: {state}}) => ({ @@ -50,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 : () => {}) @@ -60,6 +65,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..5eaf094 100644 --- a/build/markdown-it/markdown-it.mjs +++ b/build/markdown-it/markdown-it.mjs @@ -8,10 +8,12 @@ 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' import slugger from 'github-slugger' +import { ruby } from '@mdit/plugin-ruby'; export { mdit, @@ -23,8 +25,10 @@ export { footnote, ins, mark, + multimdTable, sub, sup, tasklists, slugger, + ruby, } diff --git a/build/markdown-it/package.json b/build/markdown-it/package.json index d5c3582..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", @@ -16,7 +16,9 @@ "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", + "@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" + } +}