所以我正在构建一个由教科书(一组Markdown文件),一些示例代码(用于家庭作业和项目)和幻灯片(现在在Google幻灯片中)组成的课程。
Textbook是使用名为GitBook的Markdown发布工具发布的,它允许我使用GitHub托管所有markdown文件,并自动将它们编译成一个漂亮的样式化Web UI进行阅读。它还允许以特定方式包含本书的翻译版本,以便可以用多种语言阅读。
目前,这本书存放在两个独立的Github存储库中,一个用于概念(或讲座),另一个用于实践(实验练习)。
代码也存储在两个Github存储库中:解决方案代码和入门应用程序。
幻灯片目前全都在Google幻灯片上。
我希望以下列内容组织(或重新组织)本课程:
课程需要模块化。它将在许多不同的环境中教授,有些是非常彻底的,有些则很短。这意味着我想以某种方式标记课程的不同部分,以便我可以将不同版本的课程结合在一起(也许三天版本仅包括基础知识,但是为期一周的研讨会可能包括额外的模块)。理想情况下,我可以为教科书,代码和幻灯片使用相同的标记,因此我可以自动将正确的“包”拉到一起。
GitBook需要存储库中的特定文件结构,所以我不能在那里做太多改变。
幻灯片目前甚至不在存储库中,因为它们采用的是Google幻灯片格式,但将它们移动到一起会非常棒,因为一切都可能在一个地方(可能是某种Markdown)以及?必须转换它。)
我不确定从哪里开始组织所有这些内容,我正在考虑将所有内容移动到一个存储库中,并使用子模块来保持组织有序,但我对此没有多少经验。
还考虑过为不同的版本使用不同的分支,但似乎会增加大量的工作,因为如果有共同的文件,我必须在有变化时独立更新每个分支。
标签也浮现在脑海中,但是因为那些是提交而不是文件,不确定这会有什么帮助。
有什么建议吗?工具?想法?
提前致谢, 尼基塔