Repository navigation
GitHub Discussions 使用与思考 #38
shenweiyan
announced in
2.1-乱弹
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
从2023年7月起我所有可公开的文档都保存在了 GitHub Discussions 上,作为博客、IED 编辑器,以及评论使用,GitHub Discussions 是完全没问题的。
开源的代名词
开源已成为 GitHub 的代名词。
体验与感受
由于 GitHub 是直接 markdown 源码进行书写,正常的导出基本不会有格式错乱的问题,这一点非常好。不像有一些富文本的编辑器,动不动就给你增加几个换行或者空格什么的额外字符。
借助 GitHub GraphQL API + Python + GitHub Actions 进行每天定时导出非常顺滑,导出来的文档可以随意折腾,自由度非常大。
专业书籍文档
今天忽然想到的一个问题,即如果作为专业性比较强的系列文档写作,如《Hello 算法》 这样专业性和逻辑性非常明确的专业书籍,使用 GitHub Discussions 写作应该是有点不太合适。
但又仔细想了一下,如果只是写作应该是没问题的 —— 我们可以用 sections 或者 categories,甚至是 tags 进行书籍分类,最后在导出的时候借助这些标签把相关的文档整合到一块,再借助 nav 梳理成大纲展现给读者阅读就可以。所以,总的来说可以用于专业书籍写作(编辑),但不太适合用于专业书籍的呈现和阅读 —— 主要是大纲和逻辑性会变得不明显。
目录和分类标签
GitHub Discussions 目前最多支持 25 个 categories,这是一个限制。因此,通过 section+category 我们在 Discussions 上最多只能实现两级的目录结构,所以对于三级和三级以上的目录结构目前暂时无能为力。
因此,想到一个折中的解决方法:使用 labels 来区分第三级目录结构。
然后,导出 Discussions 的时候需要在本地先在本地建立一个
section+category: dictory一一对应的字典,最后通过这个字典把不同的讨论 md 归档至对应的目录。GitHub GraphQL API
GitHub Discussions 的 API 操作主要依赖 GitHub GraphQL API。
获取 discussions 主要信息
获取 discussions categoryId
参考:《how to get github discussions categoryId》
其他的一些问题
目前,通过 GitHub GraphQL API 暂时无法获取 Sections 的信息。
简单的总结
拥抱 GitHub Discussions 的一个前提是你可以随时登录 GitHub,如果你已经解决了这个问题,也想着像我一样 Using Github discussions as your blog engine,那么你可以参考一下我的 shenweiyan/Knowledge-Garden 仓库。
All reactions