我应该如何在 qooxdoo 存储库中分发一堆主题?

How should I distribute a bunch of themes in the qooxdoo repo?

哪种方法更适合分发 qooxdoo 主题:每个主题一个包,还是只将所有相关主题包含在一个包中? 每种方法的优缺点?

我的经验法则是:如果一组主题在视觉上和功能上有所不同,那么它们应该在自己的项目中。例如:https://github.com/sqville/ville.Clean and https://github.com/sqville/ville.Wireframe are in separate projects. Both look and function differently because both theme's appearances (Appearance.js), decorations (Decoration.js), colors (Color.js) and fonts (Font.js) differ to a sizable degree. Now take osparc themes https://github.com/ITISFoundation/qx-osparc-theme 它们的主要区别在于颜色。因此,它们都位于同一个项目中,因为它们都具有相同的外观、装饰和字体(osparcportal 除外,它有自己的 Font.js)。

单独项目的优点:

  • 灵活性 - 每个主题都不受所有其他主题的束缚,因此可以自由地进入自己的生命周期(好或坏)
  • Less Bloat - 为什么要求人们在只想要一个主题时下载您的所有主题

单独项目的缺点:

  • 增加维护 - 每个主题都应该有一个功能强大的小部件浏览器(演示应用程序),这意味着维护同一应用程序的多个副本
  • 更长的启动时间 - 要创建新主题,您必须复制现有主题,然后在每个主题文件中查找替换,以便正确命名文件和引用(即,将“Clean”替换为“Wireframe” )

相同的优点:

  • 更容易维护
  • 更容易开始新主题

同样的缺点:

  • 膨胀(当人们只想要一个主题而不想要其他主题并且他们不知道如何摆脱不需要的文件时)