Skip to content

contribute to bloglist

NickChenヰ edited this page Aug 22, 2026 · 1 revision

做出你的第一个 Pull Request!

刚刚接触开源?没关系,本文会带你完成一次不需要写代码的贡献:把自己的博客添加到江南大学信息安全俱乐部的博客列表。

这不是考试。JSON 里的逗号写错了也没关系,GitHub Actions 会告诉你哪里需要修改,维护者也会在 Pull Request 中帮助你。

这次贡献会做什么?

我们维护的博客列表在 data/blogs.json 中。每一条记录包含:

  • 博客显示名称;
  • 博客主页;
  • RSS 或 Atom 地址(可选);
  • 一句话简介和标签(可选)。

提交合并后,GitHub Actions 会自动生成:

  • 一个可以在浏览器中浏览的博客列表页面;
  • 一个可以导入 Inoreader、Feedly 等工具的 opml.xml 文件。

你只需要修改 JSON 数据,不需要修改网页代码,也不要手动修改生成的 XML 文件。

搭建一个博客

什么是博客?

博客是一个可以持续发布文章、记录学习过程或分享兴趣的网站。它不一定要很复杂:学习笔记、项目记录、摄影文章、读书心得,都可以成为博客内容。

博客主页至少应该能够在浏览器中打开。它可以使用自己的域名,也可以使用 GitHub Pages、个人服务器或其他建站平台。

如果你还没有博客

你可以先完成本文后面的贡献流程,之后再搭建博客;第一次贡献并不要求你已经拥有博客。

如果想从最简单的方式开始,可以使用 GitHub Pages:

  1. 注册或登录 GitHub。
  2. 新建一个公开仓库,仓库名为 你的用户名.github.io。
  3. 在仓库中创建 index.md,写下标题和一篇简单的文章。
  4. 打开仓库的 Settings → Pages,选择从 main 分支发布。
  5. 等待几分钟后,访问 https://你的用户名.github.io/。

先写一篇介绍自己、学习计划或项目经历的文章就足够了。以后可以再学习 Markdown、主题、评论和 RSS。博客没有 RSS 也可以加入列表,提交时把 feed 留空即可。

添加已有博客

1. 准备信息

请先准备以下内容:

信息 是否必需 示例
博客名称 必需 小明的技术笔记
博客主页 必需 https://example.com/
RSS/Atom 地址 可选 https://example.com/feed.xml
博客简介 可选 记录编程和校园生活
标签 可选 ["编程", "Linux"]

RSS/Atom 是给阅读器使用的订阅地址,常见的路径有 feed.xml、rss.xml、atom.xml 或 feed。你可以在博客页面寻找 RSS 图标或“订阅”链接;如果找不到,不要猜地址,直接留空。

2. 打开数据文件

打开 data/blogs.json。如果你没有该仓库的写权限,先点击 Fork,把仓库复制到自己的 GitHub 账户下。

找到文件末尾的:

"blogs": []

或者已有的博客数组:

"blogs": [
  {
    "name": "已经加入的博客",
    "homepage": "https://someone.example/",
    "feed": "",
    "description": "一个示例条目。",
    "tags": ["示例"]
  }
]

在 blogs 数组的最后复制一条记录,并替换成自己的信息:

"blogs": [
  {
    "name": "已经加入的博客",
    "homepage": "https://someone.example/",
    "feed": "",
    "description": "一个示例条目。",
    "tags": ["示例"]
  },
  {
    "name": "你的名字的博客",
    "homepage": "https://example.com/",
    "feed": "https://example.com/feed.xml",
    "description": "分享我的编程学习和开源经历。",
    "tags": ["编程", "开源"]
  }
]

3. 记住 JSON 的三个规则

  • 使用英文双引号 ",不要使用中文引号;
  • 两条记录之间要有逗号,最后一条记录后不要加逗号;
  • JSON 不支持注释,不要写 // 这是说明。

如果你没有 RSS,把它写成空字符串:

"feed": ""

不要删除别人的博客,也不要修改 site/blogroll.xml 和 site/opml.xml,它们会自动生成。

4. 创建 Pull Request

在 GitHub 网页编辑器底部:

  1. 选择 Create a new branch and start a pull request;
  2. 填写一个清楚的提交标题,例如 add: 小明的技术笔记;
  3. 点击 Propose changes,然后创建 Pull Request;
  4. 在描述中告诉维护者你的博客名称、主页和 RSS 地址。

如果仓库没有编辑按钮,说明你正在查看别人的仓库,先 Fork 再编辑即可。

5. 等待自动检查

Pull Request 创建后,Actions 会自动运行。它会检查:

  • JSON 是否能够被读取;
  • 必填字段是否完整;
  • 网址是否是完整的 http:// 或 https:// 地址;
  • 是否存在重复的主页或 RSS 地址;
  • 自动生成的 XML 是否有效。

检查失败并不可怕。点击失败的检查,通常可以看到类似这样的提示:

blogs[1].homepage 必须是完整网址

根据提示返回 JSON 修改,再提交一次即可。如果仍然不明白,直接在 Pull Request 中留言求助。

常见问题

我不会 Git,可以贡献吗?

可以。整篇流程都可以在 GitHub 网页上完成,不需要安装 Git、Node.js 或 Python。以后想学习命令行,再从本地修改开始也不迟。

没有 RSS 可以加入吗?

可以。RSS 是可选字段,填写 "" 即可。

博客暂时打不开怎么办?

仍然可以提交,但请确认网址没有拼写错误。维护者会在合并前人工查看,不会因为一次临时网络故障否定你的贡献。

我把 JSON 改坏了怎么办?

Pull Request 不会直接修改主分支。只要检查失败,修复你的分支即可;即使不小心改错,也可以关闭 Pull Request 重新开始。

我可以添加别人的博客吗?

最好先得到作者同意,并在 Pull Request 中说明来源。博客作者可以要求修改或移除自己的条目。

继续学习