Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

144 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FileDir · 文件资源浏览器

AI Generated

一个部署在 GitHub Pages 上的静态文件资源浏览器,无需后端,直接通过浏览器访问仓库中的文件。

🔗 在线访问: https://zilong7728.github.io/FileDir/


✨ 功能特性

  • IDE 风格目录树 — 左侧侧边栏以可折叠树形结构展示全部文件夹与文件,支持逐级展开/收起
  • 面包屑导航 — 顶部路径栏显示当前所在目录层级,每一级均可点击跳转
  • 全局文件视图 — 一键切换至「全部文件 (全局)」模式,跨目录浏览所有文件
  • 动态扩展名分类 — 侧边栏按文件扩展名自动生成分类标签,无需手动维护
  • 顶部快捷筛选 — 自动统计文件数量,将出现最多的 Top 5 扩展名生成快捷筛选按钮
  • 文件名模糊搜索 — 支持按字符顺序匹配,跨目录搜索
  • 全格式沉浸式弹窗预览 (Modal Pro) — 点击文件唤起现代化居中大屏遮罩窗口,打造免插件的沉浸式流式浏览体验:
    • 📊 代码与日志:源码文件(.py, .js, .json, .md)及编译调试日志(.log)自动拉取原文,并驱动高阶语法高亮渲染。
    • 🎬 多媒体矩阵:无需任何插件,原生解算主流音视频(视频:.mp4/.webm;音频:.mp3/.wav),内置带独立控制条的迷你多媒体视听播放器。
    • 🖼️ 图形与图像:图片文件直接大屏展示,完美兼容主流像素图与 .svg 工业级矢量原理图。
    • 💼 Office 云预览:Word、Excel、PPT 文档支持无缝跳转至云端接口进行全屏在线查阅。
    • 🔒 无感闭环:支持点击遮罩、独立关闭按钮或触发 Esc 键秒级退出预览。关闭时自动斩断流媒体进程,确保后台零残留、不偷跑音量。
  • 最近更新栏 — 底部显示最新修改的文件快捷入口
  • 深色模式 — 跟随系统自动切换
  • 响应式布局 — 兼容移动端(侧边栏自动隐藏)

🚀 使用方法

添加文件

  1. 将文件放入仓库的 Files/ 文件夹(支持任意层级子目录)。
  2. 推送代码,GitHub Actions 会自动运行脚本更新目录索引。
  3. 刷新页面即可看到新文件,分类和筛选按钮均会自动更新。

文件大小限制

上传方式 单文件上限
GitHub 网页上传 25 MB
git 命令行 100 MB
Git LFS 不限(需额外配置)

⚠️ 注意: 避免将文件夹命名为带扩展名的形式(如 schematics.pdf),否则系统可能无法正确识别为文件夹。


💡 如何 Fork 并打造自己的资料库

  1. Fork 本仓库:你将获得一个干净的 main 模板分支(不包含原作者的私人资料)。
  2. 启用 Actions:首次 Fork 后进入 Actions 页面,点击 "I understand my workflows, go ahead and enable them" 启用工作流。
  3. 开启 Actions 写入权限:进入仓库 Settings -> Actions -> General,将 Workflow permissions 设置为 Read and write permissions 并保存。
  4. 设置 GitHub Pages:进入 Settings -> Pages,将 Source 分支设置为 main,目录必须选择 / (root)
  5. 上传资料:直接将你的文件上传到 Files/ 文件夹中,机器人会自动为你生成专属索引并刷新网页!

📁 仓库结构

FileDir/
├── .github/workflows/
│   └── static.yml            # GitHub Actions:自动化构建工作流配置
├── docs/                     # 核心逻辑与数据目录
│   ├── generate_index.py     # Python 脚本:扫描目录并生成 JSON 索引
│   └── index.json            # 索引数据:由脚本自动生成
├── Files/                    # 资料库:存放所有文件资料(可任意组织子目录)
├── index.html                # 前端入口:纯原生实现,直接读取 docs/index.json
└── README.md

⚙️ 工作原理

彻底排除了传统的页面抓取模式。当仓库的 Files/ 目录发生变动并推送到 GitHub 时,GitHub Actions 会自动触发 docs/generate_index.py 脚本,极速扫描最新的文件结构,并生成轻量化的 index.json 数据文件存入 docs/ 目录。

前端页面 index.html 部署在根目录,加载时直接 fetch 位于 docs/index.json 的数据文件,在本地瞬间完成目录树构建、分类、搜索与渲染,全程无需任何后端服务器介入,速度极快且高度稳定。


🛠️ 技术栈与致谢

  • 前端实现:纯原生 HTML / CSS / JavaScript,无框架依赖,无构建步骤
  • 数据生成:Python(自动化文件树遍历与信息提取)
  • UI 资源Tabler Icons 图标、IBM Plex Mono 字体
  • 代码高亮Highlight.js(支持 Python、JavaScript、JSON、Markdown 等主流格式,CDN 引入零配置)
  • 托管服务:GitHub Pages + GitHub Actions

🙌 特别致谢 (Credits):

  • 灵感来源:本项目的设计灵感与核心理念深受开源项目 github-pages-directory-listing 的启发。
  • AI 赋能:本项目的整个代码和全套核心功能(目录树、模糊搜索、快捷统计等)的二次开发迭代,均在 Gemini / Claude / ChatGPT 等前沿人工智能模型的深度辅助下开发完成。

⚖️ 侵权声明

本仓库收录的资料均来自公开渠道,仅供个人学习参考。如有侵权,请 提交 Issue 联系删除。

About

基于GitHub Pages的静态文件资源浏览器,无需后端,直接通过浏览器访问仓库中的文件。

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages