diff --git a/copyparty/httpcli.py b/copyparty/httpcli.py index 662e4465..a1a2f95b 100644 --- a/copyparty/httpcli.py +++ b/copyparty/httpcli.py @@ -1855,7 +1855,7 @@ class HttpCli(object): "edit": "edit" in self.uparam, "title": html_escape(self.vpath, crlf=True), "lastmod": int(ts_md * 1000), - "md_plug": "true" if self.args.emp else "false", + "md_emp": "true" if self.args.emp else "false", "md_chk_rate": self.args.mcr, "md": boundary, "arg_base": arg_base, @@ -2617,6 +2617,7 @@ class HttpCli(object): j2a["logues"] = logues j2a["taglist"] = taglist + j2a["md_emp"] = self.args.emp j2a["txt_ext"] = self.args.textfiles.replace(",", " ") if "mth" in vn.flags: diff --git a/copyparty/web/browser.css b/copyparty/web/browser.css index e1f56d3d..95783aab 100644 --- a/copyparty/web/browser.css +++ b/copyparty/web/browser.css @@ -713,6 +713,7 @@ html.y #files thead th { } #files td:first-child { border-radius: .25em 0 0 .25em; + white-space: nowrap; } #files td:last-child { border-radius: 0 .25em .25em 0; diff --git a/copyparty/web/browser.html b/copyparty/web/browser.html index d32a46ce..9424818d 100644 --- a/copyparty/web/browser.html +++ b/copyparty/web/browser.html @@ -148,6 +148,7 @@ have_unpost = {{ have_unpost|tojson }}, have_zip = {{ have_zip|tojson }}, turbolvl = {{ turbolvl|tojson }}, + md_emp = {{ md_emp|tojson }}, txt_ext = "{{ txt_ext }}", {% if no_prism %}no_prism = 1,{% endif %} readme = {{ readme|tojson }}, diff --git a/copyparty/web/browser.js b/copyparty/web/browser.js index 83d2cd9d..92162d05 100644 --- a/copyparty/web/browser.js +++ b/copyparty/web/browser.js @@ -5793,13 +5793,34 @@ function show_md(md, name, div, url, depth) { }); } + md_plug = {} + md = load_md_plug(md, 'pre'); + md = load_md_plug(md, 'post'); + + var marked_opts = { + headerPrefix: 'md-', + breaks: true, + gfm: true + }; + var ext = md_plug.pre; + if (ext) + Object.assign(marked_opts, ext[0]); + try { clmod(div, 'mdo', 1); - div.innerHTML = marked.parse(md, { - headerPrefix: 'md-', - breaks: true, - gfm: true - }); + div.innerHTML = marked.parse(md, marked_opts); + + ext = md_plug.post; + ext = ext ? [ext[0].render, ext[0].render2] : []; + for (var a = 0; a < ext.length; a++) + if (ext[a]) + try { + ext[a](div); + } + catch (ex) { + console.log(ex); + } + var els = QSA('#epi a'); for (var a = 0, aa = els.length; a < aa; a++) { var href = els[a].getAttribute('href'); diff --git a/copyparty/web/md.html b/copyparty/web/md.html index 2c01fefb..5e0b1d60 100644 --- a/copyparty/web/md.html +++ b/copyparty/web/md.html @@ -127,10 +127,11 @@ write markdown (most html is 🙆 too)