GitHub Collapse Markdown

🚀 简洁高效的GitHub Markdown标题折叠脚本:智能嵌套🧠+快捷键⌨️+目录📑+搜索🔍+状态记忆💾+简约GUI🔘

当前为 2025-09-18 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

作者
Xyea
评分
0 0 0
版本
3.3.0
创建于
2025-07-02
更新于
2025-09-18
大小
147.9 KB
许可证
MIT
适用于

GitHub Collapse Markdown

Version License Userscript

🚀 为 GitHub Markdown 带来智能标题折叠、目录导航、快速搜索、书签与状态持久化的一站式增强体验。

目录

项目简介

GitHub Collapse Markdown 是一款用户脚本(Tampermonkey/Violentmonkey 等管理器适用),在 GitHub 的 Markdown、Issue、Pull Request、Wiki、文档与 Gist 页面中注入现代化的阅读体验。脚本支持快捷键、嵌套折叠、目录树、模糊搜索、书签收藏、状态记忆以及极简 GUI 控制面板,让长文档阅读与协作更高效。

功能亮点

  • 智能折叠引擎:单击标题即可折叠/展开,支持嵌套层级、Shift+点击批量操作以及滚动定位。
  • 现代化浮动菜单:右下角按钮呼出控制面板,集中管理折叠、目录、搜索、书签、配色、性能模式等功能。
  • 目录导航面板:树形结构展示所有标题,同步折叠状态与当前高亮,整行可点击或键盘触发跳转。
  • 即时标题搜索:模糊匹配、级别过滤、键盘上下键切换结果,Enter/Shift+Enter 跳转到命中标题。
  • 书签系统:为常用段落打卡收藏,跨会话保存,随时回访并支持一键清理。
  • 多场景兼容:支持 GitHub 原生 PJAX/Turbo 导航、锚点跳转、夜间主题与第三方 DOM 变更。
  • 状态记忆:按页面 URL 保存折叠、书签、配色、热键与 UI 偏好,刷新后自动恢复阅读进度。
  • 无障碍体验:ARIA 属性同步、键盘操作、可选辅助提示,适配 GitHub 原生样式与暗色模式。

支持页面

其他 GitHub 子域若包含 .markdown-body.comment-body 区域,也会自动启用脚本。

快速开始

  1. 安装脚本管理器(如 TampermonkeyViolentmonkeyUserscripts)。
  2. 安装脚本:在浏览器地址栏打开 main.js 原始链接,脚本管理器会提示确认安装。
  3. 刷新 GitHub 页面:右下角会出现一个圆形浮动菜单按钮,点击或使用 Ctrl+Shift+M(macOS 使用 +Shift+M)打开控制面板开始使用。

脚本将随脚本管理器自动更新;若需要手动检查更新,可在管理器中启用“自动检查更新”或重新访问原始链接覆盖安装。

常用操作

标题折叠与定位

  • 左键点击任意标题折叠/展开对应内容;嵌套标题会保持当前层级状态。
  • Shift + 单击:同步折叠/展开当前层级的所有同级标题。
  • 页面滚动后会自动高亮当前视窗中的标题,目录面板会同步定位。

快捷键总览

macOS 用户使用 代替下表中的 Ctrl。可在菜单中总开关,部分键位可通过 Tampermonkey 菜单自定义。

功能 快捷键 说明
折叠全部标题 Ctrl + Shift + C 将所有内容折叠为标题概览
展开全部标题 Ctrl + Shift + E 展开所有层级
智能切换 Ctrl + Shift + A 根据当前状态自动折叠或展开
打开控制面板 Ctrl + Shift + M 呼出/隐藏右下角 GUI 菜单
打开目录导航 Ctrl + Shift + L 显示树形目录,可键盘操作
搜索标题 Ctrl + Shift + F 打开搜索框,实时筛选标题
收藏当前标题 Ctrl + Shift + B 将当前可见标题加入书签(可自定义)
下一/上一标题 J / K 启用 Vim 导航后可用,快速在标题间跳转

浮动菜单面板

  • 状态统计:实时显示标题总数、已折叠数量和当前可见数量。
  • 折叠控制:折叠/展开/智能切换、刷新状态记忆、清除全局记忆。
  • 工具集合:一键打开目录、搜索、书签管理、使用帮助。
  • 快速切换:性能模式、状态记忆、快捷键总开关、Vim 导航、调试模式、展示级别数字。
  • 外观设置:在预设配色(Default/Pastel/Vibrant/Mono)之间切换或输入自定义色组,调整折叠箭头尺寸与显示样式。

目录、搜索与书签

  • 目录导航:支持整行点击、回车/空格触发、折叠状态同步以及活动标题高亮。
  • 标题搜索:勾选标题级别过滤、使用上下方向键在结果中移动,Enter 跳转、Shift+Enter 回到上一个命中项。
  • 书签系统:在当前视窗捕获标题并保存,支持重复点击取消收藏、列表中直接跳转、单条移除或一键清空。

自定义与高级功能

  • 性能模式:在长篇文档中禁用动画(仅即时隐藏/显示),提升切换速度。
  • 状态记忆:按页面唯一 URL 保存折叠与书签数据,可在菜单中随时清空或禁用。
  • 快捷键管理:菜单中可一键启用/禁用全局快捷键;通过 Tampermonkey 菜单可定制“收藏标题”等特定热键。
  • Vim 导航:启用后支持 J/K 在标题间跳转,配合目录和搜索更高效。
  • 调试模式:在控制台输出详细日志,便于排查与其他脚本的兼容性问题。
  • 自定义配色与箭头样式:输入自定义色值(支持 Hex/RGB/命名色),设置折叠箭头字号或改为显示层级数字。
  • 帮助面板:菜单中的“使用说明”会打开一份内置使用指南,适合快速查阅快捷键、技巧与设置项。

界面预览

Markdown

数据存储与隐私

脚本依赖脚本管理器的 GM_setValue / GM_getValue API 储存必要信息,均保存在本地浏览器中,不会上传或同步到远端。主要持久化内容包括:

  • 折叠状态、展开偏好(按页面 URL)
  • 书签列表与标题定位信息
  • 快捷键、性能模式、Vim 导航、调试模式等偏好
  • 自定义配色方案与箭头字号

若需要清除:

  • 在浮动菜单选择“清除记忆”会删除所有页面的状态缓存。
  • 在脚本管理器中删除脚本或重置存储也会移除全部数据。

常见问题

Q1:安装后页面没有浮动菜单?
确认脚本管理器已启用脚本,并在 GitHub 页面刷新后再次查看。部分浏览器需要允许脚本运行在 github.com 域名。

Q2:标题折叠无效或 UI 被覆盖?
可能与其他自定义样式或脚本发生冲突,可开启“🐛 调试模式”查看控制台日志,或暂时禁用其他脚本排查。

Q3:想恢复默认状态怎么办?
在浮动菜单点击“重置状态”清除当前页面折叠,在“清除记忆”中移除所有页面缓存;必要时可在脚本管理器中移除脚本重新安装。

如遇其他问题或希望新增功能,欢迎通过 Issues 提交反馈。

贡献指南

欢迎提交 Issue、Pull Request 或使用体验建议:

  1. Fork 本仓库并创建分支。
  2. 修改 main.js,保持 ES2015+ 语法与现有代码风格,必要时增加注释说明复杂逻辑。
  3. 在实际 GitHub 页面中调试(Tampermonkey 可加载本地文件),确保功能在暗色/亮色模式及 PJAX 导航下正常工作。
  4. 提交 PR 前请描述所做更改、影响范围与测试方式。

版本信息

  • 当前公开版本:3.3.0
  • 更新重点:现代化 GUI、目录面板、搜索面板、书签系统、性能模式、状态记忆与可自定义配色。

后续计划将持续优化长文档性能、提升目录同步体验并完善国际化支持。

许可证

本项目采用 MIT License。在保留版权和许可证声明的前提下,您可以自由地使用、复制、修改、合并、出版、分发、再许可和/或销售本脚本。