Ich war mir nicht ganz sicher, wo ich das einordnen soll – entschuldigt bitte, falls es woanders hingehört.
Zunächst einmal hoffe ich, dass das nicht einfach als Meckerei rüberkommt. Das ist überhaupt nicht meine Absicht. Ich liebe Discourse und nutze es aktiv. In den letzten sechs Monaten habe ich mehrere Discourse-Instanzen für mich selbst, Kunden und Freunde eingerichtet. Die allgemeine Zufriedenheit ist hoch, besonders was die Funktionalität und Anpassungsmöglichkeiten angeht (Theme-Komponenten, Plugins usw.).
Trotzdem ist mir im Laufe der Zeit aufgefallen, dass es insgesamt relativ wenige Theme-Optionen gibt – besonders im Vergleich zu WordPress oder sogar vielen anderen Forensystemen. Ich habe beispielsweise noch keinen Drittanbieter-Marktplatz für Themes gefunden, wie er bei vielen anderen Systemen existiert. Hier in Meta scheinen viele Themes ziemlich alt zu sein, wobei sie zum Glück oft dennoch aktuell gehalten werden. Außerdem wirken die meisten von ihnen von einer sehr kleinen Gruppe von Personen erstellt. Als Gegenbeispiel sei das Theme-Verzeichnis von myBB genannt, das etwa 150 Themes umfasst (und das ist noch nicht einmal einer der populärsten Discourse-Konkurrenten):
Auch NodeBB scheint eine ähnlich geringe Anzahl an Themes zu haben.
Ein weiterer Punkt ist, dass selbst unter den verfügbaren Themes nicht allzu große Variationen zu finden sind. Ich schätze zwar, dass die meisten ein eher „sauberes
Hallo, danke, dass du das angesprochen hast. Das ist etwas, worüber ich schon seit geraumer Zeit aktiv nachdenke.
Du hast bezüglich der begrenzten Variationen recht, aber das ist keine Einschränkung des Theming-Systems. Wir haben bereits eine ganze Menge sehr unterschiedlicher benutzerdefinierter Themes für gehostete Kunden erstellt. Es scheint nur nicht die gleiche Nachfrage danach in der Open-Source-Community zu geben.
Das ist uns bewusst, und wir haben das intern diskutiert. Unser Designteam arbeitet aktiv an verschiedenen Varianten von Themes und Theme-Komponenten, die in den Einrichtungsassistenten aufgenommen werden sollen. Habt die Augen offen!
Toll, danke, das ist sehr ermutigend! Ich bin wirklich neugierig zu sehen, ob es sich, wie ich spekuliert habe, um ein Henne-Ei-Problem handelt, also: Sobald es mehr Themes gibt, kommen dann auch mehr Menschen, um sie zu nutzen?
Das wirft eigentlich eine Frage auf, die du vielleicht auch beantworten kannst: Wie misst man die „Nachfrage nach Themes in der Open-Source-Community
Ich danke dir für den Hinweis. Allerdings sind viele davon ziemlich „vanilla“, und auf der „Kunden“-Seite steht nichts, was mir explizit sagt: „Wir haben diese sehr unterschiedlichen benutzerdefinierten Themes für all diese Seiten erstellt“ – genau das war es, wonach ich gesucht habe. Mit anderen Worten: Diese Seite scheint, verständlicherweise, mehr darüber zu handeln, wer Discourse nutzt, und weniger darüber, wie einzigartig ihre Nutzung oder ihr Design ist, oder dass das Discourse-Team speziell Theme-Arbeiten für sie durchgeführt hat. Ehrlich gesagt finde ich, dass das eine nette zusätzliche Kategorie oder ein Filter für diese Seite sein könnte: Kunden, für die ihr Custom-Design- oder Theme-Arbeiten durchgeführt habt.
Wie auch immer, ich verstehe, dass die Informationen vorhanden sind, damit die Leute sie durchsuchen und finden können, was sie suchen, und ich bin @HAWK dankbar, dass er sich die Zeit genommen hat, einige konkrete Beispiele hervorzuheben, die meinen geäußerten Interessen direkter entsprachen.
OK! Das klingt, als hättest du sehr spezifische Anforderungen. Du könntest in Erwägung ziehen, jemanden zu bezahlen, der dir hilft, diese Anforderungen zu erfüllen, um dein Erlebnis zu beschleunigen.
Ein Grund dafür, dass es nicht Hunderte von Themes gibt, ist, dass es keinen Marktplatz für Themes gibt. Ich denke, das liegt daran, dass viele Entwickler große Befürworter von Open Source sind. In gewisser Hinsicht ist das ein Segen, denn es verhindert, dass zigtausend Menschen darauf kommen, belanglose Themes zu erstellen, in der Hoffnung, dass sie dafür bezahlt werden.
In der Regel können Sie, wenn Sie etwas Bestimmtes wünschen, einfach im Marketplace nachfragen.
Ich bin mir nicht sicher, ob dies tatsächlich Auswirkungen auf die Anzahl der Themes oder die Bereitschaft anderer hat, welche zu erstellen. Aber aus meiner eigenen Erfahrung ist die Struktur von Discourses HTML-Markup und CSS-Klassen nicht gut genug durchdacht, um ein einfaches oder effizientes Theming zu ermöglichen.
Wenn Sie nur mit CSS Änderungen am Theme vornehmen möchten, sind diese größtenteils eng an das Markup und die Klassen des Forums gekoppelt (die das Theme nicht besitzt, es sei denn, Sie greifen auch in das HTML ein). Einfache Anpassungen erfordern oft mehr Aufwand als nötig, zum Beispiel, weil es keinen einzigen Selektor dafür gibt. (Beispielsweise ist die Linie, die Beiträge in einem Thema trennt, nicht tatsächlich eine einzelne Rahmenlinie, sondern wird zwischen der Avatar-Komponente und dem Beitragskörper aufgeteilt. Sie können sie nicht einfach anpassen, da Sie verschiedene andere Elemente berücksichtigen müssen, die auf nicht offensichtliche Weise damit interagieren.)
Für mich persönlich bedeutet dies, dass ich nur bereit bin, sehr minimale Änderungen vorzunehmen, die nicht versuchen, zu viel zu verändern, da ich befürchte, dass zukünftige Forum-Updates meine Änderungen zerstören und es schwierig sein wird, herauszufinden, wie man sie behebt.
Ja, der Rahmen über den Beiträgen ist ein gutes Beispiel… Ich glaube, die Struktur des Markups ist über 5 Jahre alt und könnte sogar ein Überbleibsel eines anderen Standardlayouts sein.
Die Änderung des Rahmens scheint nicht etwas zu sein, das eine riesige Umstrukturierung erfordert, aber wir müssten eine beträchtliche Menge an CSS und HTML anpassen, um dies zu erreichen, da der übergeordnete Container von topic-avatar und topic-body nicht die richtige Breite für den Rahmen hat… und wenn wir die Breite des übergeordneten Containers ändern oder einen weiteren Container einführen, erfordert das weitere Änderungen, und diese Änderungen können wiederum eigene Anpassungen nach sich ziehen… und plötzlich refaktorierst du den gesamten Beitragscontainer. Sobald wir diese Änderungen vorgenommen haben, müssen wir unsere Kunden durch den Übergang begleiten und die von uns entwickelten Themes aktualisieren… das kann also ein sehr mühsamer Prozess sein.
Obwohl ich gerne so etwas machen und dann fertig sein würde:
.topic-post {
border-top: 1px solid red;
}
…würde es viel Zeit kosten und bestehende Themes brechen, um dorthin zu gelangen. Und im Vergleich ist ein zusätzlicher Selektor bei weitem nicht so schwierig wie die Umstrukturierung des Markups:
Natürlich kann es frustrierend sein, wenn man solche Aktionen häufiger wiederholen muss. Ich arbeite täglich an Discourse-Themes, also verstehe ich das!
Trotzdem… wir möchten das Markup der Themenliste und der Themenseite in naher Zukunft definitiv aktualisieren. Wir haben letztes Jahr die Unterstützung für IE11 eingestellt, sodass wir Dinge einfacher strukturieren können, um moderne CSS-Layout-Funktionen wie Flexbox und Grid besser nutzen zu können. Dies wird es auch erleichtern, dramatischere Layout-Änderungen vorzunehmen.
Seit dem Verzicht auf IE11 verwenden wir zudem häufiger CSS-Custom-Properties, was die Gestaltung zusammen mit größeren grundlegenden Änderungen ebenfalls straffen kann. Anstatt zwei separate Elemente zu stylen, können wir etwas wie Folgendes tun:
Eine weitere Anmerkung: Oft gibt es vertragliche Einschränkungen bei Enterprise-Kunden, die uns rechtlich gesehen daran hindern, über diese Kunden und deren Anpassungen zu sprechen. Das ist bedauerlich, aber was kann man tun? Wir müssen geschäftsfähig bleiben und die Gehälter der Mitarbeiterinnen und Mitarbeiter hier zahlen können. Das ist mir ein großes Anliegen; es ist meine Verpflichtung, dafür zu sorgen, dass bei Discourse alles reibungslos läuft, damit unser Team seine Familien ernähren und mit einer verlässlichen Einkommensquelle versorgen kann.
Die gute Nachricht ist, dass diese umfangreichen Anpassungen im Laufe der Zeit langsam in die Open-Source-Codebasis einfließen. Das braucht jedoch seine Zeit.
Da ich an mehreren Discourse-Projekten arbeite, meist für andere, sind die Bedürfnisse sehr unterschiedlich, ebenso wie die Budgets. Aber ich habe Custom-Development definitiv im Hinterkopf und würde es gerne dort einsetzen, wo die Ressourcen es zulassen.
Toll! Ich freue mich zu hören, dass du die Notwendigkeit dafür ebenfalls siehst.
Das habe ich tatsächlich! Theme-Komponenten sind eines meiner absoluten Lieblingsfeatures bei Discourse, und ich nutze sie umfassend. Dennoch bleibt die grundlegende Ästhetik und die „Benutzerfreundlichkeit“/„Sauberkeit“ des Systems trotz der meisten davon ziemlich ähnlich.
Ausgezeichnet, danke für diese Perspektive. Ich bin nicht sehr versiert in CSS, sicherlich nicht genug, um mit Zuversicht sagen zu können, dass die Architektur von Discourse (oder eines beliebigen Tools) besser sein könnte, anstatt dass es nur mein mangelndes Verständnis ist, das die Dinge begrenzt. Es ist gut zu wissen, dass hier noch Verbesserungsbedarf besteht.
Das ist wirklich gut zu hören. Ich kann die Schwierigkeit nachvollziehen, die mit einer Umstrukturierung einhergeht, und wie sehr eine vorgeschlagene, scheinbar kleine Änderung zwangsläufig viele andere nach sich ziehen kann. Ich freue mich, dass es trotz der Herausforderung internen Schwung gibt, die Dinge im Laufe der Zeit zu verbessern. Und als kleiner Seitenhinweis: Vielen Dank für all die Theme- und Theme-Komponenten-Arbeit, die ihr leistet! Ich nutze eure Kreationen häufig.
Vielen Dank für die Beispiele. Das BabyPips-Beispiel ist besonders beeindruckend und interessant!
Stimmt! Als ich fragte, ob es Beispiele gibt, die ihr „teilen könnt“, habe ich implizit Verständnis für diese Tatsache gezeigt, aber mir ist bewusst, dass dies vielleicht nicht klar oder explizit war.
Ich unterstütze Discourse als Unternehmen, das Geld verdient, absolut und verstehe alles, was damit einhergeht, einschließlich NDAs, möglicher Exklusivitätsvereinbarungen für bestimmte benutzerdefinierte Funktionen und mehr. Die Tatsache, dass die Anpassungen in den Open-Source-Code einfließen, ist ein Beweis dafür, dass ihr es richtig macht, und ich schätze das.
Danke an alle für die Beiträge! Ich fühle mich jetzt sowohl klarer im Verständnis, warum die Dinge derzeit so sind, wie sie sind, als auch hoffnungsvoller, dass sich die Dinge für diejenigen verbessern werden, die meinem Fähigkeitsniveau, meinem Anwendungsfall und meinem Budget näher kommen. Irgendwann würde ich gerne ein florierendes Ökosystem/Dritt-Party-Theme-Community/Markt sehen und würde gerne z. B. 50 $ für ein schönes, angepasstes Theme bezahlen, wie ich und viele andere dies häufig in der Wordpress- (und anderen CMS/Forum-System-) Welt tun.
Ich erkenne, dass es mit diesem Ansatz potenzielle Probleme gibt, ebenso wie viele „Müll“-Themes. Aber nach über 15 Jahren der Anpassung von fertigen CMSs, Themes und Plugins und dem Vergleich mit den Angeboten, die ich für die vollständige benutzerdefinierte Entwicklung ähnlicher Designs und Funktionen erhalten habe, bin ich zuversichtlich, dass es für diese Art von Ökosystem einen wertvollen Platz gibt. Ich sehe es als eine Ebene unterhalb der vollständigen benutzerdefinierten kommerziellen Optionen, die Discourse anbietet (wo Kosten eine Barriere darstellen), und „oberhalb“/neben dem vollständigen DIY-Open-Source-Ansatz (wo Fähigkeiten und Zeit eine Barriere darstellen). In meiner Erfahrung mit anderen Systemen, die ähnlich funktionieren, hat dieser „mittlere Weg“ gute Ergebnisse in angemessener Zeit für diejenigen ermöglicht, die über begrenzte Budgets/Fähigkeiten/Zeiträume verfügen (das sind im Grunde jedes kleine Unternehmen, jeder Einzelunternehmer usw., mit dem ich je zusammengearbeitet habe).
Tatsächlich denke ich, dass viele Menschen das tun, und das ist eine positive Sache. Die Idee ist natürlich, dass man auf einem Marktplatz vielleicht 10, 50 oder 100 Personen findet, die diese 50 US-Dollar zahlen, und dann wird es bedeutungsvoller. Jedenfalls scheint das im Kontext anderer Plattformen zu funktionieren. Nicht dass ich lieber zahlen würde als kostenloses Angebot zu haben, aber ich erwarte auch nicht, dass tiefgründigere, herausfordernde Arbeiten ohne Vergütung erledigt werden.
Ich weiß nicht unbedingt den besten Weg, damit umzugehen. Vor allem kenne ich nur das übergeordnete Ergebnis, das ich zu sehen hoffe: eine breitere Verfügbarkeit von tiefergehend angepassten Themes, Komponenten usw., um den Einsatz von Discourse in mehr Kontexten zu ermöglichen (wo sein Einsatz angemessen ist).
Ein Diskurs-Marktplatz für Problemlösungen ist etwas, das ich in Betracht gezogen habe, aber ich habe ein anderes Projekt, das ich zunächst starten möchte.