Wie man Beitragsdaten für bestimmte Kategorien umschreibt (Narrative Project Roleplay)

Hallo. Für eine kommende Staffel eines Science-Fiction-Narrativprojekts in naher Zukunft möchten wir versuchen, die Datumsangaben in allen Beiträgen in bestimmten Kategorien unseres Discourse auf bestimmte Tage/Monate/Jahre umzuschreiben. Ich weiß, es klingt seltsam, aber in unserem Fall ist es sinnvoll, weil unsere Community es für In-Universe-Rollenspiele verwendet und das tatsächliche Jahr die Ungläubigkeit etwas aufhebt. Ich habe versucht, nach bestehenden Plug-ins oder anderen Lösungen zu suchen, aber ohne viel Glück. Das Beste, was ich herausfinden konnte, ist, dass ich selbst eines schreiben und Plug-in-Outlets verwenden müsste, um die Datumsangaben zu ändern. Hat jemand Ideen oder bestehende Sachen, die wir verwenden könnten?

Oooo, klingt lustig! Es gibt wahrscheinlich keine bestehenden Lösungen dafür, und ich kann mir kaum einen legitimen Grund vorstellen, eine zu erstellen, die tatsächlich den tatsächlichen Zeitstempel ändern würde. Was Sie stattdessen tun können, ist, eine benutzerdefinierte Theme-Komponente zu erstellen, die einen gefälschten Zeitstempel pro Beitrag einfügt.

Sie können einen generischen [wrap] bbcode hinzufügen, mit dem Sie jeden beliebigen [wrap=] bbcode in den Beiträgen verwenden können, die Sie ändern möchten.

Richten Sie etwas wie [wrap=timechange time='Apr 1'][/wrap] ein, und Sie erhalten \u003cspan class=\"d-wrap\" data-time=\"Apr 1\" data-wrap=\"timechange\"\u003e\u003c/span\u003e im Beitrag selbst. Dann können Sie decorateCookedElement() verwenden, um nach [data-wrap=\"timechange\"] in jedem Beitrag zu suchen, um zu entscheiden, ob der Zeitstempel geändert werden soll.

Ich glaube nicht, dass es am Zeitstempel einen Plugin-Outlet gibt, aber Sie können immer ein neues Element im Anker-Element des Beitragsdatums einfügen und etwas CSS verwenden, um das alte zu verstecken.

Hier sieht das aktuelle Beitragsdatum so aus.

\u003cdiv class=\"post-info post-date\"\u003e
  \u003ca class=\"widget-link post-date\" href=\"...\" title=\"Post date\"\u003e
    \u003cspan title=\"...\" data-time=\"...\" data-format=\"tiny\" class=\"relative-date\"\u003e...\u003c/span\u003e
  \u003c/a\u003e
\u003c/div\u003e

Sie möchten wahrscheinlich .post-info a.post-date ansprechen und dort ein neues Element als span oder ähnliches hinzufügen. Etwas CSS .post-info a.post-date span:first-child { display: none; } versteckt den echten Zeitstempel. Wenn Sie das Anker-Tag ansprechen und beibehalten, können Ihre Benutzer es weiterhin normal verwenden (es hat eine Share-Funktionalität).

Wenn Sie es mit decorateCookedElement() verbinden, gibt Ihnen die Funktion das Wurzelelement des gekochten Beitrags, sodass Sie von dort aus mit element.closest() und .querySelector() schnell im DOM suchen können, um das richtige .post-info zu erreichen.

Die Verwendung von bbcode würde es Ihnen (und jedem anderen) ermöglichen, das Aussehen jedes Beitrags zu ändern, unabhängig von der Kategorie. Sie können auch mit cleverem CSS einschränken, wo es tatsächlich angezeigt wird. Der Body sollte die Klasse .category-* haben, die den Namen der Kategorie des Themas enthält. Sie können Ihr CSS also auf diese Kategorien beschränken.

3 „Gefällt mir“

Das sind großartige Informationen für den Anfang. Wir möchten, dass es automatisch geschieht und nicht etwas, dem jeder Beitrag zustimmen muss, daher bin ich mir nicht sicher, ob BBCode speziell notwendig sein wird, aber ich nehme an, wenn wir etwas hätten, das es beim Rendern von Beiträgen automatisch generiert, könnte das funktionieren. Ich werde Ihre Vorschläge auf jeden Fall prüfen. Danke!

Um Ihnen etwas mehr Kontext zu geben: Es ist für Neurocracy, und unser Discourse befindet sich unter talk.omnipedia.app, wo Sie die Kategorie Spekulation sehen können, die Unterkategorien für jedes Datum innerhalb des Universums hat. Unsere Community hat sich natürlich in das Rollenspiel als Benutzer unseres zukünftigen Wikis vertieft, die die verschiedenen Wendungen und Wendungen diskutieren.