Facebook-Archiv in WordPress publizieren II

In den Beiträgen Facebook-Archiv sichern, Facebook-Archiv publizieren, und Facebook-Archiv in WordPress publizieren wurde gezeigt, wie man Daten aus Facebook exportiert, diese publiziert oder wie man sie in WordPress in einem Frame einbettet. Bei dieser Einbettung bleibt die Formatierung bestehen, der eingebettete Inhalt schaut so aus, wie es durch Facebook festgelegt wurde.

Diese Einbettung hat aber zwei Nachteile:

  • Der Inhalt muss in dem Fenster mit einer eigenen Laufleiste verschoben werden
  • Die Suche in WordPress nach einem konkreten Text funktioniert nicht, weil WordPress diese externen Inhalte nicht ist seine Suche integriert.

Damit der Text aus Facebook auch in WordPress durchsucht werden kann, darf man den Text nicht verlinken, sondern man muss ihn in die WordPress-Seite kopieren. Davor muss aber das Html-Dokument bearbeitet werden, damit die Formatierung zum WordPress-Thema passt und auch die Links zu den Bildern weiterhin funktionieren.

Block Html

WordPress verwendet einen Block-Editor. Man gibt keinen Fließtext ein, sondern Blöcke. Es gibt die Blöcke “Überschrift”, “Absatz”, “Aufzählung”, “Bild”, Galerie” und viele andere. Der eigentliche Inhalt wird in den Block eingegeben. Der Block “Html” erlaubt die Eingabe eines beliebigen Html-Code, sogar ganzer Html-Dokumente.

Format eines Facebook-Archivs

Exportiert man aus Facebook einen bestimmten Zeitraum, werden alle Dateien in einer Ordnerstruktur gespeichert. Praktischerweise exportiert man die Inhalte verschiedener Jahrgänge. in Ordnern facebook/2008, facebook/2009... facebook/2021.

Die Datei mit allen Beiträgen findet man im Pfad /posts/your_posts_1.html, Alle Verweise zu Bilder in dieser Datei befinden sich im Ordner /photos_and_videos/.

Relative und absolute Adressen

Alle Verweise zu Bildern in der Datei your_posts_1.html sind relativ und beziehen sich auf die exportierte Ordnerstruktur. Alle adressierten Pfade müssen sich in dem Ordner befinden, in dem sich auch die Datei your_posts_1.html befindet. Es steht dort also src="/photos_and_videos/bild.jpg". Aber die exportierten Inhalte werden in Jahrgangsordnern gespeichert und befinden sich darüber hinaus in einem virtuellen Ordner, zum Beispiel data, außerhalb des WordPress-Ordners, also /data/facebook/2008/.

Damit Bilder korrekt dargestellt werden, muss man also alle Vorkommen von src="/photos_and_videos/ durch src=" http://fiala.cc/data/facebook/2008/photos_and_videos/ ersetzen, und das natürlich in jeder Jahrgangsdatei. Die mit “http” beginnende Adresse ist eine absolute Adresse. Eine solche Adressangabe ist unabhängig von Speicherort.

Beispiel (mein erstes in Facebook publiziertes Bild)

Facebook-Export unverändert einfügen

Nach einigen Versuchen hat sich gezeigt, dass es möglich ist, das Html-Dokument your_posts_1.html in einen Html-Block einzufügen, ohne dass es dabei zu syntaktischen oder Problemen der Darstellung kommt. Das ist bemerkenswert, weil üblicherweise der Kopfteil eines Html-Dokuments und das body-Tag einem fremden Dokument nichts verloren haben. Die direkte Einbettung hat folgende Wirkung:

  • Die aus Facebook stammende Formatierung in StyleSheets des Kopfteils bleibt unverändert erhalten
  • Die Links zu Bildern gehen ins Leere, weil die aus Facebook exportierten Dateien sich nicht im WordPress-Ordner befinden

Man muss also durch ein “Suchen und Ersetzen” in der Datei your_posts_1.html die Verweise zu Bildern korrigieren.

Facebook-Formate löschen

Die Facebook-Formatierung in blauer Farbe passt aber nicht zu jedem WordPress-Thema und man kann versuchen, aus dem Html-Dokument ein Html-Fragment zu machen. Es sind zwei Schritte durchzuführen:

  • Tags html, head (und sein Inhalt), body entfernen
  • Attribute id, class und einige andere entfernen
  • Bilder auf einheitliche Breite (z.B. 640 px) formatieren

Mit diesen Maßnahmen übernehmen die eingefügten Inhalte das Format vom jeweils eingestellten Thema.

Nachdem man diesen Vorgang für jedes Facebook-Konto und für jeden Jahrgang wiederholen muss, wurden für diese Editiervorgänge ein PowerShell-Programm geschrieben (siehe Links). Das Programm öffnet die Datei your_posts_1.html, führt optional die Bearbeitungen, also das Ersetzen der relativen Pfade durch absolute Pfade und Löschen der Facebook-Formate und speichern in der Datei your_posts_1_era.html.

Html-Fragment einfügen

Man öffnet die Datei your_posts_1_era.html und kopiert den Code in einen Html-Block einer neu erstellten Seite in WordPress.

Beispiele

Facebook-Konto Wolfgang Kremser https://www.facebook.com/wolfgang.kremser.735

Facebook-Jahrgang 2018, importiert in WordPress
http://kremser.clubcomputer.at/facebook-1/2018-2/

Facebook-Konto Franz Fiala https://www.facebook.com/franz.fiala

Facebook-Jahrgang 2008, importiert in WordPress
http://fiala.cc/franz/aktuell/facebook/facebook-2008/

Besonderheiten beim Suchen

So ein Jahr mit Facebook kann ziemliche Inhalte produzieren. Und das alles landet in einer einzigen WordPress-Seite. Der Jahrgang 2020 ist in einer Html-Datei mit 600 kB enthalten. Dazu kommen 9 MB an Bildern. Sucht man nun einen Begriff über die WordPress-Suche und wird ein Treffer auf dieser Seite angezeigt, muss man die Größe dieser Seite mitberücksichtigen. Das bedeutet, dass man den Link aus der Suche öffnet und danach die Suche noch einmal auf der Seite selbst durchführt.

Bei besonders voluminösen Jahrgängen könnte man eine weitergehende Unterteilung in Jahreszeiten oder Monate erwägen.

Links

Zur Werkzeugleiste springen