Vielen Dank für die Antwort!
Ich glaube, das ist teilweise der Grund für meine Verwirrung. Ich kann keine Referenzen finden, wie man Discourse durch Hinzufügen meines eigenen JS erweitert.
Wenn ich eine DuckDuckGo-Suche nach “Discourse developer guide” durchführe, ist der erste Link ein Link zum Github-Repo.
Der nächste Link führt zur “Discourse Advanced Developer Install Guide”. Diese Anleitung soll erklären, wie man Rails für die Entwicklung einrichtet, enthält aber keine Links zur Installation von benutzerdefiniertem JS, soweit ich das beurteilen kann. Ich möchte einen komplizierten Build-Prozess vermeiden, an den ich mich aus meinen Rails-Tagen erinnere. Ich würde diesen JS-Erweiterungscode wirklich gerne isoliert entwickeln und dann ein Skript-Tag in meine Seite einfügen. Daher möchte ich keine Rails-Umgebung lokal einrichten, um ihn zu erstellen. Vielleicht übersehe ich den Nutzen davon? Aber ich mag es wirklich, einfach einen Docker-Container zu aktualisieren, der ein Theme mit ein paar <script>-Tags verwendet.
Der nächste Link ist ein “Beginner’s guide to developing Discourse Themes”, der sich mit der Entwicklung von Themes beschäftigt, nicht damit, was ich brauche, oder?
Ich sehe Links zur Discourse API, was offensichtlich nicht das ist, was ich will.
Wenn ich nach “discourse javascript initializer” suche, sehe ich diesen Link von vor 5 Jahren: Execute JavaScript code from a plugin once after load Aber das scheint so, als würde ich mich in Rails einklinken, und ich habe das Gefühl, es sollte einen einfacheren Weg geben, und dieser Thread scheint auch ungelöst zu sein?
Ein weiterer Link zu “discourse javascript initializer” schlägt vor, das zu tun, was ich tue, um das JS zu installieren, hat aber keine Vorschläge, wie sichergestellt werden kann, dass jederzeit, wenn sich der Seiteninhalt ändert (entweder durch eine vollständige Seitenaktualisierung oder eine XHR “turbolinks”-ähnliche Anfrage): https://stackoverflow.com/questions/48611621/how-do-i-add-an-external-javascript-file-into-discourse
Sollte ich diese Diskussion durchgehen? A versioned API for client side plugins
Oder vielleicht diese? Auf den ersten Blick verstehe ich die Syntax nicht (diese Annotationen sehen nicht wie JS aus, sind das Rails-Konventionen?), daher bin ich mir nicht sicher, ob das das ist, was ich brauche: Using Plugin Outlet Connectors from a Theme or Plugin