Gibt es eine Möglichkeit, gekochten Inhalt wieder in Markdown umzuwandeln?

EDIT: Fehler in meinem ursprünglichen Beitrag. Ich wollte auf das gekochte Feld verweisen, nicht auf das rohe Feld (KORRIGIERT).

Ich habe kürzlich JSON-Daten von einem Discourse-Forum erhalten, bei denen die Beitragsdaten im “gekochten” Format vorliegen. Ich habe mich gefragt, ob es eine Möglichkeit gibt, dies zurück in Markdown zu konvertieren? Ich bin neu bei Discourse und habe gesucht, aber keinen Weg gefunden, dies zu tun. Da die gekochten Daten anscheinend zur Erstellung von HTML verwendet werden, vermute ich, dass eine alternative Route die Funktion wäre, die Gekochtes in HTML umwandelt, und dann HTML in Markdown umwandelt.

Jede Hilfe wird sehr geschätzt.

Danke.

1 „Gefällt mir“

Es gibt viele Optionen bei Google, aber meine erste Wahl für diese Dinge ist normalerweise pandoc https://stackoverflow.com/questions/16248986/how-to-convert-html-to-markdown-while-retaining-non-markdown-html-tags

1 „Gefällt mir“

Versuchen Sie es. Einfach

Ich habe die Daten bereits, ich kann sie nicht noch einmal abrufen. Sie stammen aus einem Forum, das abgeschaltet wurde. Ich versuche, die Daten zu bereinigen, damit sie wiederhergestellt werden können.

In welchem Format liegen die „Rohdaten“ genau vor?

Markdown!

Wenn Sie mit „roh“ ein Feld namens raw meinen, dann betrachten Sie den eigentlichen Markdown-Quelltext, den wir speichern. Als Beispiel ist dies der JSON-Endpunkt für Ihren letzten Beitrag gerade eben.

Das Feld raw dort ist der eigentliche Text, den Sie im Markdown-Editor verfasst haben, und wir speichern ihn unverändert, sodass es nicht reiner geht.

Wenn Sie stattdessen im Allgemeinen „den rohen HTML-Code“ meinen, der ohne Verwendung von JSON-Endpunkten extrahiert wurde, dann können Sie diesen HTML-Code extern mit pandoc, wie oben vorgeschlagen, oder einer anderen Software in Markdown umwandeln.

3 „Gefällt mir“

Bitte entschuldigen Sie, ich habe in meinem ersten Beitrag einen Fehler gemacht (der inzwischen korrigiert wurde). Ich wollte mich auf die verarbeiteten Daten und nicht auf die Rohdaten beziehen (es war ein langer Tag…).

In welcher Form liegen die verarbeiteten Daten vor und gibt es eine Möglichkeit, sie in Markdown oder HTML zu konvertieren? Danke.

Ich habe in meinem ersten Beitrag einen Fehler gemacht, der inzwischen korrigiert wurde. Ich bitte um Entschuldigung.

1 „Gefällt mir“

Ah, das ergibt mehr Sinn. Das Feld cooked ist das aus Markdown gerenderte HTML.

Sie können das einfach durch pandoc laufen lassen, um Markdown zu erhalten; Sie werden keine vollständige Wiedergabetreue zum entsprechenden raw erhalten, da es einige nicht standardmäßige Markdown-Tags wie [quote] gibt, die zu bestimmten HTML-Mustern gerendert werden, aber wenn Sie einfach den Inhalt als Markdown benötigen, sollte pandoc gut genug funktionieren.

3 „Gefällt mir“

Vielen Dank. Ich werde mich sofort darum kümmern.

Ich gehe davon aus, dass die Postdaten (Inhalt) tatsächlich als Markdown in der Datenbank gespeichert sind?

Beides, hier ist ein Beispiel:

 #<Post:0x00007fbb78416f50
 id: 2203,
 user_id: -4,
 topic_id: 590,
 post_number: 6,
 raw: "\"@merefield, it looks like @eloy has mentioned that their favourite colour is red!\"",
 cooked:
  "<p><a class=\"mention\" href=\"/u/merefield\">@merefield</a>, it looks like <a class=\"mention\" href=\"/u/eloy\">@eloy</a> has mentioned that their favourite colour is red!</p>",
 created_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,
 updated_at: Sun, 18 Aug 2024 11:15:32.487912000 UTC +00:00,
2 „Gefällt mir“