zhihu one

知乎代码高亮

目前為 2020-02-11 提交的版本,檢視 最新版本

// ==UserScript==
// @name         zhihu one
// @version      0.1.2
// @description  知乎代码高亮
// @author       Limboer
// @match        *://*.zhihu.com/*
// @resource     darkCSS https://gitee.com/limboer/zhihu-highlight/raw/master/dark.css
// @resource     lightCSS https://gitee.com/limboer/zhihu-highlight/raw/master/light.css
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @namespace    https://gf.qytechs.cn/users/443935
// ==/UserScript==


(function() {
  var state = {
    mode: document.querySelector('html').getAttribute('data-theme')
  }

  var loadModeScript = function(state) {
    var darkMode = GM_getResourceText("darkCSS")
    var lightMode = GM_getResourceText("lightCSS")
    if (state.mode === 'dark') {
      GM_addStyle(darkMode)
    } else {
      GM_addStyle(lightMode)
    }
  }

  var toogleMode = function(state) {
    var modeButton = `
      <div class="CornerAnimayedFlex">
        <button
          data-tooltip=${state.mode === "dark" ? "日常模式" : "黑暗模式"}
          data-tooltip-position="left"
          type="button"
          class="Button CornerButton Button--plain"
        >
          ${state.mode === "dark" ? "Light" : "Dark"}
        </button>
      </div>
    `

    var cornerButtons = document.querySelector('.CornerButtons')
    cornerButtons.insertAdjacentHTML('afterbegin', modeButton)
    cornerButtons.addEventListener('click', function(e){
      var modeBtn = e.target
      if (modeBtn.innerText.trim() === 'Dark') {
        document.querySelector('html').setAttribute('data-theme', 'dark')
        state.mode = 'dark'
      } else if (modeBtn.innerText.trim() === 'Light') {
        document.querySelector('html').setAttribute('data-theme', 'light')
        state.mode = 'light'
      }

      // re-render
      modeBtn.setAttribute('data-tooltip', `${state.mode === "dark" ? "日常模式" : "黑暗模式"}`)
      modeBtn.innerText = `${state.mode === "dark" ? "Light" : "Dark"}`
      loadModeScript(state)
    })
  }

  loadModeScript(state)
  toogleMode(state)

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址