Das sind alles Dinge, die Discourse bereits hat.
Der einfachste Weg, dies zu tun, ist, sie woanders zu hosten und Links dazu mit einer Theme-Komponente hinzuzufügen und diese Seite so zu gestalten, dass sie genauso aussieht wie Ihre Discourse-Seite. Die Leute bemerken URLs nicht, also wenn Sie die Navigation auf den anderen Seiten so gestalten, dass die Leute zu Discourse zurückkehren können, dann funktioniert es einfach und es ist nichts Besonderes erforderlich.
Ich bin mir nicht ganz sicher, was das bedeutet, aber wenn Sie Ihre benutzerdefinierten Funktionen wirklich zu Discourse hinzufügen möchten, müssen Sie sie als Plugins oder Theme-Komponenten erstellen.
Es ist nicht klar, was Ihr Ziel ist.