.label text { fill: var(--drac-purple-fg); } .edgeLabel text { fill: var(--drac-purple-fg) !important; } .edgeLabel rect { opacity: 0.75 !important; fill: var(--drac-purple-bg) !important; } .grey rect.label-container { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } /* Sequence */ line[id^='actor'] { stroke: var(--drac-blue-fg); } .noteText { fill: var(--drac-yellow-fg); } /* Gantt */ .sectionTitle { fill: var(--drac-purple-fg) !important; } .grid .tick line { stroke: var(--drac-blue-fg) !important; } .grid .tick text { fill: var(--drac-purple-fg); } /* Class Diagram */ .statediagram-state rect.divider { fill: transparent !important; } /* State Diagram */ .stateGroup circle[style$=\"fill: black;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-bg) !important; } .stateGroup circle[style$=\"fill: white;\"] { fill: var(--drac-purple-bg) !important; stroke: var(--drac-purple-fg) !important; } .stateGroup .composit { fill: var(--drac-page-bg); } /* Pie */ text.slice { fill: var(--drac-white-fg) !important; } /* Git Graph */ .commit-bullets .commit-reverse, .commit-bullets .commit-merge, .commit-bullets .commit-highlight-inner { fill: var(--drac-page-bg) !important; stroke: var(--drac-page-bg) !important; } ",themeVariables:{darkMode:!0,background:"#323443",mainBkg:"#604b7d",textColor:"#bf95f9",lineColor:"#bf95f9",errorBkgColor:"#802c2c",errorTextColor:"#ff5757",primaryColor:"#604b7d",primaryTextColor:"#bf95f9",primaryBorderColor:"#bf95f9",secondaryColor:"#297d3e",secondaryTextColor:"#52fa7c",secondaryBorderColor:"#52fa7c",tertiaryColor:"#303952",tertiaryTextColor:"#6071a4",tertiaryBorderColor:"#6071a4",noteBkgColor:"#797d45",noteTextColor:"#f1fa89",noteBorderColor:"#f1fa89",edgeLabelBackground:"#604b7d",edgeLabelText:"#604b7d",actorLineColor:"#6071a4",activeTaskBkgColor:"#803d63",activeTaskBorderColor:"#ff7ac6",doneTaskBkgColor:"#297d3e",doneTaskBorderColor:"#52fa7c",critBkgColor:"#802c2c",critBorderColor:"#ff5757",taskTextColor:"#bf95f9",taskTextOutsideColor:"#bf95f9",taskTextLightColor:"#bf95f9",sectionBkgColor:"#bf95f9b3",sectionBkgColor2:"#bf95f966",altSectionBkgColor:"#323443",todayLineColor:"#ff7ac6",gridColor:"#6071a4",defaultLinkColor:"#8be8fd",altBackground:"#bf95f9",classText:"#bf95f9",fillType0:"#406080",fillType1:"#46747f",fillType2:"#297d3e",fillType3:"#805c36",fillType4:"#803d63",fillType5:"#604b7d",fillType6:"#802c2c",fillType7:"#797d45",fillType8:"#7c7c79",git0:"#ff5555",git1:"#ffb86c",git2:"#f1fa8c",git3:"#50fa7b",git4:"#8be9fd",git5:"#809fff",git6:"#ff79c6",git7:"#bd93f9",gitInv0:"#ff5555",gitInv1:"#ffb86c",gitInv2:"#f1fa8c",gitInv3:"#50fa7b",gitInv4:"#8be9fd",gitInv5:"#809fff",gitInv6:"#ff79c6",gitInv7:"#bd93f9",gitBranchLabel0:"#323443",gitBranchLabel1:"#323443",gitBranchLabel2:"#323443",gitBranchLabel3:"#323443",gitBranchLabel4:"#323443",gitBranchLabel5:"#323443",gitBranchLabel6:"#323443",gitBranchLabel7:"#323443",commitLabelColor:"#52fa7c",commitLabelBackground:"#297d3e"},flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}},default:{startOnLoad:!1,theme:"default",flowchart:{useMaxWidth:!1},er:{useMaxWidth:!1},sequence:{useMaxWidth:!1,noteFontWeight:"14px",actorFontSize:"14px",messageFontSize:"16px"},journey:{useMaxWidth:!1},pie:{useMaxWidth:!1},gantt:{useMaxWidth:!1},gitGraph:{useMaxWidth:!1}}}),d=Promise.resolve(),u=Promise.resolve(),p=new MutationObserver(function(t){t.forEach(function(t){"attributes"===t.type&&(t.target.getAttribute("data-md-color-scheme"),"undefined"!=typeof mermaid&&s("diagram"))})}),window.document$.subscribe(function(){p.observe(document.querySelector("body"),{attributeFilter:["data-md-color-scheme"]}),"undefined"!=typeof mermaid&&(d=d.then(function(){s("diagram")}).catch(function(t){console.log("UML loading failed...".concat(t))})),"undefined"!=typeof katex?u=u.then(function(){m("arithmatex","katex")}).catch(function(t){console.log("Math loading failed...".concat(t))}):"undefined"!=typeof MathJax&&"typesetPromise"in MathJax&&(u=u.then(function(){m("arithmatex","mathjax")}).catch(function(t){console.log("Math loading failed...".concat(t))}))})}();
+//# sourceMappingURL=extra-loader-Ccztcqfq.js.map
diff --git a/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map
new file mode 100644
index 0000000..9081580
--- /dev/null
+++ b/docs/theme/assets/pymdownx-extras/extra-loader-Ccztcqfq.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"extra-loader-Ccztcqfq.js","sources":["uml.js","extra-loader.js","arithmatex.js","material-extra-3rdparty.js"],"sourcesContent":["/* Notes (as of Mermaid 8.7.0):\n * - Gantt: width is always relative to the parent, if you have a small parent, the chart will be squashed.\n * Can't help it.\n * - Journey: Suffers from the same issues that Gantt does.\n * - Pie: These charts have no default height or width. Good luck pinning them down to a reasonable size.\n * - Git: The render portion is agnostic to the size of the parent element. But padding of the SVG is relative\n * to the parent element. You will never find a happy size.\n */\n\n/**\n * Targets special code or div blocks and converts them to UML.\n * @param {string} className is the name of the class to target.\n * @return {void}\n */\nexport default async className => {\n\n // Custom element to encapsulate Mermaid content.\n class MermaidDiv extends HTMLElement {\n\n /**\n * Creates a special Mermaid div shadow DOM.\n * Works around issues of shared IDs.\n * @return {void}\n */\n constructor() {\n super()\n\n // Create the Shadow DOM and attach style\n const shadow = this.attachShadow({mode: \"open\"})\n const style = document.createElement(\"style\")\n style.textContent = `\n :host {\n display: block;\n line-height: initial;\n font-size: 16px;\n }\n div.diagram {\n margin: 0;\n overflow: visible;\n }`\n shadow.appendChild(style)\n }\n }\n\n if (typeof customElements.get(\"diagram-div\") === \"undefined\") {\n customElements.define(\"diagram-div\", MermaidDiv)\n }\n\n const getFromCode = parent => {\n // Handles text extraction.\n let text = \"\"\n for (let j = 0; j < parent.childNodes.length; j++) {\n const subEl = parent.childNodes[j]\n if (subEl.tagName.toLowerCase() === \"code\") {\n for (let k = 0; k < subEl.childNodes.length; k++) {\n const child = subEl.childNodes[k]\n const whitespace = /^\\s*$/\n if (child.nodeName === \"#text\" && !(whitespace.test(child.nodeValue))) {\n text = child.nodeValue\n break\n }\n }\n }\n }\n return text\n }\n\n // We use this to determine if we want the dark or light theme.\n // This is specific for our MkDocs Material environment.\n // You should load your configs based on your own environment's needs.\n const defaultConfig = {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n }\n }\n mermaid.mermaidAPI.globalReset()\n // Non Material themes should just use \"default\"\n let scheme = null\n try {\n scheme = document.querySelector(\"[data-md-color-scheme]\").getAttribute(\"data-md-color-scheme\")\n } catch (err) {\n scheme = \"slate\"\n }\n const config = (typeof mermaidConfig === \"undefined\") ?\n defaultConfig :\n mermaidConfig[scheme] || (mermaidConfig.default || defaultConfig)\n mermaid.initialize(config)\n\n // Find all of our Mermaid sources and render them.\n const blocks = document.querySelectorAll(`pre.${className}, diagram-div`)\n const surrogate = document.querySelector(\"html body\")\n for (let i = 0; i < blocks.length; i++) {\n const block = blocks[i]\n const parentEl = (block.tagName.toLowerCase() === \"diagram-div\") ?\n block.shadowRoot.querySelector(`pre.${className}`) :\n block\n\n // Create a temporary element with the typeset and size we desire.\n // Insert it at the end of our parent to render the SVG.\n const temp = document.createElement(\"div\")\n temp.style.visibility = \"hidden\"\n temp.style.display = \"display\"\n temp.style.padding = \"0\"\n temp.style.margin = \"0\"\n temp.style.lineHeight = \"initial\"\n temp.style.fontSize = \"16px\"\n surrogate.appendChild(temp)\n\n try {\n const res = await mermaid.render(`_diagram_${i}`, getFromCode(parentEl), temp)\n const content = res.svg\n const fn = res.bindFunctions\n const el = document.createElement(\"div\")\n el.className = className\n el.innerHTML = content\n if (fn) {\n fn(el)\n }\n\n // Insert the render where we want it and remove the original text source.\n // Mermaid will clean up the temporary element.\n const shadow = document.createElement(\"diagram-div\")\n shadow.shadowRoot.appendChild(el)\n block.parentNode.insertBefore(shadow, block)\n parentEl.style.display = \"none\"\n shadow.shadowRoot.appendChild(parentEl)\n if (parentEl !== block) {\n block.parentNode.removeChild(block)\n }\n } catch (err) {} // eslint-disable-line no-empty\n\n if (surrogate.contains(temp)) {\n surrogate.removeChild(temp)\n }\n }\n}\n","import uml from \"./uml\"\nimport arithmatex from \"./arithmatex\"\nimport \"./material-extra-3rdparty\"\n\n// Main function\n(() => {\n let umlPromise = Promise.resolve()\n let mathPromise = Promise.resolve()\n\n const observer = new MutationObserver(mutations => {\n mutations.forEach(mutation => {\n if (mutation.type === \"attributes\") {\n let scheme = mutation.target.getAttribute(\"data-md-color-scheme\")\n if (!scheme) {\n scheme = \"slate\"\n }\n if (typeof mermaid !== \"undefined\") {\n uml(\"diagram\")\n }\n }\n })\n })\n\n const main = () => {\n observer.observe(document.querySelector(\"body\"), {attributeFilter: [\"data-md-color-scheme\"]})\n\n if (typeof mermaid !== \"undefined\") {\n umlPromise = umlPromise.then(() => {\n uml(\"diagram\")\n }).catch(err => {\n console.log(`UML loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n\n if (typeof katex !== \"undefined\") {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"katex\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n } else if (typeof MathJax !== \"undefined\" && 'typesetPromise' in MathJax) {\n mathPromise = mathPromise.then(() => {\n arithmatex(\"arithmatex\", \"mathjax\")\n }).catch(err => {\n console.log(`Math loading failed...${err}`) // eslint-disable-line no-console\n })\n }\n }\n\n window.document$.subscribe(main)\n})()\n","export default (className, mode) => {\n if (mode === 'katex') {\n const maths = document.querySelectorAll(`.${className}`)\n\n for (let i = 0; i < maths.length; i++) {\n const tex = maths[i].textContent || maths[i].innerText\n\n if (tex.startsWith('\\\\(') && tex.endsWith('\\\\)')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': false})\n } else if (tex.startsWith('\\\\[') && tex.endsWith('\\\\]')) {\n katex.render(tex.slice(2, -2), maths[i], {'displayMode': true})\n }\n }\n } else if (mode === 'mathjax') {\n if (typeof MathJax.startup.output.clearCache !== \"undefined\") {\n MathJax.startup.output.clearCache()\n }\n MathJax.typesetClear()\n MathJax.texReset()\n MathJax.typesetPromise()\n }\n}\n","// MathJax configuration\n\nif (!('mathjaxConfig' in window)) {\n window.MathJax = {\n tex: {\n inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n displayMath: [[\"\\\\[\", \"\\\\]\"]],\n processEscapes: true,\n processEnvironments: true,\n tagSide: \"right\",\n tagIndent: \".8em\",\n multlineWidth: \"85%\",\n tags: \"ams\"\n },\n options: {\n ignoreHtmlClass: \".*\",\n processHtmlClass: \"arithmatex\"\n }\n }\n}\n\nif (!('mermaidConfig' in window)) {\n // Our loader looks for `mermaidConfig` and will load the the appropriate\n // configuration based on our current scheme: light, dark, etc.\n window.mermaidConfig = {\n slate: {\n startOnLoad: false,\n theme: \"base\",\n themeCSS: \"\\\n * {\\\n --drac-page-bg: hsl(233, 15%, 23%);\\\n --drac-white-fg: hsl(60, 30%, 96%);\\\n --drac-purple-fg: hsl(265, 89%, 78%);\\\n --drac-purple-bg: hsl(265, 25%, 39%);\\\n --drac-yellow-fg: hsl(65, 92%, 76%);\\\n --drac-blue-fg: hsl(225, 27%, 51%);\\\n }\\\n \\\n /* General */\\\n [id^='_diagram'] {\\\n background-color: var(--drac-page-bg);\\\n }\\\n \\\n /* Entity Relationship */\\\n rect.relationshipLabelBox {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END circle {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START circle{\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONLY_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ZERO_OR_ONE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_START path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n defs marker#ONE_OR_MORE_END path {\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n /* Flowchart */\\\n .labelText,\\\n :not(.branchLabel) > .label text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n .edgeLabel text {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n .edgeLabel rect {\\\n opacity: 0.75 !important;\\\n fill: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .grey rect.label-container { \\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n } \\\n /* Sequence */\\\n line[id^='actor'] {\\\n stroke: var(--drac-blue-fg);\\\n }\\\n .noteText {\\\n fill: var(--drac-yellow-fg);\\\n }\\\n \\\n /* Gantt */\\\n .sectionTitle {\\\n fill: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .grid .tick line {\\\n stroke: var(--drac-blue-fg) !important;\\\n }\\\n \\\n .grid .tick text {\\\n fill: var(--drac-purple-fg);\\\n }\\\n \\\n /* Class Diagram */\\\n .statediagram-state rect.divider {\\\n fill: transparent !important;\\\n }\\\n \\\n /* State Diagram */\\\n .stateGroup circle[style$=\\\"fill: black;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-bg) !important;\\\n }\\\n \\\n .stateGroup circle[style$=\\\"fill: white;\\\"] {\\\n fill: var(--drac-purple-bg) !important;\\\n stroke: var(--drac-purple-fg) !important;\\\n }\\\n \\\n .stateGroup .composit {\\\n fill: var(--drac-page-bg);\\\n }\\\n /* Pie */\\\n text.slice {\\\n fill: var(--drac-white-fg) !important;\\\n }\\\n /* Git Graph */\\\n .commit-bullets .commit-reverse,\\\n .commit-bullets .commit-merge, \\\n .commit-bullets .commit-highlight-inner {\\\n fill: var(--drac-page-bg) !important;\\\n stroke: var(--drac-page-bg) !important;\\\n }\\\n \",\n themeVariables: {\n darkMode: true,\n background: \"#323443\",\n mainBkg: \"#604b7d\",\n textColor: \"#bf95f9\",\n lineColor: \"#bf95f9\",\n errorBkgColor: \"#802c2c\",\n errorTextColor: \"#ff5757\",\n primaryColor: \"#604b7d\",\n primaryTextColor: \"#bf95f9\",\n primaryBorderColor: \"#bf95f9\",\n secondaryColor: \"#297d3e\",\n secondaryTextColor: \"#52fa7c\",\n secondaryBorderColor: \"#52fa7c\",\n tertiaryColor: \"#303952\",\n tertiaryTextColor: \"#6071a4\",\n tertiaryBorderColor: \"#6071a4\",\n noteBkgColor: \"#797d45\",\n noteTextColor: \"#f1fa89\",\n noteBorderColor: \"#f1fa89\",\n edgeLabelBackground: \"#604b7d\",\n edgeLabelText: \"#604b7d\",\n\n actorLineColor: \"#6071a4\",\n\n activeTaskBkgColor: \"#803d63\",\n activeTaskBorderColor: \"#ff7ac6\",\n doneTaskBkgColor: \"#297d3e\",\n doneTaskBorderColor: \"#52fa7c\",\n critBkgColor: \"#802c2c\",\n critBorderColor: \"#ff5757\",\n taskTextColor: \"#bf95f9\",\n taskTextOutsideColor: \"#bf95f9\",\n taskTextLightColor: \"#bf95f9\",\n sectionBkgColor: \"#bf95f9b3\",\n sectionBkgColor2: \"#bf95f966\",\n altSectionBkgColor: \"#323443\",\n todayLineColor: \"#ff7ac6\",\n gridColor: \"#6071a4\",\n defaultLinkColor: \"#8be8fd\",\n\n altBackground: \"#bf95f9\",\n\n classText: \"#bf95f9\",\n\n fillType0: \"#406080\",\n fillType1: \"#46747f\",\n fillType2: \"#297d3e\",\n fillType3: \"#805c36\",\n fillType4: \"#803d63\",\n fillType5: \"#604b7d\",\n fillType6: \"#802c2c\",\n fillType7: \"#797d45\",\n fillType8: \"#7c7c79\",\n\n git0: \"#ff5555\",\n git1: \"#ffb86c\",\n git2: \"#f1fa8c\",\n git3: \"#50fa7b\",\n git4: \"#8be9fd\",\n git5: \"#809fff\",\n git6: \"#ff79c6\",\n git7: \"#bd93f9\",\n\n gitInv0: \"#ff5555\",\n gitInv1: \"#ffb86c\",\n gitInv2: \"#f1fa8c\",\n gitInv3: \"#50fa7b\",\n gitInv4: \"#8be9fd\",\n gitInv5: \"#809fff\",\n gitInv6: \"#ff79c6\",\n gitInv7: \"#bd93f9\",\n\n gitBranchLabel0: \"#323443\",\n gitBranchLabel1: \"#323443\",\n gitBranchLabel2: \"#323443\",\n gitBranchLabel3: \"#323443\",\n gitBranchLabel4: \"#323443\",\n gitBranchLabel5: \"#323443\",\n gitBranchLabel6: \"#323443\",\n gitBranchLabel7: \"#323443\",\n\n commitLabelColor: '#52fa7c',\n commitLabelBackground: '#297d3e'\n },\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n // Mermaid handles Firefox a little different.\n // For some reason, it doesn't attach font sizes to the labels in Firefox.\n // If we specify the documented defaults, font sizes are written to the labels in Firefox.\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n },\n\n default: {\n startOnLoad: false,\n theme: \"default\",\n flowchart: {\n useMaxWidth: false\n },\n er: {\n useMaxWidth: false\n },\n sequence: {\n useMaxWidth: false,\n noteFontWeight: \"14px\",\n actorFontSize: \"14px\",\n messageFontSize: \"16px\"\n },\n journey: {\n useMaxWidth: false\n },\n pie: {\n useMaxWidth: false\n },\n gantt: {\n useMaxWidth: false\n },\n gitGraph: {\n useMaxWidth: false\n }\n }\n }\n}\n"],"names":["umlPromise","mathPromise","observer","uml","_ref","_regenerator","m","_callee","className","MermaidDiv","getFromCode","defaultConfig","scheme","config","blocks","surrogate","i","block","parentEl","temp","res","content","fn","el","shadow","w","_context","p","n","_HTMLElement","_this","_classCallCheck","_callSuper","this","attachShadow","mode","style","document","createElement","textContent","appendChild","_inherits","_wrapNativeSuper","HTMLElement","customElements","get","define","parent","text","j","childNodes","length","subEl","tagName","toLowerCase","k","child","nodeName","test","nodeValue","startOnLoad","theme","flowchart","useMaxWidth","er","sequence","noteFontWeight","actorFontSize","messageFontSize","mermaid","mermaidAPI","globalReset","querySelector","getAttribute","err","mermaidConfig","initialize","querySelectorAll","concat","shadowRoot","visibility","display","padding","margin","lineHeight","fontSize","render","v","svg","bindFunctions","innerHTML","parentNode","insertBefore","removeChild","contains","a","_x","apply","arguments","arithmatex","maths","tex","innerText","startsWith","endsWith","katex","slice","displayMode","MathJax","startup","output","clearCache","typesetClear","texReset","typesetPromise","window","inlineMath","displayMath","processEscapes","processEnvironments","tagSide","tagIndent","multlineWidth","tags","options","ignoreHtmlClass","processHtmlClass","slate","themeCSS","themeVariables","darkMode","background","mainBkg","textColor","lineColor","errorBkgColor","errorTextColor","primaryColor","primaryTextColor","primaryBorderColor","secondaryColor","secondaryTextColor","secondaryBorderColor","tertiaryColor","tertiaryTextColor","tertiaryBorderColor","noteBkgColor","noteTextColor","noteBorderColor","edgeLabelBackground","edgeLabelText","actorLineColor","activeTaskBkgColor","activeTaskBorderColor","doneTaskBkgColor","doneTaskBorderColor","critBkgColor","critBorderColor","taskTextColor","taskTextOutsideColor","taskTextLightColor","sectionBkgColor","sectionBkgColor2","altSectionBkgColor","todayLineColor","gridColor","defaultLinkColor","altBackground","classText","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","fillType8","git0","git1","git2","git3","git4","git5","git6","git7","gitInv0","gitInv1","gitInv2","gitInv3","gitInv4","gitInv5","gitInv6","gitInv7","gitBranchLabel0","gitBranchLabel1","gitBranchLabel2","gitBranchLabel3","gitBranchLabel4","gitBranchLabel5","gitBranchLabel6","gitBranchLabel7","commitLabelColor","commitLabelBackground","journey","pie","gantt","gitGraph","default","Promise","resolve","MutationObserver","mutations","forEach","mutation","type","target","document$","subscribe","observe","attributeFilter","then","console","log"],"mappings":"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"}
\ No newline at end of file
diff --git a/docs/theme/main.html b/docs/theme/main.html
new file mode 100644
index 0000000..ad25013
--- /dev/null
+++ b/docs/theme/main.html
@@ -0,0 +1,17 @@
+{% extends "base.html" %}
+
+{% block announce %}{% include "announce.html" ignore missing %}{% endblock %}
+
+{% block content %}
+ {{ super() }}
+
+{% endblock %}
diff --git a/pyproject.toml b/pyproject.toml
index 816847d..54f592f 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -138,8 +138,8 @@ deps=
.
-r requirements/docs.txt
commands=
- {envpython} -m mkdocs build --clean --verbose --strict
- {envpython} -m pyspelling
+ "{envpython}" -m zensical.main build -f zensical.yml --clean --strict
+ "{envpython}" -m pyspelling
[testenv:lint]
deps=
diff --git a/requirements/docs.txt b/requirements/docs.txt
index da942b5..f00b063 100644
--- a/requirements/docs.txt
+++ b/requirements/docs.txt
@@ -1,4 +1,4 @@
-mkdocs_pymdownx_material_extras>=2.0
-mkdocs-git-revision-date-localized-plugin
-mkdocs-minify-plugin
+zensical
+pymdown_lexers @ git+https://github.com/facelessuser/pymdown-lexers.git
pyspelling
+build
diff --git a/mkdocs.yml b/zensical.yml
similarity index 75%
rename from mkdocs.yml
rename to zensical.yml
index 23cb641..3911de5 100644
--- a/mkdocs.yml
+++ b/zensical.yml
@@ -13,24 +13,48 @@ theme:
icon:
logo: material/book-open-page-variant
palette:
- scheme: dracula
- primary: deep purple
- accent: deep purple
+ # Palette toggle for system
+ - media: "(prefers-color-scheme)"
+ toggle:
+ icon: material/brightness-auto
+ name: Switch to light mode
+
+ # Palette toggle for light mode
+ - media: "(prefers-color-scheme: light)"
+ scheme: default
+ primary: deep purple
+ accent: deep purple
+ toggle:
+ icon: lucide/sun
+ name: Switch to dark mode
+
+ # Palette toggle for dark mode
+ - media: "(prefers-color-scheme: dark)"
+ scheme: slate
+ primary: deep purple
+ accent: deep purple
+ toggle:
+ icon: lucide/moon
+ name: Switch to light mode
font:
text: Roboto
code: Roboto Mono
features:
+ - announce.dismiss
- navigation.tabs
- navigation.top
- navigation.instant
- - toc.follow
- - content.code.copy
+ - navigation.indexes
+ - navigation.path
- navigation.footer
+ - toc.follow
+ - content.tabs.link
- search.share
- search.highlight
- search.suggest
- pymdownx:
- sponsor: "https://github.com/sponsors/facelessuser"
+ - content.code.copy
+ - content.tabs.link
+ - content.code.annotations
nav:
- Usage:
@@ -60,35 +84,26 @@ nav:
- License: about/license.md
markdown_extensions:
- - markdown.extensions.toc:
+ - toc:
slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
permalink: ""
- - markdown.extensions.smarty:
+ - smarty:
smart_quotes: false
+ - attr_list:
+ - tables:
+ - abbr:
+ - footnotes:
- pymdownx.betterem:
- - markdown.extensions.attr_list:
- - markdown.extensions.tables:
- - markdown.extensions.abbr:
- - markdown.extensions.footnotes:
- - markdown.extensions.md_in_html:
- pymdownx.superfences:
+ preserve_tabs: true
- pymdownx.highlight:
- extend_pygments_lang:
- - name: php-inline
- lang: php
- options:
- startinline: true
- - name: pycon3
- lang: pycon
- options:
- python3: true
- pymdownx.inlinehilite:
- pymdownx.magiclink:
repo_url_shortener: true
repo_url_shorthand: true
social_url_shorthand: true
user: facelessuser
- repo: pymdown-extensions
+ repo: pyspelling
- pymdownx.tilde:
- pymdownx.caret:
- pymdownx.smartsymbols:
@@ -101,8 +116,6 @@ markdown_extensions:
- pymdownx.tasklist:
custom_checkbox: true
- pymdownx.progressbar:
- - pymdownx.arithmatex:
- - pymdownx.mark:
- pymdownx.striphtml:
- pymdownx.snippets:
base_path:
@@ -163,16 +176,20 @@ markdown_extensions:
- pymdownx.blocks.definition:
- pymdownx.blocks.tab:
alternate_style: True
+ slugify: !!python/object/apply:pymdownx.slugs.slugify {kwds: {case: lower}}
+ - pymdownx.fancylists:
+ inject_style: True
+ - pymdownx.blocks.caption:
+ - pymdownx.arithmatex:
+ generic: true
+ block_tag: 'pre'
+
+extra_css:
+ - assets/pymdownx-extras/extra-835c322b67.css
+extra_javascript:
+ - assets/pymdownx-extras/extra-loader-Ccztcqfq.js
extra:
social:
- icon: fontawesome/brands/github
link: https://github.com/facelessuser
-
-plugins:
- - search
- - git-revision-date-localized:
- fallback_to_build_date: true
- - mkdocs_pymdownx_material_extras
- - minify:
- minify_html: true