您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
为 Gitee 页面生成菜单,默认隐藏,需要时点击开启
// ==UserScript== // @name 为 Gitee 页面生成菜单 // @namespace http://tampermonkey.net/ // @version 1.3 // @description 为 Gitee 页面生成菜单,默认隐藏,需要时点击开启 // @author 百分之千 // @license MIT // @match https://gitee.com/* // @grant none // ==/UserScript== (function() { 'use strict'; const e = ["article","section","main","content","#article",".article","#main",".main","#content",".content","#post",".post","body"]; const n = "h1, h2, h3, h4, h5, h6"; let _; const l = () => { const o = []; let _ = 0; for (const t of e) { if (document.querySelectorAll(t).length) { document.querySelectorAll(t).forEach(t => { t.querySelectorAll(n).forEach(t => { var e; o.push(t); if (!t.id) { e = "toc_index_" + _++; t.dataset.headerMark = e; t.id = e; } else { t.dataset.headerMark = t.id; } }); }); break; } } let l = '<li class="toc_menu_item_title">Table of contents:</li>'; if (o.length) { let _ = +o[0].tagName.replace(/H/g, ""), n = 0; o.forEach(t => { var e = +t.tagName.replace(/H/g, ""); n = n + e - _, n = n < 0 ? 0 : n, _ = e; const o = document.createElement("span"); o.innerText = t.innerText; l += `<li class="toc_menu_item toc_header_level_` + n + `"><a href="#` + t.id + `">` + o.innerHTML + `</a></li>`; }); } else { l += '<li class="toc_menu_item">[Here is empty.]</li>'; } return l += '<li class="toc_menu_item_footer">百分之千&DMS</li>', l; }; (() => { const t = document.createElement("div"); _ = t.attachShadow({mode: "open"}); t.id = "toc_menu_root"; _.innerHTML = ` <style> #toc_menu_root { position: fixed; left: 0; top: 0; max-width: 360px; height: 100%; z-index: 2147483647; backdrop-filter: blur(8px); } #toc_menu_root.toc_hidden { width: 18px; height: 18px; } #toc_menu_root.toc_hidden > ul#toc_menu_list { display: none; } #toc_menu_root > #toc_toggle_button { position: absolute; width: 36px; height: 36px; left: -18px; top: -18px; background: rgba(233, 33, 33, .1); border-radius: 18px; } #toc_menu_root > #toc_toggle_button:hover { background: rgba(233, 33, 33, .6); } #toc_menu_root > ul#toc_menu_list { box-sizing: border-box !important; margin: 0; padding: 24px 18px 18px; height: 100%; overflow: scroll; background: rgba(255, 255, 255, .9); box-shadow: 0 6px 18px rgba(0, 0, 0, .3); } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item, #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_title, #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_footer { list-style: none !important; margin: 0; padding: 0; font-size: 16px; border-left: 3px solid rgba(255, 255, 255, 0); } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_title { font-size: 22px; font-weight: 700; border-bottom: 1px solid #CCCCCF; margin-bottom: 5px; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item:hover { background: #F3F3F3; border-left: 3px solid #AAAAAC; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item > a, #toc_menu_root > ul#toc_menu_list > li.toc_menu_item > a:visited { display: block; padding: 2px .5em; font-size: 16px; font-weight: 400; line-height: 1.6; color: #222226; text-decoration: none; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item > a:hover, #toc_menu_root > ul#toc_menu_list > li.toc_menu_item > a:active { color: #FF88AA; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_0 > a, #toc_menu_root > ul#toc_menu_list > li.toc_header_level_0 > a:visited { font-weight: 700; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_1 { padding-left: 2em; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_2 { padding-left: 3.5em; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_3 { padding-left: 5em; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_4 { padding-left: 6.5em; } #toc_menu_root > ul#toc_menu_list > li.toc_header_level_5 { padding-left: 8em; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_footer { font-size: 14px; color: #99999C; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_footer > a { color: #AAAAAE; text-decoration: none; } #toc_menu_root > ul#toc_menu_list > li.toc_menu_item_footer > a:hover { color: #FF88AA; } #toc_toggle_button { position: fixed; left: 0; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; background: rgba(233, 33, 33, .1); border-radius: 18px; z-index: 2147483648; } #toc_toggle_button:hover { background: rgba(233, 33, 33, .6); } </style> <div id="toc_menu_root" class="toc_hidden"> <ul id="toc_menu_list"></ul> </div> <div id="toc_toggle_button"></div> `; document.querySelector("html").appendChild(t); const e = _.querySelector("#toc_menu_root"); const o = _.querySelector("#toc_menu_list"); _.querySelector("#toc_toggle_button").addEventListener("click", () => { e.classList.toggle("toc_hidden"); if (e.classList.contains("toc_hidden")) { o.innerHTML = ""; } else { o.innerHTML = l(); } }); })(); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址