Vereinfachen Sie die kollaborative Erstellung eines neuen Beitrags in einem Thread

Ich stelle fest, dass unsere Kerngruppe das folgende Workflow-Muster wiederholt:

  • Erstellen eines Wiki-Posts in einem Thread, um ein neues Thema vorzubereiten
  • Bearbeiten, die Diskussion im selben Thread fortsetzen
  • Verschieben in ein neues Thema in einer anderen Kategorie, wenn es fertig ist

Während der Bearbeitung schreiben wir den vorgeschlagenen Titel für das Thema in die erste Zeile des Wiki-Posts als H1-Überschrift:

# Neuer Titel

neuer Inhalt

Der „Verschiebe-Schritt“ ist etwas mühsam:

  • Bearbeiten des Wikis, um die neue Überschrift zu entfernen, den Titel im Copy-Paste-Gedächtnis behalten
  • Auswählen des Posts, der in ein anderes Thema verschoben werden soll
  • Einfügen der Überschrift
  • Kategorie auswählen
  • Veröffentlichen

Ich träume von einem vereinfachten Workflow:

  • „In neuem Thread veröffentlichen“ aus dem Schraubenschlüsselmenü des Posts auswählen
  • Kategorie auswählen
  • Veröffentlichen

Dies würde die erste Themenzeile entfernen und ihren Wert automatisch als Voreinstellung für ein neues Thema auswählen.

Wäre ein solches Verhalten durch eine Theme-Komponente realisierbar?

1 „Gefällt mir“

Das scheint ähnlich zu gemeinsamen Entwürfen zu sein.

3 „Gefällt mir“

Ich finde das vollkommen in Ordnung. Dies muss nur zwei Ajax-Anfragen senden, eine, um den ursprünglichen Text abzurufen, und eine, um den Inhalt zu verarbeiten und als Beitrag zu posten.

Moment, ich gebe Ihnen einen kritischen Teil des Codes.

const post_id = 1327039; // Sie sollten einige Operationen durchführen, um die gewünschte Post-ID zu erhalten

$.ajax(`/posts/${post_id}/raw.json`).then(res => {
  const [text, title, raw] = res.match(/\s*#\s+([^\n]+)([\s\S]*)/);
  $.ajax("/posts.json", {
    type: "POST",
    data: {
      raw,
      title,
      category: YOUR_CATEGORY_ID,
    },
  });
});

Der Aufbau eines gut aussehenden und einfach zu bedienenden Frontends sollte der schwierigste Teil dieser Theme-Komponente sein.

2 „Gefällt mir“