Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

实现基于 Github Issues 的博客 #100

Open
ninehills opened this issue Jun 28, 2023 · 0 comments
Open

实现基于 Github Issues 的博客 #100

ninehills opened this issue Jun 28, 2023 · 0 comments
Labels

Comments

@ninehills
Copy link
Owner

之前参考了一些基于 GitHub Issues 的博客,基本分为两种:

  1. 使用 Javascripts 动态生成博客页面。缺点是对 SEO 不友好,而且加载速度较慢。
  2. 抓取 issue 然后用 hugo 之类的生成静态站点。找到两三个均过于复杂,且长时间不维护已经无法运行。

所以自己简单实现了一个,基本流程如下:

  1. 创建、编辑 Issue。
  2. 触发 Github Action。
  3. 拉取代码。
  4. 使用 gh(Github CLI)获取全部 issue 以及 issue 内容,过滤指定 label,然后生成 Markdown 格式的目录和文章。参考 generate.py
  5. 创建 Pull request 到代码库。
  6. 人工 Merge 后,Github 会自动使用 Jekyll 渲染 Markdown 并发布 Github Pages。

具体的 Github Action 配置如下:main.yml

在第5步,也可以将创建 Pull request 修改为直接 Push,但考虑到人工 Review 可以避免不合理的提交,最终选择了发 Pull request。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant