编辑RakuDoc并将其提交到GitHub

编辑RakuDoc并将其提交到GitHub

💡 原文英文,约2400词,阅读约需9分钟。
📝

内容提要

用户希望在浏览器中直接编辑GitHub仓库文件以修正错字,但由于授权和安全问题,修改过程复杂,包括获取文件内容、创建分支、上传修改和提交拉取请求。作者描述了实现步骤和挑战,期望简化流程。

🎯

关键要点

  • 用户希望在浏览器中直接编辑GitHub仓库文件以修正错字。

  • 修改过程复杂,包括获取文件内容、创建分支、上传修改和提交拉取请求。

  • GitHub的编辑器易于使用,但需要提交权限。

  • 获取文件内容相对简单,但将修改后的内容返回GitHub则较为复杂。

  • 需要遵循一系列步骤来确保只有授权用户可以更改仓库状态。

  • 每个请求需要附带一个具有有限时效的唯一令牌。

  • 步骤包括获取文件内容及其SHA、获取最新的SHA或提交、创建新分支、将编辑后的文件复制到新分支、提交拉取请求。

  • 在浏览器中执行的步骤需要使用JavaScript实现。

  • 需要创建一个安全的环境来存储令牌并与GitHub进行交互。

  • 作者记录了自己的过程,以帮助其他可能面临类似问题的人。

延伸问答

如何在浏览器中直接编辑GitHub仓库文件?

用户可以通过获取文件内容、创建分支、上传修改和提交拉取请求来编辑GitHub仓库文件。

为什么在GitHub上编辑文件需要复杂的授权过程?

因为GitHub需要确保只有授权用户才能更改仓库状态,防止恶意修改。

在编辑文件时,如何获取文件的SHA值?

可以通过GitHub的API获取文件内容时,文件的SHA值会一并返回。

提交拉取请求(PR)需要哪些信息?

提交PR需要id-token、仓库名称、分支名称、PR标题和描述等信息。

如何确保在浏览器中安全地处理id-token?

需要在一个安全的环境中存储id-token,并通过容器与GitHub进行交互,以防止被恶意提取。

在编辑GitHub文件时,如何处理编辑后的内容?

编辑后的内容需要以BASE64格式传输,并通过API将其上传到新的分支。

➡️

继续阅读