如何在没有 CTAN 的情况下共享包

如何在没有 CTAN 的情况下共享包

(说实话,我担心这有点偏离主题……请温柔对待负面评价;-)

我编写的大多数软件包都是供个人使用的,但其中有几个被其他人使用。这些软件包变化相对较快,因为我不断实现所要求的功能。目前我倾向于通过电子邮件发送最新的稳定版本,但随后我要么收到不再感兴趣的人的答复,要么收到尚未加入邮件列表的其他人的请求。

我愿意不是想要将软件包上传到 CTAN 有两个原因:

  1. 可能有十几个用户。这些软件包不太可能对其他人有用。
  2. 我发现 CTAN 上已经有足够多糟糕的代码了,不需要我再做贡献。

目前我有一个机构主页,但它随时可能发生变化,因此在那里发布代码供下载(我已经这样做了)可能不是一个长期的解决方案。

有什么建议吗?(我的个人 texmf 树在 Dropbox 上,如果那能提供解决方案的话。)

答案1

如果您将代码放在版本控制系统中,那么除了gitCTAN 之外的自然分发渠道将是任何支持您选择的版本控制系统的主要托管商(如果您还没有将代码放在版本控制系统中,我强烈建议您开始这样做)。

为了git(应该是当今最常用的版本控制软件),主要参与者将是 GitHub、GitLab、Bitbucket 等网站,或较小(甚至自托管)的替代方案。如果您将新版本推送到您的存储库(这将gittag),您可以通过持续集成进行设置,以便自动构建 ZIP 存档(或类似文件)(您还可以针对新代码运行测试套件,以检查您的更改是否不会破坏任何内容)。此外,任何关注您的存储库的人(“关注”的命名可能因不同的提供商而异)都会收到有关您的新版本的电子邮件通知(例如,我会收到任何 LaTeX3 版本的通知,因为我正在关注 GitHub 上的 l3kernel 存储库)。

然后,获取软件包代码只需从发布页面下载提供的存档(应该是自动生成的),或克隆您的存储库即可。在后一种情况下,如果您包含l3build配置文件,您的用户只需在克隆后运行即可l3build install,您的软件包即可使用(l3build包含在 TeX Live 和 MikTeX 中)。

任何不再对您的代码感兴趣的人(因为他们不再需要它或出于其他原因)都可以简单地取消订阅您的存储库的通知。

答案2

Skillmon 的回答如果您使用 Git 管理代码,这无疑是最佳选择。对您来说,一个很大的优势是,像 GitHub 这样的网站免费提供所有托管和通知基础设施。

如果你不想使用 Git(虽然我认为你应该使用)并且想继续使用电子邮件,邮递员服务器(或类似的分发服务)将是一个简单的选择。这将允许用户自主订阅(取消订阅),并为您提供一个地址来发送您的发布。当然,您需要能够访问运行该服务的服务器。

相关内容