Ich habe eine Programmierfrage zu einer neuen Funktion, die ich in einer Themenkomponente erstelle. Ich habe ein kurzes Video vorbereitet, um zu zeigen, was ich bereits habe und wo ich blockiert bin.
Hier ist jedoch eine kurze Beschreibung:
Ich möchte, dass Benutzer spezifischen Text innerhalb von Beiträgen (auch in den Beiträgen anderer Benutzer) „liken“ können – nicht nur den gesamten Beitrag.
Sobald ein Benutzer Text auswählt, klickt er auf ein neues Symbol, das den ausgewählten Text mit dem [warp]-Block umschließt, den ich dann zur Formatierung verwende.
Das Umschließen geschieht durch Modifizieren des Rohtexts – was ein Problem für Nicht-Admin-Benutzer darstellt, die die Beiträge anderer Personen nicht ändern können.
Fragen:
Ich suche nach einer Möglichkeit, meine „Metainformationen“ im Modell selbst zu speichern.
Ich suche nach einer Möglichkeit, den Text so zu modifizieren/dekorieren, dass jeder Benutzer dies tun kann.
Wie Sie bin ich wirklich an dieser Funktion interessiert. Sie hilft uns, Input von der Community zu erhalten, um gute und wertvolle Inhalte auszuwählen/zu zitieren, die wir selbst hosten oder um ein öffentlich geteiltes Verzeichnis zu erstellen.
Ich habe dies tatsächlich auf eine sicherere Weise implementiert, ebenfalls unter Verwendung einer Theme-Komponente.
Das Ziel
Geben Sie den Leuten die Möglichkeit, Inhalte innerhalb eines Beitrags zu mögen, nicht nur den Beitrag selbst. Zum Beispiel sollten die Leute ausdrücken können, dass sie ein bestimmtes Bild oder Textpassagen mögen.
Der Ansatz
Da wir uns in einer Theme-Komponente befinden, musste ich einen Weg finden, die Metainformationen über ein solches „Benutzer-Like“ irgendwo zu speichern, da anscheinend nur echte Plugins die Datenbank ändern können. Mein ursprünglicher Ansatz war, den Rohtext des Beitrags zu bearbeiten, aber das endete in einem ziemlichen Durcheinander, da wir die Beiträge von Benutzern modifizierten, was wir nicht wollten.
Die Lösung, die ich schließlich fand, war die Verwendung von Firebase Firestore zum Speichern von Dingen.
Das Ergebnis
Benutzer können jetzt „Herzen“ für Daumen und Texte in LI-Elementen und Ps vergeben.
Weiter geht’s
Ich plane, dies als Theme-Komponente verfügbar zu machen, aber der Teil der Datenspeicherung muss von den Entwicklern selbst gehandhabt werden, wenn sie die Daten woanders hosten möchten.
Wenn die Leute genügend Likes geben, werde ich dies bald veröffentlichen
Diese Funktion könnte für sehr große Beiträge nützlich sein, bei denen einige Teile mehr hervorstechen als andere.
Übrigens, wenn es mehrere Likes gibt, könnten die 25 % mit den meisten Likes angezeigt werden, damit es klarer ist? Es könnte sehr unordentlich aussehen, wenn überall viele rote Textzeilen sind.
Bitte veröffentlichen Sie diese Funktion bald!
Ich liebe die Hervorhebungsfunktion auf Medium und jetzt wünsche ich mir, dass sie auch in Discourse erscheint. Denn manchmal möchten wir unsere Gefühle zu einem Text ausdrücken und ihn speichern, damit wir ihn als Lesezeichenfunktion überprüfen können (aber derzeit können wir nur den gesamten Artikel als Lesezeichen speichern)
Hallo, wir haben es jetzt stabil am Laufen. Es muss noch Code bereinigt und eine Community-fähige Version bereitgestellt werden.
Die Wahrnehmung davon ist wirklich erstaunlich, die Leute lieben es.
Ich werde Sie auf dem Laufenden halten! Ich hoffe, diese Woche etwas liefern zu können.
Hallo Leute! Ich hatte eine ähnliche Idee, wie ich in diesem Beitrag erkläre. Gibt es Neuigkeiten dazu, @Sören_Geier?
In den letzten Tagen habe ich angefangen darüber nachzudenken, wie schön es wäre, wenn Teile, die zitiert wurden, neben dem Liken eines bestimmten Textteils eine Art Linkliste zu jeder Antwort hätten, die darauf gegeben wurde – wenn man dieses Wort zitiert, würde es im Originaltext hervorgehoben werden und wenn jemand auf diese Hervorhebung klickt, würde er eine Vorschau darauf erhalten, wie viele Antworten es zitiert haben, wessen sie sind usw. Es wäre eine schöne Möglichkeit, die Tiefe bestimmter Diskussionsteile zu verstehen.
Ich weiß nicht, ob meine Idee klar genug ist, haha, aber ich stelle mir vor, dass sie ähnlich wie diese Like-Funktion funktionieren und das gleiche Problem bei der Datenspeicherung haben würde.
Ich bin in Gesprächen mit Discourse-Entwicklern, um mein Open-Source-Repository mit der Inline-Heating-Funktionalität zu überprüfen. Ich habe dies bei einer sauberen Discourse-Installation installiert und es funktionierte sofort.
Die aktuelle Version sieht viel cooler aus als im ersten Video!
Hallo, kann mir jemand eine PN schicken, um mir dabei zu helfen, den Code „community-ready“ zu machen? Ich habe das Repository eingerichtet und bereit zum Teilen, brauche aber jemanden, der es mit mir auf Herz und Nieren prüft und es aus einer anderen Perspektive betrachtet, bevor ich es breit ankündige.
Jede Hilfe wird geschätzt, damit ich dies vorantreiben kann.