第15章:README 编写艺术 📝
README 是项目的”门面”。一个好的 README 能让你的项目获得更多 Star!
📋 目录
为什么 README 很重要?
数据说话
| README 质量 | 平均 Star 数 |
|---|---|
| 没有 README | 5-20 ⭐ |
| 有基本 README | 50-200 ⭐ |
| 专业级 README | 500-5000+ ⭐ |
第一印象
用户访问你的项目:
│
├── 0.5 秒内决定要不要继续看
├── 如果 README 吸引人 → 继续看
└── 如果 README 很烂 → 关掉页面
标准 README 结构
完整模板 ✅
# 项目名
[Logo 或截图]
[一句话介绍]
## ✨ 特性
- 特性1
- 特性2
- 特性3
## 🚀 快速开始
### 安装
```bash
# 安装命令
npm install my-lib
使用示例
import { hello } from 'my-lib';
console.log(hello());
📷 截图
[展示效果的图片或 GIF]
🤝 贡献
欢迎贡献!请查看 CONTRIBUTING.md。
📜 许可证
本项目采用 MIT License。
⭐ Star History
[显示 Star 增长曲线的图表]
---
### 各部分详解
#### 1️⃣ 项目名 + Logo
**要求**:
- ✅ 名字要短、好记
- ✅ Logo 要清晰(建议 512x512 像素)
- ✅ 在 GitHub 深色模式下也要看得清
**示例**:
✅ 好的项目名:
- Vue.js(简短、好记)
- React(一个词,易传播)
- Tailwind CSS(有特色)
❌ 不好的项目名:
- my-awesome-project-which-is-very-cool(太长)
- project1(太泛)
- asdfghjkl(无意义) ```
2️⃣ 徽章(Badges)✅ 推荐
作用:一眼展示项目状态。
常用徽章:
# 示例(复制粘贴即可)
[](https://github.com/GTX950L/github-encyclopedia)
[](https://github.com/GTX950L/github-encyclopedia/fork)
[](https://github.com/GTX950L/github-encyclopedia)
[](https://github.com/GTX950L/github-encyclopedia)
效果:
[⭐ 123 stars] [🍴 45 forks] [MIT License] [✅ Build Passing]
💡 生成徽章:访问 https://shields.io/ 可以自定义各种徽章。
3️⃣ 特性(Features)
要求:用列表展示核心功能。
示例:
## ✨ 特性
- 🚀 **快速**:比同类库快 10 倍
- 📦 **轻量**:只有 2KB(gzip)
- 🌍 **跨平台**:支持 Windows、macOS、Linux
- 📝 **TypeScript**:内置类型定义
- 🤝 **友好**:详细的文档和示例
4️⃣ 快速开始(Quick Start)✅ 最重要!
为什么最重要?
用户访问你的项目 → 想试试 → 找"如何安装"
│
├── 如果 30 秒内找不到 → 放弃
└── 如果安装失败 → 放弃
好的快速开始:
## 🚀 快速开始
### 安装
```bash
# npm
npm install my-lib
# yarn
yarn add my-lib
# CDN
<script src="https://cdn.jsdelivr.net/npm/my-lib"></script>
30 秒上手
import { hello } from 'my-lib';
// 示例1:基本用法
console.log(hello('World'));
// 输出:Hello, World!
// 示例2:自定义问候
console.log(hello('World', { excited: true }));
// 输出:Hello, World!!!
---
#### 5️⃣ 截图/GIF ✅ 强烈推荐
**为什么需要?**
文字描述: “我们的工具可以实时预览 Markdown”
VS
GIF 展示: [展示编辑 Markdown → 实时预览的动画]
**哪个更吸引人?** → GIF!
**如何录制 GIF?**
| 工具 | 平台 | 说明 |
|------|------|------|
| **ScreenToGif** | Windows | 免费、开源、好用 ✅ |
| **Kap** | macOS | 免费、简洁 |
| **Peek** | Linux | 免费 |
---
## 如何写得吸引人?
### ✅ 好的 README 特点
| 特点 | 说明 | 示例 |
|------|------|------|
| **简洁** | 不要写论文 | 用列表,不用长段落 |
| **有图** | 一图胜千言 | 添加截图、GIF |
| **可运行** | 代码示例要能直接运行 | 不要有语法错误 |
| **有链接** | 方便跳转到详细文档 | `[详细文档](https://...)` |
---
### ❌ 不好的 README
```markdown
# 我的项目
这是我的项目。
## 使用方法
很简单。
## 联系方式
给我发邮件。
问题:
- ❌ 没有介绍项目是做什么的
- ❌ 没有安装命令
- ❌ 没有代码示例
- ❌ 没有截图
高级技巧
1️⃣ 添加 Star History 图表 ✅
作用:展示项目的增长趋势,增加可信度。
如何添加?
1. 访问 https://star-history.com/
2. 输入你的仓库名(如 GTX950L/github-encyclopedia)
3. 点击 Generate
4. 复制生成的 Markdown 代码
5. 粘贴到 README.md
效果:
📈 [Star 增长曲线图]
(从 0 → 1000 Star 的增长趋势)
2️⃣ 添加贡献者头像墙
作用:感谢贡献者,鼓励他们继续贡献。
代码:
## 🤝 贡献者
<a href="https://github.com/GTX950L">
<img src="https://contrib.rocks/image?repo=GTX950L/github-encyclopedia" />
</a>
自动生成:使用 contrib.rocks 可以自动生成。
3️⃣ 添加 TOC(目录)✅
作用:长 README 需要目录,方便跳转。
手动写:
## 📋 目录
- [特性](#特性)
- [快速开始](#快速开始)
- [API 参考](#api-参考)
- [常见问题](#常见问题)
自动生成:
使用 markdown-toc 可以自动生成。
4️⃣ Shields.io 徽章工厂 🏭
Shields.io 是 GitHub 上使用最广泛的徽章生成服务,可以轻松创建各种状态徽章。
静态徽章



URL 格式:https://img.shields.io/badge/{标签}-{值}-{颜色}
| 颜色名 | 色值 | 适用场景 |
|---|---|---|
green |
🟢 | 稳定、完成、通过 |
yellow |
🟡 | 中等、需要关注 |
orange |
🟠 | 警告 |
red |
🔴 | 错误、失败 |
blue |
🔵 | 信息、默认 |
lightgrey |
⚪ | 次要、中性 |
动态徽章
Shields.io 可以从各种数据源自动更新:
# GitHub 元数据




# CI/CD 状态

# 代码质量

其他常用徽章服务
| 服务 | 用途 | 示例 |
|---|---|---|
| Shields.io | 通用徽章生成器 | 最常用 |
| Visitor Badge | 访客计数徽章 | |
| Star History | Star 增长趋势图 | 项目受欢迎程度 |
| Contrib.rocks | 贡献者头像墙 | 感谢贡献者 |
| GitHub Profile Summary | 个人资料统计 | 综合统计卡片 |
| GitHub Readme Stats | 动态统计卡片 | 在 Profile README 中显示 |
实战:在 README 中添加徽章
<p align="center">
<img src="https://img.shields.io/badge/语言-Python-3776AB?style=for-the-badge&logo=python&logoColor=white" />
<img src="https://img.shields.io/badge/许可证-MIT-yellow?style=for-the-badge" />
<img src="https://img.shields.io/github/stars/GTX950L/项目名?style=for-the-badge" />
<img src="https://img.shields.io/github/last-commit/GTX950L/项目名?style=for-the-badge" />
</p>
💡
style=for-the-badge让徽章变大、更醒目。其他样式:flat(默认)、flat-square、plastic。
常见问题
Q1: README 应该多长?
A: 取决于项目类型:
| 项目类型 | 建议长度 |
|---|---|
| 小工具/库 | 1-3 屏(滚动 1-3 次) |
| 大型框架 | 可以更长,但要把”快速开始”放在最前面 |
| 网站/应用 | 要有截图/GIF |
Q2: 可以用中文写 README 吗?
A:
- ✅ 可以,但会限制受众
- ✅ 推荐:写英文 README(全球开发者都能看懂)
- ✅ 最佳:中英文双语 README
双语 README 做法:
README.md ← 英文版(默认)
README.zh-CN.md ← 中文版
在英文 README 开头加上:
[🇬🇧 English](https://github.com/GTX950L/github-encyclopedia/blob/main/README.md) | [🇨🇳 中文](./chapter15-readme-art.html)
Q3: 如何测试 README 的显示效果?
A:
方法1:在 GitHub 上预览
每次推送后,直接访问仓库页面看效果。
方法2:本地预览
# 使用 VS Code 的 Markdown Preview
# 快捷键:Ctrl + Shift + V
# 或者使用在线预览工具:
# https://markdownlivepreview.com/
📝 实战练习
练习1:为你的项目写 README
任务:
- 选择一个你的 GitHub 项目
- 使用本章的模板重写 README
- 添加徽章、截图、Star History 图表
- 推送,看看效果
练习2:优化现有项目的 README
任务:
- 找一个你之前的项目的 README
- 对照本章的”标准结构”,看看缺什么
- 补充缺失的部分
📚 延伸阅读
- 附录A:项目结构 - 了解一个完整项目需要哪些文件
- 第16章:开源协议选择 - 选择适合你的开源协议
- 第13章:Star 的意义 - 如何获得更多 Star
📝 本章小结
你现在学会了:
- ✅ 为什么 README 很重要
- ✅ 标准 README 的结构和各部分写法
- ✅ 如何写得吸引人(徽章、截图、GIF)
- ✅ 高级技巧(Star History、贡献者墙、TOC)
💡 核心要点
README 是项目的门面。
花 1 小时写一个专业的 README,可能让你的项目多获得 100 个 Star!