1

介绍

因此,我正在构建一门课程,该课程由教科书(一组 Markdown 文件)、一些示例代码(用于家庭作业和项目)和幻灯片(现在在 Google 幻灯片中)组成。

教科书是使用名为 GitBook 的 Markdown 发布工具发布的,它允许我使用 GitHub 来托管所有 Markdown 文件,并自动将它们编译成漂亮的样式 Web UI 以供阅读。它还允许以特定方式包含该书的翻译版本,以便以多种语言阅读。

目前,这本书托管在两个独立的 Github 存储库中,一个用于概念(或讲座),一个用于实践(实验室练习)。

该代码还存储在两个 Github 存储库中:解决方案代码和入门应用程序。

这些幻灯片目前都在谷歌幻灯片上。

问题

我希望组织(或重新组织)本课程,考虑到以下几点:

  1. 课程需要模块化。它将在许多不同的环境中教授,有些非常彻底,有些很短。这意味着我想以某种方式标记课程的不同部分,以便我可以将课程的不同版本组合在一起(也许三天的版本只包括基础知识,但为期一周的研讨会可能包括额外的模块)。理想情况下,我可以对教科书、代码和幻灯片使用相同的标记,这样我就可以自动将正确的“包”组合在一起。

  2. GitBook 需要存储库中的特定文件结构,所以我不能在那里进行太多更改。

  3. 这些幻灯片目前甚至不在存储库中,因为它们是 Google 幻灯片格式,但是将它们移动到同样的位置会非常棒,因为所有东西都可以放在一个地方(也许还有某种 Markdown?必须转换它)。

我试过的

我不确定从哪里开始组织所有这些内容,我正在考虑将所有内容都移到一个存储库中,并使用子模块来保持事物的组织性,但我对此没有太多经验。

还考虑过为不同的版本使用不同的分支,但这似乎会增加大量工作,因为如果有共同的文件,我必须在发生更改时独立更新每个分支。

也想到了标签,但由于这些标签是提交而不是文件,不确定这会有什么帮助。

有什么建议么?工具?想法?

提前致谢, 尼基塔

4

0 回答 0