Repository navigation
contribute to bloglist
刚刚接触开源?没关系,本文会带你完成一次不需要写代码的贡献:把自己的博客添加到江南大学信息安全俱乐部的博客列表。
这不是考试。JSON 里的逗号写错了也没关系,GitHub Actions 会告诉你哪里需要修改,维护者也会在 Pull Request 中帮助你。
我们维护的博客列表在 data/blogs.json 中。每一条记录包含:
- 博客显示名称;
- 博客主页;
- RSS 或 Atom 地址(可选);
- 一句话简介和标签(可选)。
提交合并后,GitHub Actions 会自动生成:
- 一个可以在浏览器中浏览的博客列表页面;
- 一个可以导入 Inoreader、Feedly 等工具的
opml.xml文件。
你只需要修改 JSON 数据,不需要修改网页代码,也不要手动修改生成的 XML 文件。
博客是一个可以持续发布文章、记录学习过程或分享兴趣的网站。它不一定要很复杂:学习笔记、项目记录、摄影文章、读书心得,都可以成为博客内容。
博客主页至少应该能够在浏览器中打开。它可以使用自己的域名,也可以使用 GitHub Pages、个人服务器或其他建站平台。
你可以先完成本文后面的贡献流程,之后再搭建博客;第一次贡献并不要求你已经拥有博客。
如果想从最简单的方式开始,可以使用 GitHub Pages:
- 注册或登录 GitHub。
- 新建一个公开仓库,仓库名为
你的用户名.github.io。 - 在仓库中创建
index.md,写下标题和一篇简单的文章。 - 打开仓库的 Settings → Pages,选择从
main分支发布。 - 等待几分钟后,访问
https://你的用户名.github.io/。
先写一篇介绍自己、学习计划或项目经历的文章就足够了。以后可以再学习 Markdown、主题、评论和 RSS。博客没有 RSS 也可以加入列表,提交时把 feed 留空即可。
请先准备以下内容:
| 信息 | 是否必需 | 示例 |
|---|---|---|
| 博客名称 | 必需 | 小明的技术笔记 |
| 博客主页 | 必需 | https://example.com/ |
| RSS/Atom 地址 | 可选 | https://example.com/feed.xml |
| 博客简介 | 可选 | 记录编程和校园生活 |
| 标签 | 可选 | ["编程", "Linux"] |
RSS/Atom 是给阅读器使用的订阅地址,常见的路径有 feed.xml、rss.xml、atom.xml 或 feed。你可以在博客页面寻找 RSS 图标或“订阅”链接;如果找不到,不要猜地址,直接留空。
打开 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": ["编程", "开源"]
}
]- 使用英文双引号
",不要使用中文引号; - 两条记录之间要有逗号,最后一条记录后不要加逗号;
- JSON 不支持注释,不要写
// 这是说明。
如果你没有 RSS,把它写成空字符串:
"feed": ""不要删除别人的博客,也不要修改 site/blogroll.xml 和 site/opml.xml,它们会自动生成。
在 GitHub 网页编辑器底部:
- 选择 Create a new branch and start a pull request;
- 填写一个清楚的提交标题,例如
add: 小明的技术笔记; - 点击 Propose changes,然后创建 Pull Request;
- 在描述中告诉维护者你的博客名称、主页和 RSS 地址。
如果仓库没有编辑按钮,说明你正在查看别人的仓库,先 Fork 再编辑即可。
Pull Request 创建后,Actions 会自动运行。它会检查:
- JSON 是否能够被读取;
- 必填字段是否完整;
- 网址是否是完整的
http://或https://地址; - 是否存在重复的主页或 RSS 地址;
- 自动生成的 XML 是否有效。
检查失败并不可怕。点击失败的检查,通常可以看到类似这样的提示:
blogs[1].homepage 必须是完整网址
根据提示返回 JSON 修改,再提交一次即可。如果仍然不明白,直接在 Pull Request 中留言求助。
可以。整篇流程都可以在 GitHub 网页上完成,不需要安装 Git、Node.js 或 Python。以后想学习命令行,再从本地修改开始也不迟。
可以。RSS 是可选字段,填写 "" 即可。
仍然可以提交,但请确认网址没有拼写错误。维护者会在合并前人工查看,不会因为一次临时网络故障否定你的贡献。
Pull Request 不会直接修改主分支。只要检查失败,修复你的分支即可;即使不小心改错,也可以关闭 Pull Request 重新开始。
最好先得到作者同意,并在 Pull Request 中说明来源。博客作者可以要求修改或移除自己的条目。