- 所有文章/
使用 Notion 管理 GitHub Star 项目
本文目录
前言 #
随着时间线的推移,我们在 GitHub 上 Star 的项目越来越多,尽管 GitHub 现在提供了 Star List,但是实际管理起来还是不太方便,最近逛 v2ex 发现了 一个使用 Notion 自动管理 GitHub Star 的 repo 小工具。
与 Notion 应用集成,将 Star 的项目导入到 Notion Database,支持自动打标签并且可以使用 GitHub Actions 定时自动更新,平时管理和查找起来更方便了,这里记录下部署过程。
Fork 项目存储库 #
该项目源代码开源在 GitHub,访问 项目地址,并 Fork 一份到你的 GitHub 账户,稍等片刻即可完成
复制 Notion 模板 #
访问作者的 Notion Template,点击右上角 Duplicate 将 Notion 模板复制到你的工作区(WorkSpace)
获取所需 Secrets #
接下来需要三个必须的 Secrets:
NOTION_DATABASE_ID
Notion 数据库 ID(Star 管理页面的数据库)NOTION_API_KEY
Notion Integration Token(Notion 集成应用 API Token)TOKEN_OF_GITHUB
GitHub Personal Access Token
获取 NOTION_DATABASE_ID #
点击刚才 Duplicate 模板的 My Starred Repo Database
数据库,查看浏览器地址栏,这时候在用户名 username
和 ?v
之前的一段字符串就是目标 NOTION_DATABASE_ID
,复制保存备用
获取 NOTION_API_KEY #
进入 Notion - My integrations 创建一个新的集成应用,Integration type
选择 Internal Integration
集成应用名称和图标自己定义,然后 Capabilities
按照下图选择即可
完成后点击 Submit 提交后会出现 Internal Integration Token
点击 Show
显示 Secrets
复制备用,即所需的 NOTION_API_KEY
完成后下滑到页面底部点击 Save chages
保存
获取 TOKEN_OF_GITHUB #
在 GitHub 生成新的 Personal access token,不需要任何权限,有效期是 No expiration
(永不过期)
点击 Generate token
后,将 Token
值复制保留备用,这就是所需的 TOKEN_OF_GITHUB
添加 Environments Secrets #
将上面获取的 Secrets
及值分别添加进 Fork 下来存储库的 Environments
下的 notion-sync
里
Notion 启用 Integration #
进入目标 Notion Database
后,点击右上角 Share
按钮,选择刚才创建的 Integration
点击 Invite
即可
启用 GitHub Actions #
切换到 Fork 的 GitHub 存储库 Actions 栏,点击 I understand my workflows, go ahead and enable them
启用 GitHub Actions
FullSync Notion Star #
全量更新 Actions,默认设置是限制 2000 个 Star 项目。可以修改 workflows
下 full-sync.yml
文件的 ULLSYNC_LIMIT
参数,比如允许数量限制为 3000
FULLSYNC_LIMIT: 3000
Partial Sync Notion Star #
增量更新 Actions,如果启用默认是每 2 个小时运行一次。可以修改 workflows
下 partial-sync.yml
文件的 cron
表达式,比如我只需要每 6 个小时运行一次增量更新
# /blob/main/.github/workflows/partial-sync.yml
on:
schedule:
- cron: '0 */6 * * *'
你可以根据自己需求启用或修改里面的两个 Actions 项目
最终效果 #
Actions 运行完成后,可以看到 Notion Database 已经有了 Star 项目的表了,可以更方便的进行管理和查找了 😋