mcmcclur
(Mark McClure)
1
我有一个使用标准 Docker 安装创建的小型的自托管 Discourse 站点。多年来,我通过编辑 containers/app.yml 文件末尾的钩子来 git clone 插件仓库,安装了许多插件。我也做过一些插件开发。
然而,几个月前,许多标准插件被合并到了 Discourse 核心中。假设我 fork 了整个 Discourse 仓库,编辑了其中一个插件(比如 discourse-math),并在我的本地开发环境中使更改完美运行。如何将这个新插件应用到我的生产 Discourse 实例中的流程是什么?
顺便问一下——你为什么要分叉任何官方插件?
无论如何,在 app.yml 中,你可以运行一个命令来删除特定的插件目录,然后克隆你自己的,如果你绝对需要的话,例如:
<in after_code: somewhere >
- exec:
cd: $home/plugins
cmd:
- rm -r poll
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/myaccount/myplugin-replacement.git
你也许可以这样做,但请检查:
<in after_code: somewhere >
- exec:
cd: $home/plugins
cmd:
- rm -r poll
- git clone https://github.com/myaccount/myplugin-replacement.git
我没有特别注意空格——请确保缩进是完美的。
2 个赞
mcmcclur
(Mark McClure)
3
因为我希望更新 discourse-math 插件使用的过时的 MathJax 版本。
好的,在我看来,我缺少的是这一行:
cmd:
- rm -r poll
不过要说清楚,poll 是什么? 我认为我应该删除旧的 discourse-math 目录以防止我似乎遇到的冲突。也就是说,类似这样的命令
cmd:
- -r plugins/discourse-math
看起来不像是一个可以随意运行的好的命令。 
mcmcclur
(Mark McClure)
5
1 个赞
mcmcclur
(Mark McClure)
7
这招奏效了,@merefield - 非常感谢!!!
1 个赞
这可能是官方插件中一个 pr-welcome(欢迎拉取请求)的更改。如果您有兴趣尝试为所有依赖该插件的用户做点贡献,请开启一个 Feature(功能)主题来提议它。
3 个赞