diff --git a/packages/docsify-dark-mode/README.md b/packages/docsify-dark-mode/README.md
index ca6e27e..c8203e1 100644
--- a/packages/docsify-dark-mode/README.md
+++ b/packages/docsify-dark-mode/README.md
@@ -52,12 +52,14 @@ window.$docsify = {
dark: {
background: "",
toggleBtnBg: "",
- textColor: ""
+ textColor: "",
+ codeColor: ""
},
light: {
background: "",
toggleBtnBg: "",
- textColor: ""
+ textColor: "",
+ codeColor: ""
}
}
// ...
@@ -71,12 +73,14 @@ window.$docsify = {
dark: {
background: "#1c2022",
toggleBtnBg: "#34495e",
- textColor: "#b4b4b4"
+ textColor: "#b4b4b4",
+ codeColor: "#3f484d"
},
light: {
background: "white",
toggleBtnBg: "var(--theme-color)",
- textColor: "var(--theme-color)"
+ textColor: "var(--theme-color)",
+ codeColor: "white"
}
};
```
diff --git a/packages/docsify-dark-mode/src/index.js b/packages/docsify-dark-mode/src/index.js
index 1502951..967f5a3 100644
--- a/packages/docsify-dark-mode/src/index.js
+++ b/packages/docsify-dark-mode/src/index.js
@@ -1,78 +1,58 @@
-const plugin = (hook, vm) => {
- var trans = () => {
- document.documentElement.classList.add('transition')
- window.setTimeout(() => {
- document.documentElement.classList.remove('transition')
- }, 800)
- }
- var setColor = ({ background, toggleBtnBg, textColor }) => {
- document.documentElement.style.setProperty(
- '--docsify_dark_mode_bg',
- background
- )
- document.documentElement.style.setProperty(
- '--docsify_dark_mode_btn',
- toggleBtnBg
- )
- document.documentElement.style.setProperty('--text_color', textColor)
- }
-
- var theme = { dark: {}, light: {} }
- var defaultConfig = {
+"use strict";
+window.$docsify.plugins = [].concat((t, e) => {
+ var o,
+ n = () => {
+ document.documentElement.classList.add("transition"),
+ window.setTimeout(() => {
+ document.documentElement.classList.remove("transition");
+ }, 800);
+ },
+ c = ({ background: t, toggleBtnBg: e, textColor: o, codeColor: f }) => {
+ document.documentElement.style.setProperty("--docsify_dark_mode_bg", t),
+ document.documentElement.style.setProperty(
+ "--docsify_dark_mode_btn",
+ e
+ ),
+ document.documentElement.style.setProperty("--text_color", o);
+ document.documentElement.style.setProperty("--code_color", f)
+ };
+ (o = {
dark: {
- background: '#1c2022',
- toggleBtnBg: '#34495e',
- textColor: '#b4b4b4'
+ background: "#1c2022",
+ toggleBtnBg: "#34495e",
+ textColor: "#b4b4b4",
+ codeColor: "#3f484d"
},
light: {
- background: 'white',
- toggleBtnBg: 'var(--theme-color)',
- textColor: 'var(--theme-color)'
- }
- }
-
- theme = { ...defaultConfig, ...vm.config.darkMode }
-
- hook.afterEach(function(html, next) {
- var darkEl = `
-
-
-
`
- html = `${darkEl}${html}`
- next(html)
- })
-
- hook.doneEach(function() {
- var currColor
- if (localStorage.getItem('DOCSIFY_DARK_MODE')) {
- currColor = localStorage.getItem('DOCSIFY_DARK_MODE')
- setColor(theme[`${currColor}`])
- } else {
- currColor = 'light'
- setColor(theme.light)
- }
-
- var checkbox = document.querySelector('input[name=mode]')
-
- if (!checkbox) {
- return
- }
-
- checkbox.addEventListener('change', function() {
- // dark
- if (currColor === 'light') {
- trans()
- setColor(theme.dark)
- localStorage.setItem('DOCSIFY_DARK_MODE', 'dark')
- currColor = 'dark'
- } else {
- trans()
- setColor(theme.light)
- localStorage.setItem('DOCSIFY_DARK_MODE', 'light')
- currColor = 'light'
- }
- })
- })
-}
-
-window.$docsify.plugins = [].concat(plugin, window.$docsify.plugins)
+ background: "white",
+ toggleBtnBg: "var(--theme-color)",
+ textColor: "var(--theme-color)",
+ codeColor: "white"
+ },
+ ...e.config.darkMode,
+ }),
+ t.afterEach(function (t, e) {
+ e(
+ (t = ` \n \n \n
${t}`)
+ );
+ }),
+ t.doneEach(function () {
+ var t;
+ localStorage.getItem("DOCSIFY_DARK_MODE")
+ ? ((t = localStorage.getItem("DOCSIFY_DARK_MODE")), c(o[`${t}`]))
+ : ((t = "light"), c(o.light)),
+ document
+ .querySelector("input[name=mode]")
+ .addEventListener("change", function () {
+ "light" === t
+ ? (n(),
+ c(o.dark),
+ localStorage.setItem("DOCSIFY_DARK_MODE", "dark"),
+ (t = "dark"))
+ : (n(),
+ c(o.light),
+ localStorage.setItem("DOCSIFY_DARK_MODE", "light"),
+ (t = "light"));
+ });
+ });
+}, window.$docsify.plugins);
diff --git a/packages/docsify-dark-mode/src/style.css b/packages/docsify-dark-mode/src/style.css
index 490bd33..fa5968a 100644
--- a/packages/docsify-dark-mode/src/style.css
+++ b/packages/docsify-dark-mode/src/style.css
@@ -11,7 +11,18 @@ main,
aside {
background: var(--docsify_dark_mode_bg);
}
-
+.sidebar ul li a {
+ color: var(--text_color)
+}
+.markdown-section code, .markdown-section pre {
+ background-color: var(--code_color);
+}
+.markdown-section td {
+ background-color: var(--docsify_dark_mode_bg);
+}
+.anchor span{
+ color: var(--text_color)
+}
#dark_mode > input[type='checkbox'] {
height: 0;
width: 0;
@@ -37,42 +48,3 @@ aside {
content: '';
background: #fff;
width: 20px;
- height: 20px;
- -webkit-border-radius: 50%;
- -moz-border-radius: 50%;
- border-radius: 50%;
- position: absolute;
- top: 5px;
- left: 4px;
- transition: cubic-bezier(0.68, -0.55, 0.27, 1.55) 320ms;
-}
-
-#dark_mode > input:checked + label {
- background: var(--docsify_dark_mode_btn);
-}
-
-#dark_mode > input:checked + label:after {
- left: calc(100% - 5px);
- -webkit-transform: translateX(-100%);
- -moz-transform: translateX(-100%);
- -ms-transform: translateX(-100%);
- -o-transform: translateX(-100%);
- transform: translateX(-100%);
-}
-
-html.transition,
-html.transition *,
-html.transition *:before,
-html.transition *:after {
- transition: cubic-bezier(0.68, -0.55, 0.27, 1.55) 420ms !important;
- transition-delay: 0 !important;
-}
-
-#dark_mode {
- position: absolute;
- right: 0;
- top: 0;
-}
-p {
- color: var(--text_color);
-}