您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Toggle sidebar (Esc-H) and search keyword highlighting (Esc-U) on Sphinx HTML pages using the Read the Docs template.
// ==UserScript== // @name Sphinx RTD template: toggle sidebar and highlighting // @namespace club.porcupine.gm_scripts.sphinx_rtd_template_toggle_sidebar_and_highlighting // @version 3 // @description Toggle sidebar (Esc-H) and search keyword highlighting (Esc-U) on Sphinx HTML pages using the Read the Docs template. // @author Sam Birch // @license MIT // @icon https://icons.duckduckgo.com/ip2/readthedocs.io.ico // @match *://*/* // @grant none // @noframes // ==/UserScript== (function() { 'use strict' function initialize() { function gen_style_toggler(source) { const stylesheet = document.createElement('style') stylesheet.innerHTML = source function toggle() { if (stylesheet.parentElement) { stylesheet.parentElement.removeChild(stylesheet) } else { document.head.appendChild(stylesheet) } } return toggle } const toggle_search_highlighting = gen_style_toggler(` .highlighted { background-color: unset !important; } `) const toggle_sidebar_visibility = gen_style_toggler(` .wy-nav-side, .rst-versions { display: none } .wy-nav-content-wrap { margin-left: unset } `) const esc_timeout_ms = 1000 let esc_pressed = 0 window.addEventListener("keydown", ev => { if (ev.defaultPrevented) { return } switch (ev.key) { case "Escape": esc_pressed = Date.now() ev.preventDefault() break case "h": if (esc_pressed && Date.now() - esc_pressed < esc_timeout_ms) { esc_pressed = 0 toggle_sidebar_visibility() ev.preventDefault() } break case "u": if (esc_pressed && Date.now() - esc_pressed < esc_timeout_ms) { esc_pressed = 0 toggle_search_highlighting() ev.preventDefault() } break } }) } if (document.body.classList.contains('wy-body-for-nav')) { initialize() } }())