您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在GitHub项目主页添加DeepWiki链接
- // ==UserScript==
- // @name GitHub DeepWiki Link
- // @namespace http://tampermonkey.net/
- // @version 0.2
- // @description 在GitHub项目主页添加DeepWiki链接
- // @author zerah
- // @match https://github.com/*/*
- // @grant none
- // @run-at document-idle
- // @license MIT
- // ==/UserScript==
- (function() {
- 'use strict';
- // 初始化变异观察器
- function initMutationObserver() {
- const targetNode = document.body;
- // 观察器配置
- const config = {
- childList: true,
- subtree: true
- };
- // 创建观察器实例
- const observer = new MutationObserver((mutationsList) => {
- for(const mutation of mutationsList) {
- if (mutation.type === 'childList') {
- const publicLabel = document.querySelector('.Label--secondary.v-align-middle.mr-1');
- if (publicLabel && !document.querySelector('.deepwiki-link')) {
- addDeepWikiLink(publicLabel);
- // 一旦添加了链接,就不再需要继续监视
- // observer.disconnect();
- // 但我们保持观察,以防导航到其他页面
- }
- }
- }
- });
- // 开始观察
- observer.observe(targetNode, config);
- }
- // 立即运行一次,以防元素已经存在
- setTimeout(() => {
- const publicLabel = document.querySelector('.Label--secondary.v-align-middle.mr-1');
- if (publicLabel) {
- addDeepWikiLink(publicLabel);
- }
- // 无论是否找到元素,都启动观察器
- initMutationObserver();
- }, 500);
- function addDeepWikiLink(publicLabel) {
- // 获取项目路径,例如 qzz0518/coss
- const pathParts = window.location.pathname.split('/');
- if (pathParts.length < 3) return; // 不是项目页面
- const owner = pathParts[1];
- const repo = pathParts[2];
- // 确保我们在项目的主页上
- if (pathParts.length > 3 && pathParts[3] !== '') return;
- // 检查是否已经添加了DeepWiki链接
- if (publicLabel.parentNode.querySelector('.deepwiki-link')) return;
- // 创建DeepWiki链接
- const deepWikiLink = document.createElement('a');
- deepWikiLink.href = `https://deepwiki.com/${owner}/${repo}`;
- deepWikiLink.target = '_blank'; // 在新窗口打开
- deepWikiLink.className = 'Label Label--secondary v-align-middle mr-1 deepwiki-link';
- deepWikiLink.textContent = 'DeepWiki';
- deepWikiLink.style.textDecoration = 'none';
- deepWikiLink.style.cursor = 'pointer';
- // 在Public标签后面插入DeepWiki链接
- publicLabel.parentNode.insertBefore(deepWikiLink, publicLabel.nextSibling);
- }
- })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址