Ist dies der richtige Weg, um eine Theme-Komponente zu erstellen?

Obwohl diese Vorgehensweise technisch möglich ist, ist sie nicht der ideale Ansatz.

Anstatt Script-Tags und jQuerys $(document).ready zu verwenden, wäre es besser, Embers Rendering-System korrekt zu nutzen.

Zunächst wäre es hilfreich, ein Repository für eine Theme-Komponente mit einer ordentlichen Ordnerstruktur für Ihre Theme-Komponente zu erstellen. Werfen Sie einen Blick auf die discourse_theme CLI, da diese die Struktur für Sie aufbaut und die Entwicklung der Komponente erleichtert. (Alternativ gibt es auch das Theme-Skeleton, falls Sie nur die Struktur und nicht die weiteren Funktionen der Theme-CLI benötigen).

Von dort aus würde ich die von Discourse bereitgestellten Tools zur Erweiterbarkeit wie apiInitializers, die pluginAPI, Plugin-Outlets usw. verwenden, um das zu erreichen, was Sie vorhaben.

Der beste Weg, mehr darüber zu lernen, ist, die Entwickler-Leitfäden hier auf Meta (insbesondere die Abschnitte zu Theme/Theme-Komponente) zu durchsuchen. Zusätzlich würde ich die Kategorie Customization > Theme component durchgehen und die GitHub-Repositories der dortigen Projekte finden. Das Durchsehen ihres Codes und wie sie bestimmte Dinge umsetzen, wird Ihnen ebenfalls helfen.

Ich hoffe, das hilft weiter!