Sify Gist: 打造属于你的代码片段分享平台#
在这个开源的时代,我们每天都在创造和积累代码。有没有想过拥有一个专属的代码宝库,既能安全存储,又能便捷分享?Sify Gist 应运而生。
初识 Sify Gist#
还记得 GitHub Gist 吗?那个让我们随手分享代码片段的神奇工具。Sify Gist 正是受此启发,打造的一款现代化代码片段分享平台。它不仅继承了 Gist 的核心功能,更在此基础上进行了大量创新和优化。
与传统的代码托管平台不同,Sify Gist 专注于”小而美”——它不求成为代码仓库的替代品,而是成为开发者日常工作流中的得力助手,让你能够:
- 快速记录和分享代码片段
- 构建个人的代码知识库
- 与团队成员共享常用工具代码
- 沉淀和复用最佳实践
核心亮点#
🎯 三种可见性,灵活掌控#
Sify Gist 提供三种可见性设置,满足不同场景需求:
- 公开(Public):所有人可见,适合分享通用工具和教程代码
- 未列出(Unlisted):仅通过链接访问,适合团队内部共享
- 私有(Private):仅自己可见,适合存储敏感配置和个人笔记
🌈 34+ 种语言支持,代码高亮更专业#
支持 JavaScript、TypeScript、Python、Go、Rust、Java 等 34+ 种编程语言的语法高亮,使用业界领先的 Prism.js 渲染引擎,让代码展示清晰易读。
✨ 强大的编辑体验#
内置 Monaco Editor(VS Code 的核心编辑器),提供:
- 智能代码补全
- 语法错误提示
- 自动语言检测
- Markdown 实时预览 - 写文档不再需要切换窗口
- CSV 表格预览 - 数据文件一目了然
🍴 Fork 功能,协作更简单#
看到别人的好代码?一键 Fork 到自己账户,然后:
- 在此基础上进行修改和优化
- 追踪 Fork 来源,方便溯源
- 构建 Fork 网络,促进社区协作
⭐ 收藏与标签,知识管理更高效#
- 收藏功能:将常用的 Gist 加入收藏夹,随时快速访问
- 标签系统:为 Gist 添加多个标签,分类管理更清晰
- 发现页面:浏览公开 Gist,发现热门标签,探索社区智慧
🚀 一键嵌入,分享零门槛#
独有的 Embed JS 功能,让你可以像嵌入 YouTube 视频一样,将代码片段嵌入到任何网页:
<script src="https://your-domain.com/api/gists/abc123/embed.js"></script>html适合嵌入到:
- 技术博客文章
- 项目文档站点
- 团队知识库
- 在线教程平台
🔍 全文搜索,快速定位#
强大的搜索功能支持:
- 标题搜索
- 描述搜索
- 文件名搜索
- 代码内容搜索
再多的代码片段,也能快速找到所需内容。
技术栈:现代、稳定、可扩展#
Sify Gist 采用业界领先的技术栈构建:
| 技术 | 用途 | 优势 |
|---|---|---|
| Next.js 14 | React 框架 | App Router、服务端渲染、极致性能 |
| TypeScript | 类型系统 | 类型安全、开发体验更佳 |
| Tailwind CSS | 样式方案 | 原子化 CSS、快速开发 |
| Supabase | 数据库 | 开源、可扩展、实时同步 |
| Vercel | 部署平台 | 边缘计算、自动扩容 |
为什么选择 Supabase?#
Supabase 作为开源的 Firebase 替代品,提供了:
- 完全托管的 PostgreSQL 数据库
- 行级安全策略(RLS)
- 实时订阅功能
- 存储桶服务(用于头像等文件)
最重要的是,它完美适配 Vercel 的无服务器环境,让整个架构保持简洁高效。
部署:一行命令,即刻上线#
方式一:一键部署到 Vercel#
点击下方按钮,即可一键部署到 Vercel:
方式二:手动部署#
# 1. 克隆项目
git clone https://github.com/santisify/sify-gist.git
cd sify-gist
# 2. 安装依赖
npm install
# 3. 配置环境变量
# 创建 .env.local 文件,填入 Supabase 配置
# 4. 启动开发服务器
npm run devbash整个过程不超过 5 分钟,你就能拥有一个完全属于自己的代码片段分享平台。
完整的 API 支持#
Sify Gist 提供了完整的 RESTful API,方便你构建自定义客户端或集成到其他系统:
Gist 相关 API#
GET /api/gists # 获取 Gist 列表
POST /api/gists # 创建新 Gist
GET /api/gists/:id # 获取 Gist 详情
PUT /api/gists/:id # 更新 Gist
DELETE /api/gists/:id # 删除 Gist
POST /api/gists/:id/fork # Fork Gist
POST /api/gists/:id/star # 收藏 Gist
GET /api/gists/:id/raw/:filename # 获取原始文件
GET /api/gists/:id/export # 导出为 ZIPplaintext完整的 API 文档可在应用内访问 /api-docs 查看。
用户系统:安全可靠#
注册与登录#
- 安全的密码加密存储(bcrypt)
- JWT 身份验证
- Token 自动刷新机制
个人中心#
- 自定义头像上传
- 密码修改
- 查看和管理所有 Gist
- 查看收藏列表
用户公开主页#
每个用户都有专属的公开主页,展示所有公开的 Gist,方便分享和展示。
响应式设计 + 深色模式#
全平台适配#
无论是桌面端的大屏幕,还是移动端的小屏幕,Sify Gist 都能完美适配:
- 流畅的响应式布局
- 触控友好的交互设计
- 合理的信息密度调整
深色模式#
内置深色模式支持:
- 自动跟随系统偏好
- 一键切换主题
- 护眼配色方案
适用场景#
个人开发者#
- 搭建个人代码知识库
- 收藏常用的代码片段
- 记录技术学习笔记
- 分享技术博客中的示例代码
团队协作#
- 共享团队常用工具函数
- 沉淀项目最佳实践
- 快速分享调试代码
- 新人入门代码示例库
教育培训#
- 教师分享课程示例代码
- 学生提交编程作业
- 代码点评和讲解
- 学习笔记整理
技术写作#
- 博客文章代码展示
- 教程示例代码托管
- 技术文档代码片段
- 项目 Demo 演示
开源与社区#
Sify Gist 是一个完全开源的项目,采用 MIT 许可证。
- GitHub:https://github.com/santisify/sify-gist ↗
- 问题反馈:欢迎提交 Issue
- 功能建议:期待你的 Pull Request
致谢#
本项目受到 OpenGist ↗ 的启发。OpenGist 是一个优秀的自托管 Pastebin 解决方案,使用 Git 驱动。如果你需要更完整的、支持 Git 同步和 OAuth 登录的自托管方案,推荐使用 OpenGist。
未来规划#
Sify Gist 仍在持续迭代中,计划中的功能包括:
- 📋 Markdown 文件渲染
- 🎨 代码主题自定义
- 🌍 多语言国际化
- 🔗 OAuth 第三方登录
