加载与渲染课程内容

这一节会把课程内容内容的加载与渲染流程串起来。

整个方案包括:

  • 通过 GitHub API 实时拉取 MDX
  • 创建共享内容服务,用于加载元数据和内容,在这里实现长期缓存
  • SSG 渲染页面时只输出部分内容,登录后再加载完整内容
  • 提供内部 API 作为统一内容入口
  • 使用 Next.js unstable_cache + tag 控制内容缓存
  • 通过 Webhook 主动触发 revalidate

这里的一个关键点是:GitHub 只是内容数据源,不会直接暴露给客户端。


1. 通过 GitHub API 拉取内容

课程内容不会在 build 阶段下载到本地,而是以 GitHub 仓库作为内容源:

登录后查看完整方案说明

当前仅展示《通过 GitHub API 实时拉取 MDX,并封装内容服务》的部分内容。页面加载时会自动弹出登录框,若你刚刚关闭了它,点击下面按钮可继续查看完整说明。