I managed some of the libraries by myself instead of through npm to reduce the overall file size.
Versions
{
"font-awesome": "6.4.2", // Download from here: https://fontawesome.com/download
// Fontawesome cheatsheet is available here: https://kapeli.com/cheat_sheets/Font_Awesome.docset/Contents/Resources/Documents/index
"katex": "v0.16.38", // Only keep the css and fonts files.
"mermaid": "11.13.0", // https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js
// https://www.jsdelivr.com/package/npm/mermaid
"reveal": "4.6.0",
// NOTE: Don't forget to update `dependentLibraryMaterials` in `markdown-engine/index.ts`
"vega-embed": "6.23.0", // https://cdn.jsdelivr.net/npm/vega-embed@6.23.0/build/vega-embed.min.js
// HACK: Needs to replace `structuredClone` to `globalThis.structuredClone` in `vega-lite.min.js`
// HACK: Needs to replace `require("vega")` to `require("../vega/vega.min.js")` in `vega-lite.min.js`
"vega-lite": "5.16.1", // https://cdn.jsdelivr.net/npm/vega-lite@5.16.1/build/vega-lite.min.js
"vega": "5.25.0", // https://cdn.jsdelivr.net/npm/vega@5.25.0/build/vega.min.js
"wavedrom": "3.3.0" // - https://cdn.jsdelivr.net/npm/wavedrom@3.3.0/wavedrom.min.js
}Attention: Need to remove font: inherit; from reveal.css. Otherwise, KaTeX and MathJax will have trouble rendering. Also don't forget to add the empty file none.css.
Attention: Don't forget to modify the dependentLibraryMaterials variable in markdown-engine.ts
Attention: NOTE: We have to disable the _self = window line in prism.js to make it work with VSCode web extension.