如果您拥有 ImageJ 的有用扩展(例如 plugin、script 或 macro创建),下一步就是将其提供给其他人,其中包括:
- **将扩展分发本身给用户:
- A) create your own update site; or
- B) bundle your plugin with Fiji. 2.分享扩展的来源代码:
- Make your project open source.
- Host it on GitHub.
- Use Maven to build and SemVer for versioning.
- Use GitHub Actions for continuous integration and artifact deployment to the SciJava Maven repository.
- 记录扩展的工作原理:
- Create a page here on the ImageJ Wiki.
分发你的扩展
- Create a page here on the ImageJ Wiki.
The original ImageJ does not support update sites; users will need to use Fiji.
有两种好方法可以让您的扩展交到人们手中:
选项A:创建您自己的更新站点
您可以创建一个ImageJ update site,向Fiji用户提供您的扩展。
- Set up your update site,然后upload your extension to it。 2.或者,您可以通过编辑list of update sites页面将更新站点添加到内置站点列表中。 3.要发布新版本,upload it to the update site。
用户enable the update site接收您的扩展以及未来的更新。
好处:
- 您不需要自己的服务器;您可以在
sites.imagej.net上使用§§§LINK1§§§。 *或者,您可以通过自己的托管重建站点来保留完全控制权。 - 用户发起主动检查即可收到更新通知。
- 更新程序提供您管理依赖项。
- 您可以使用command line updater自动分配。
###选项B:将其作为斐济的一部分进行分配
您可以向斐济分发您的扩展程序,以便用户可以在download and install后立即访问它。
在 ImageJ Forum 帖子中标记 @fiji 团队以发起请求。
好处:
- 您的扩展在斐济开箱即可使用。
- Fiji maintainer将帮助您管理您的项目。
- 您可以依靠现有的工具和文档来维护项目的reproducibility。 *您的项目将始终与最新的斐济发行版兼容。
- GitHub Actions自动测试您的项目是否有错误,将成功的构建部署到SciJava Maven repository。
注意事项: 您必须遵守Fiji contribution requirements,并依靠 Fiji 维护者(目前)为您上传新版本。
分享你的来源代码
如果您想促进良好的科学发展,请share your source code。否则,您的扩展程序就是一个黑匣子,其结果无法验证。
###步骤
- 在GitHub上创建一个帐户。
- Create a new repository 为您的项目。
- Push your code那里。
- Learn Git有效管理您的代码。
5.或者,如果您的扩展是distributed with Fiji,您可以将存储库转移到 GitHub 上的
fiji组织,方便帮助Fiji maintainers您更轻松地管理您的项目。
优势
- Git 是一种非常强大的跟踪代码的方式。
- GitHub 极大地促进了协作:共享想法和补丁。
- 在公共场所工作是实现stop sucking and be awesome instead的好方法。 *所有ImageJ、Fiji和相关SciJava项目系列hosted on GitHub。
- 任何人都可以轻松地在线浏览来源代码。
- 任何人都可以提交建议(称为拉取请求)来改进代码。
- 您的项目及其代码更多Findable。
- Git 提供了一个安全网,使您能够删除消除错误并避免丢失工作。
- 您将获得一份自动变更日志,其中包含变更内容、变更人、变更时间以及变更原因。
- 贡献者的努力将自动获得认可。
- 通过使用过去不同版本的代码库进行测试,可以更轻松地追踪何时引入错误。
- 您可以轻松地在不同版本的代码之间切换。 *您可以探索多种发展食谱(称为分支)来尝试不同的方法。
Git 的学习曲线非常陡峭,但是 GitHub Desktop 客户端让事情变得更容易。
记录你的扩展
有用的扩展应该有相应的文档来解释如何使用它们。
我们建议使用 ImageJ wiki 来实现这个目的,因为:
- 它是ImageJ相关社区知识和文档的中央存储库。
- 它使您的扩展更加§§2§§§。例如,您的扩展将出现在 wiki 的搜索路径中。
- 补充协作性:其他人可以改进文档。
- 它对信息丢失越来越弹性。我们看到外部托管的文档已经消失了,包括 3D Viewer、VIB Protocol 和 MBF Plugin Collection 的文档。
要在此处包含您的扩展,只需创建一个页面即可!有关详细信息,请参阅Editing the Wiki。