Greasy Fork

Greasy Fork is available in English.

GitHub 增强

为 GitHub 增加额外的功能。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
PRO-2684
日安装量
2
总安装量
1,497
评分
2 0 1
版本
0.3.8
创建于
2024-09-29
更新于
2025-10-03
大小
29.7 KB
许可证
GPL-3.0
适用于

Greasy Fork

如果你在 Greasy Fork 上查看自述文件时遇到问题,请访问 GitHub 上的自述文件 以获得更好的体验。

🪄 特点

  • 不使用 MutationObserversetInterval,纯粹基于事件驱动,比类似功能的脚本更高效
  • 没有危险的动态修补,确保兼容性
  • 实验性支持各种 GitHub 镜像站
    • 需自行将镜像站添加到此脚本的 用户匹配 列表
    • 管理面板 - 已安装脚本 - GitHub 增强 - 设置 - 包括/排除 - 用户匹配 - 添加...

⚙️ 配置

  • 🔢 Code Features
    • 📥 Clone Full Command: 在代码标签下的 httpsgit@ URL 前附加 git clone。(实验性功能,可能有效也可能无效)
    • ➡️ Tab Size: 设置 Tab 缩进大小。
    • 😉 Cursor Blink: 启用光标闪烁。
    • 🌊 Cursor Animation: 使光标平滑移动。
  • 🎨 Appearance
    • 📰 Dashboard: 配置仪表盘。(Default, Hide Copilot, Hide Feed, Mobile-Like)
    • ↖️ Left Sidebar: 配置左侧栏。(Default, Hidden)
    • ↗️ Right Sidebar: 配置右侧栏。(Default, Hide 'Latest changes', Hide 'Explore repositories', Hide Completely)
    • 📌 Sticky Avatar: 使头像固定。(实验性功能,不适用于所有头像)
  • 📦 Release Features
    • ⬆️ Release Uploader: 显示 Release 中文件的上传者。
      • 如果上传者是用户,则悬停时显示用户悬停卡片。
      • 如果上传者是 GitHub App,则着色为绿。
    • 📥 Release Downloads: 显示 Release 中文件的下载次数。
    • 📊 Release Histogram: 显示 Release 中各文件的下载次数直方图。
      • 如果只有零个或一个 Release 文件,则不会显示。
      • 如果没有任何 Release 文件被下载,则不会显示。
    • 🫥 Hide Archives: 隐藏 Release 中的源代码归档。(实验性功能)
  • 🪄 Additional Features
    • 🎭 Tracking Prevention: 阻止 GitHub 的一些跟踪。
  • ⚙️ Advanced Settings
    • 🔑 Personal Access Token: GitHub API 的个人访问令牌,以 github_pat_ 开头(用于提升速率限制)。详见 个人访问令牌 (PAT) 部分。
    • 📈 Rate Limit: 查看当前速率限制状态。
    • 🐞 Debug: 启用调试模式。

🖼️ 效果展示

"Assets" 部分示例 下述 Release "Assets" 部分的示例均启用了 `Release Downloads`, `Release Uploader` 和 `Release Histogram`。 [microsoft/[email protected]](https://github.com/microsoft/terminal/releases/tag/v1.22.2702.0): ![microsoft/[email protected]](./images/assets-1.jpg) [PRO-2684/[email protected]](https://github.com/PRO-2684/GM_config/releases/tag/v1.2.1): ![PRO-2684/[email protected]](./images/assets-2.jpg)
仪表盘示例 这是一个仪表盘界面的示例,其中 `📰 Dashboard` 设置为 `Mobile-Like`, `↖️ Left Sidebar` 设置为 `Hidden`, `↗️ Right Sidebar` 设置为 `Hide 'Latest changes'`。 ![](./images/dashboard.jpg)

🔑 个人访问令牌 (PAT)

  • 没有 PAT,每小时只允许 $60$ 次请求;有 PAT,每小时允许 $5000$ 次请求,对大多数用户来说足够了。
  • 在这里 了解如何创建细粒度的个人访问令牌。
  • Repository access 选项卡下只需选择 Public Repositories (read-only)(默认设置)。此部分后面展示了一张示例图片,以供参考。
  • 请注意,此脚本无法在私有仓库上添加额外信息。
  • 记得 在令牌过期时生成一个新令牌
  • 自行承担在镜像站上使用个人访问令牌的风险。
个人访问令牌示例设置 ![](./images/token.jpeg)

💡 机制

有关更详细的信息,请参阅源代码。(希望)它有很好的注释,并包含其他可能未在此处涵盖的说明与见解。

Release * 功能

  • 首先,我们需要监听 DOMContentLoadedturbo:load 事件,以了解 DOM 何时准备就绪或内容发生更改。在这两种情况下,我们都需要重新检查页面(setupListeners)。
  • 然后,我们应该找到所有与 Release 相关的 include-fragment 元素。通过使用开发者工具,我们了解到它们将动态地被实际内容替换,因此调查它们至关重要。
  • 搜索 GitHub,我们可以找到 include-fragment 的仓库,其中包含文档。我们可以从文档中了解到,include-fragment 元素将在内容被获取并解析后、插入到 DOM 之前派发一个 include-fragment-replace 事件。更好的是,它带有一个方便的类型为 DocumentFragment 的属性 detail.fragment,亦即解析后的内容。
  • 因此,对于每个 include-fragment 元素,我们监听 include-fragment-replace 事件,然后处理 detail.fragment 以添加我们的额外信息(onFragmentReplace)。
  • 为了查询给定 Release 的额外信息,我们只需调用 "Get a release by tag name" API。然后,我们可以提取我们需要的信息并将其添加到 DocumentFragment 中。

Tracking Prevention 功能

通过调查源代码(感谢源代码映射)并设置断点,我们可以发现 GitHub 从某些 <meta> 标签初始化跟踪端点。通过清除这些标签的 content 属性,我们可以阻止一些跟踪。更多细节可以参阅源代码,或阅读 这篇帖子

🤔 已知问题

  • 添加的信息可能不对齐。
  • 如果启用了 "Tracking Prevention",则可能会看到一个 "Error Looks like something went wrong!" 横幅。