aboutsummaryrefslogtreecommitdiff
path: root/docs/scripts/docsify-mermaid.js
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-06-23 20:47:54 +0800
committer魏曹先生 <1992414357@qq.com>2026-06-23 20:47:54 +0800
commit521cf9012bc762d169ebce65c49d2b2e038efcd9 (patch)
treeed35e88ba9700aee42bd11f07e68130eee04a6fb /docs/scripts/docsify-mermaid.js
parent583e15f590fd7afce9eb4bcafaf687aa502b2c94 (diff)
Add Mermaid diagram support
Diffstat (limited to 'docs/scripts/docsify-mermaid.js')
-rw-r--r--docs/scripts/docsify-mermaid.js194
1 files changed, 194 insertions, 0 deletions
diff --git a/docs/scripts/docsify-mermaid.js b/docs/scripts/docsify-mermaid.js
new file mode 100644
index 0000000..3148d31
--- /dev/null
+++ b/docs/scripts/docsify-mermaid.js
@@ -0,0 +1,194 @@
+// modules are defined as an array
+// [ module function, map of requires ]
+//
+// map of requires is short require name -> numeric require
+//
+// anything defined in a previous bundle is accessed via the
+// orig method which is the require for previous bundles
+parcelRequire = (function (modules, cache, entry, globalName) {
+ // Save the require from previous bundle to this closure if any
+ var previousRequire = typeof parcelRequire === "function" && parcelRequire;
+ var nodeRequire = typeof require === "function" && require;
+
+ function newRequire(name, jumped) {
+ if (!cache[name]) {
+ if (!modules[name]) {
+ // if we cannot find the module within our internal map or
+ // cache jump to the current global require ie. the last bundle
+ // that was added to the page.
+ var currentRequire =
+ typeof parcelRequire === "function" && parcelRequire;
+ if (!jumped && currentRequire) {
+ return currentRequire(name, true);
+ }
+
+ // If there are other bundles on this page the require from the
+ // previous one is saved to 'previousRequire'. Repeat this as
+ // many times as there are bundles until the module is found or
+ // we exhaust the require chain.
+ if (previousRequire) {
+ return previousRequire(name, true);
+ }
+
+ // Try the node require function if it exists.
+ if (nodeRequire && typeof name === "string") {
+ return nodeRequire(name);
+ }
+
+ var err = new Error("Cannot find module '" + name + "'");
+ err.code = "MODULE_NOT_FOUND";
+ throw err;
+ }
+
+ localRequire.resolve = resolve;
+ localRequire.cache = {};
+
+ var module = (cache[name] = new newRequire.Module(name));
+
+ modules[name][0].call(
+ module.exports,
+ localRequire,
+ module,
+ module.exports,
+ this,
+ );
+ }
+
+ return cache[name].exports;
+
+ function localRequire(x) {
+ return newRequire(localRequire.resolve(x));
+ }
+
+ function resolve(x) {
+ return modules[name][1][x] || x;
+ }
+ }
+
+ function Module(moduleName) {
+ this.id = moduleName;
+ this.bundle = newRequire;
+ this.exports = {};
+ }
+
+ newRequire.isParcelRequire = true;
+ newRequire.Module = Module;
+ newRequire.modules = modules;
+ newRequire.cache = cache;
+ newRequire.parent = previousRequire;
+ newRequire.register = function (id, exports) {
+ modules[id] = [
+ function (require, module) {
+ module.exports = exports;
+ },
+ {},
+ ];
+ };
+
+ var error;
+ for (var i = 0; i < entry.length; i++) {
+ try {
+ newRequire(entry[i]);
+ } catch (e) {
+ // Save first error but execute all entries
+ if (!error) {
+ error = e;
+ }
+ }
+ }
+
+ if (entry.length) {
+ // Expose entry point to Node, AMD or browser globals
+ // Based on https://github.com/ForbesLindesay/umd/blob/master/template.js
+ var mainExports = newRequire(entry[entry.length - 1]);
+
+ // CommonJS
+ if (typeof exports === "object" && typeof module !== "undefined") {
+ module.exports = mainExports;
+
+ // RequireJS
+ } else if (typeof define === "function" && define.amd) {
+ define(function () {
+ return mainExports;
+ });
+
+ // <script>
+ } else if (globalName) {
+ this[globalName] = mainExports;
+ }
+ }
+
+ // Override the current require with this new one
+ parcelRequire = newRequire;
+
+ if (error) {
+ // throw error from earlier, _after updating parcelRequire_
+ throw error;
+ }
+
+ return newRequire;
+})(
+ {
+ GOVZ: [
+ function (require, module, exports) {
+ "use strict";
+
+ Object.defineProperty(exports, "__esModule", {
+ value: true,
+ });
+ exports.default = void 0;
+ var plugin = function plugin(mermaidConf) {
+ return function (hook) {
+ hook.afterEach(function (html, next) {
+ // We load the HTML inside a DOM node to allow for manipulation
+ var htmlElement = document.createElement("div");
+ htmlElement.innerHTML = html;
+ htmlElement
+ .querySelectorAll("pre[data-lang=mermaid]")
+ .forEach(function (element) {
+ // Create a <div class="mermaid"> to replace the <pre>
+ var replacement = document.createElement("div");
+ replacement.textContent = element.textContent;
+ replacement.classList.add("mermaid");
+
+ // Replace
+ element.parentNode.replaceChild(replacement, element);
+ });
+ next(htmlElement.innerHTML);
+ });
+ hook.doneEach(function () {
+ return mermaid.run(mermaidConf);
+ });
+ };
+ };
+ var _default = plugin;
+ exports.default = _default;
+ },
+ {},
+ ],
+ Focm: [
+ function (require, module, exports) {
+ "use strict";
+
+ var _plugin = _interopRequireDefault(require("./plugin"));
+ function _interopRequireDefault(obj) {
+ return obj && obj.__esModule ? obj : { default: obj };
+ }
+ if (!window.$docsify) {
+ window.$docsify = {};
+ }
+ var props = window.$docsify.mermaidConfig || {
+ querySelector: ".mermaid",
+ };
+ window.$docsify.plugins = (window.$docsify.plugins || []).concat(
+ (0, _plugin.default)(props),
+ );
+ },
+ { "./plugin": "GOVZ" },
+ ],
+ },
+ {},
+ ["Focm"],
+ null,
+);
+//# sourceMappingURL=/docsify-mermaid.js.map