一个用于存放 Python 代码的平台,具有前后端页面。可设置和展示多个项目(pyhton制作的小工具),每个项目都可以设置、上传:代码、界面截图、exe程序,还可以设置一句话简介和详细介绍(支持Makedown)。
展示
前端:
截图
前端页面:



后台页面:

web源码
前台
index.php:
get_details.php:
后台
以下文件均位于/admin文件夹。
index:
login:
template.html:
web文件结构
项目文件结构概览
关键目录与文件说明
1. admin/ 目录
index.php: 扮演了“控制器”的角色。它负责扫描projects/目录下的文件夹并转换为项目列表,同时处理所有的上传逻辑。template.html: 扮演了“视图”的角色。通过内嵌 JavaScript 监听全局paste事件实现 Ctrl+V 上传,并利用FileReaderAPI 实现.py文件的即时读取与代码区自动填充。
2. projects/ 目录 (数据层)
这是系统的“数据库”。
- 分层设计: 采用
项目 -> 版本 -> 附件的三级结构。 - 自动分拣: 后端逻辑会根据文件后缀,自动将上传的文件放入对应的子目录:
- 图片 $\rightarrow$
/screenshots/ - 可执行程序 $\rightarrow$
/exe/ - 源码 $\rightarrow$ 根目录
- 图片 $\rightarrow$
3. 命名约定
- 源码文件: 采用
项目名_版本号.py的格式自动命名。 - 重命名逻辑: 当你在后台修改项目名称时,
admin/index.php会调用rename()函数更改对应的文件夹名称,由于所有路径都是动态生成的,修改后前台页面会自动同步。
部署建议
- 权限设置: 确保
projects/文件夹对 Web 服务器(如www-data或apache用户)具有写权限。 - 安全防护:
projects/目录内可以放置一个简单的.htaccess(如果你使用 Apache) 来禁止执行 PHP 脚本,防止恶意上传。
详细介绍
🚀 工具核心介绍
该展示站采用 PHP + JavaScript (Vanilla) 的轻量级架构,无需数据库,完全基于文件系统自动构建索引。
1. 自动化项目管理 (File-Based Auto-Indexing)
- 零配置添加:只需在
projects文件夹下创建一个新文件夹,网站侧边栏会自动同步显示。 - Emoji 视觉识别:通过每个项目根目录下的
emoji.txt,为每个项目定义专属图标,增强辨识度。
2. 专业级代码展示 (Pro-Code Display)
- 语法高亮:集成了
Highlight.js,支持 Python 等多种语言的自动高亮,代码框采用经典的 Atom Dark 深色主题。 - 尺寸优化:代码框经过高度限制(带内部滚动条)和宽度窄化处理,确保页面整体比例协调,不显臃肿。
- 一键复制:内置代码复制功能,方便用户直接提取核心逻辑。
3. 深度交互体验 (Interactive UX)
- Markdown 弹窗介绍:为了保持主页清爽,详细的项目文档被移入了一个优雅的弹出层。它支持全功能的 Markdown 渲染(标题、列表、加粗等)。
- 多版本切换系统:用户可以通过下拉菜单查看项目的历史版本,系统会自动切换对应的源码、截图和下载链接。
- 全屏预览:点击界面预览图后,图片会以 Flex 布局完美居中弹出,提供无干扰的视觉体验。
4. 完整的资源分发 (Resource Distribution)
- 环境依赖说明:专门开辟了“运行环境/依赖”区域,清晰展示项目运行所需的 Python 库或硬件要求。
- 多端下载:区分了“源码下载”和“EXE 执行程序下载”,满足开发者和普通用户的不同需求。
📂 目录结构参考
你的工具通过以下逻辑驱动:
- 根目录:
index.php(展示主页),get_details.php(数据中心)。 - 项目目录:
emoji.txt(图标)summary.txt(短简介)info.txt(Markdown 详细介绍)requirements.txt(运行依赖)v1.0/v2.0/(版本文件夹,内含.py源码、screenshots/、exe/)
🌟 总结
这个工具现在看起来就像一个迷你的 GitHub + App Store 结合体。它非常适合用来:
- 展示你的编程课设或外包项目。
- 作为个人技术博客的补充,存放可运行的代码 Demo。
- 在公司内网或个人服务器上分发自研的小工具。