你好,我叫亚历山大。最近,我通过 WSL 安装了 Discourse 并开始学习。两周后,我发现了一个大问题:Discourse 缺乏优秀的插件开发指南,只有几篇文章。似乎所有的学习都归结为阅读积累了大量代码。我每天学习,每天都遇到很多问题。我想找一位导师,能够解答这些问题并帮助我学习 Discourse。当然,我愿意为这样有价值的服务付费。我会说英语、俄语和泰语。非常期待听到您的建议。
请查看 Pavilion
同时,也请查看以下内容:
你看过这个关于插件开发的初学者指南系列吗?
这是一个专为你的具体场景编写的七部分系列。每个指南的末尾都列出了所有指南的完整列表。
是的,我全都读过了,但我仍然有疑问。
遗憾的是,本指南并未涵盖在 .rb 文件中注入钩子(hook)的内容。
例如,用户有时会上传 PUP(潜在不需要的程序),因此我希望保护我的主域名不被 Google 和杀毒软件封禁。
举例来说,我需要替换插件中的已编译下载链接:
“https://discourse.example.com/uploads/short-url/...exe” => “https://download.proxy.com/uploads/short-url/....exe”。
我该怎么办?我想我首先需要找到某个方法,但具体是哪一个?如何找到我需要的那个方法?如何在插件中为其添加钩子?我应该替换还是扩展该方法?如何同时实现两者?还有很多其他问题。
我从学习爵士乐中学到的一点:
了解事物如何运作的最佳方法是查看现有的示例。
我曾有幸向一位我崇拜的偶像请教过一节课。他告诉我,要真正去聆听唱片,答案都在那里!
对于 Discourse 插件而言,请在现有的、编写良好的插件或 Discourse 源码本身中寻找功能完全相同的使用案例,并遵循相同的模式。我开发插件已有两年多,至今仍这样做。
感谢您的建议。
@ramjke 还有一件事,如果从我提供的链接中看不清楚:如果您成为我们社区的成员并为我们的开源插件做出贡献,我们将免费提供指导。这通常表现为您为我们的某个插件开发一个拉取请求(PR)(例如添加新功能或修复令人头疼的漏洞),然后我们会指导您进行改进,直到其达到可正式发布的水准。这很大程度上也是我学习的方式:为真实世界开发真正有用的功能。PR 是学习工作流程的完美机制。这既帮助我们维护这些广受欢迎的插件,同时也提供了绝佳的学习体验。目前已有大量待开发的功能供您着手,期待您的参与 :).
谢谢。我会去看看。
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.