easyreadme 项目介绍
概述
easyreadme 是一个帮助开发者轻松创建 README 的项目。它利用预设计的模板和人工智能技术,自动生成视觉效果出色的 README 文档。目前,easyreadme 支持为 JavaScript、TypeScript、Rust、Java、Go、PHP 和 Python 项目生成 README。在技术架构方面,easyreadme 依赖多种技术和库,包括 React、Tailwind CSS、Tiptap、OpenAI 等。
项目特点
- 模板库:提供多种预先设计的模板,用户可以根据需要选择最合适的模板。
- 自定义功能:用户可以根据项目需求自定义 README 内容。
- AI 支持段落:利用人工智能技术,自动生成一些人性化的文本段落,提高文档的可读性。
- 内嵌命令:支持在 README 中插入命令行代码,使文档结构更加清晰。
- 气泡菜单:增强用户界面的交互性和易用性。
- 可编辑的横幅图片 URL:允许用户更换 README 中的横幅图片。
- 免费 AI 额度、定制 API Key、本地运行:提供一些免费的 AI 使用额度,可以使用自定义的 API 密钥并支持本地运行。
技术栈
- Next.js:用于构建服务器渲染的 React 应用程序的框架。
- React:用户界面构建的 JavaScript 库。
- TypeScript:JavaScript 的超集,具有类型功能。
- shadcn/ui:提供优雅设计的 UI 组件。
- Tailwind CSS:实用的 CSS 框架,以快速开发 UI。
- Vaul:用于 React 的无样式抽屉组件。
- Sonner:用于 React 的高级提示组件。
- Tiptap/Core:可高度定制的富文本编辑器框架。
- SWR:处理数据获取、缓存和与服务器同步的库。
- Zustand:小巧、快速且可扩展的状态管理库。
- Lucide:美观且一致的图标库。
项目结构
- src:主要源代码目录。
- src/app:包含主要的应用程序逻辑和组件。
- src/components:用于存放可重用的 UI 组件。
- src/hooks:自定义的 React hooks,用于管理状态和副作用。
- src/lib:工具函数和帮助模块。
- src/services:与外部 API 交互的模块。
- src/styles:全局样式和 CSS 模块。
- src/types:TypeScript 类型定义。
- src/utils:其他通用功能。
- public:用于存放静态资产和构建输出的公共目录。
设置步骤
OPENAI_API_KEY
- 前往 OpenAI 网站。
- 登录或创建一个新账户。
- 导航到 API 设置页面。
- 生成一个 Secret key 并复制。
GITHUB_ACCESS_TOKEN
- 前往 GitHub 网站。
- 登录或创建一个新账户。
- 导航到账户设置页面。
- 前往 "开发者设置" 部分,生成具有必要权限的新个人访问令牌。
KV_REST_API_URL 和 KV_REST_API_TOKEN
- 前往 Vercel 网站。
- 登录或创建一个新账户。
- 导航到存储部分,创建一个新的 KV 数据库。
- 复制 KV_REST_API_URL 和 KV_REST_API_TOKEN。
OLLAMA_URL
- 下载并运行 Ollama。
- 如果 Ollama 的实例不是在默认的 IP 地址和端口上运行,请根据需要更改文件中的变量。
本地运行
-
克隆 easyreadme 仓库。
git clone https://github.com/xavimondev/easyreadme
-
将
.env.example
文件重命名为.env
。mv .example.env .env
-
安装依赖。
# 使用 bun bun install # 使用 pnpm pnpm install # 使用 npm npm install # 使用 yarn yarn install
-
启动开发模式。
# 使用 bun bun dev # 使用 pnpm pnpm dev # 使用 npm npm run dev # 使用 yarn yarn dev
规划路线
- 支持更多的编程语言。
- 增加"带表情符号"的选项。
致谢
- 游戏动画效果来源于 Josh W. Comeau 的精彩资源。
- "复制代码"按钮周围的彩带效果使用了 Lucide web 提供的参考设计。
许可证
该项目基于 MIT 许可证进行授权。