docsify icon indicating copy to clipboard operation
docsify copied to clipboard

[Dependency Notification] Upgrade marked which may gonna drop support IE11.

Open Koooooo-7 opened this issue 1 year ago • 5 comments

Summary

This issues is for tracing marked and related dependencies upgrade. As per to current incompatible and related dependencies outdated, the marked js upgrade stuff is tough to move on. For avoiding the vulnerabilities issues, we should upgrade mark js asap.

Update

Kudos to @dzsibi help the upgrade and @paulhibbitts verified this changes.

We update marked.js to 4.2.12 and make some changes to fix the upgrade issue in #1993 .

In case of the unpredicted issue for this change, the parser breaking especially. Hold this issue thread to trace and collect report of the marked issue.

Breaking

Maybe not support the IE11 from the next release since marked.js removed the support of IE11. 💣


Related PR: #1503 #1993

Koooooo-7 avatar Sep 17 '22 11:09 Koooooo-7

Will the code help you?

<script src="https://cdn.jsdelivr.net/npm/marked@4"></script>
<script>
let newMarked = marked; // I find that marked will be overwritten by Docsify, so save it before
window.$docsify={
  markdown: (originMarked, originRenderer) => newMarked.parse // markdown: newMarked.parse
};
</script>

I saw it from https://github.com/upupming/docsify-katex/pull/36. I think replacing 'marked' with 'marked.parse' will help the latest marked work well in Docsify.

// Docsify library source code
import {marked.parse as marked} from marked // the newest version

dzylikecode avatar Oct 23 '22 04:10 dzylikecode

I can prove Docsify will use the latest marked to parse markdown because the built-in marked doesn't support the extension, but the newer one does, which helps me to parse math formula

dzylikecode avatar Oct 23 '22 04:10 dzylikecode

Hi @dzylikecode, thx for those info. Could you plz take a look at this marked upgrade stuff and make a PR ? thats should help a lot. Otherwise we have to jog on somehow until contributors who gonna do us the favor.

Koooooo-7 avatar Oct 23 '22 14:10 Koooooo-7

You know more than me. Professional things should be left to professional people. I just offer what I see to you. 😏 😏 😏

dzylikecode avatar Oct 24 '22 05:10 dzylikecode

Will the code help you?

<script src="https://cdn.jsdelivr.net/npm/marked@4"></script>
<script>
let newMarked = marked; // I find that marked will be overwritten by Docsify, so save it before
window.$docsify={
  markdown: (originMarked, originRenderer) => newMarked.parse // markdown: newMarked.parse
};
</script>

I saw it from upupming/docsify-katex#36. I think replacing 'marked' with 'marked.parse' will help the latest marked work well in Docsify.

// Docsify library source code
import {marked.parse as marked} from marked // the newest version

That's a nice trick. We should document that trick, perhaps here: https://docsify.js.org/#/configuration?id=markdown

trusktr avatar Jul 06 '23 01:07 trusktr