Hier mal meine erste umfangreichere Erweiterung für Contao: Site-Export
Mit dieser Erweiterung lassen sich die Artikel ganzer Seitenbäume als einzelne HTML-Dateien oder als E-Book (Epub) exportieren. Anwendungsmöglichkeiten sind:
- Seiten für die Offline-Nutzung exportieren
- Seiten für die Nutzung in anderen Anwendungen (bspw. mobile Apps für iPhone und Co.) exportieren
- Epub E-Books von bestehenden Seiten erzeugen
Denkbar ist auch der Einsatz als E-Book-Publishingsystem. Durch die ausgefeilte Rechteverwaltung von Contao können ja verschiedene Autoren an ihren Artikel/Kapiteln eines Buchs gemeinsam arbeiten und dieses Buch lässt sich dann zentral als Epub exportieren.
Export-Set
Im Export-Set definiert man das Export-Verzeichnis und wählt die zu exportierenden Seiten aus. Für jedes Export-Set lässt sich ein extra Layout definieren, so dass die Seiten unabhängig vom Webseitenlayout frei exportiert werden können. Auf Wunsch wird automatisch ein eingerücktes oder flaches Inhaltsverzeichnis (toc.html) erstellt. Dabei wird die Struktur komprimiert, so dass keine Lücken entstehen, wenn in der Seitenstruktur nicht alle Ebenen enthalten sind.
Epub
Soll aus den exportieren Seiten ein Epub erzeugt werden, können dazu ein Cover-Bild und weitere notwendige Informationen wie bspw. Titel, Beschreibung, ID, Autor oder Sprache definiert werden.
Wichtig ist, dass dazu auf jeden Fall ein extra Layout angelegt und eingebunden wird, welches der Epub-Definition entspricht.
Ersetzungsregeln
Zu jedem Export-Set können beliebig viel Exportregeln angelegt werden, mit denen die Seiten vor dem Export noch angepasst werden können. Die Regeln können einfache Ersetzungen oder reguläre Ausdrücke enthalten. So können damit zum Beispiel bestimmte Inhaltselemente entfernt werden, die nicht mit im Export enthalten sein sollen. Mit diesem Suchmuster und einem leeren Ersetzungsausdruck wird bspw. das Inhaltselement Artikelliste komplett aus dem Export entfernt:
Als Modifikatoren sollten i m s und U gesetzt werden.Code:<(nav|div) class="ce_article_list block">(.*)</(nav|div)>
Export
Beim Export werden im ersten Schritt die zu exportierenden Seiten angezeigt. Im zweiten Schritt werden schon vorhandene Dateien im Export-Verzeichnis gelöscht und die ausgewählten Seiten exportiert.
Die Seiten werden alle ins Export-Verzeichnis geschrieben und die Dateinamen werden aus dem Alias generiert. Eingebundene Bilder und Stylesheets werden automatisch mit exportiert und die Verweise werden angepasst. Auch werden interne Links so weit wie möglich an die lokale Struktur angepasst.
Epub-Export
Im dritten Schritt kann dann das Epub erstellt werden. Die notwendigen Verzeichnisse und Dateien werden dazu automatisch generiert:
- mimetype
- OEBPS/toc.ncx
- OEBPS/content.opf
- META-INF/container.xml
Das Inhaltsverzeichnis wird natürlich auch gefüllt.
Anmerkungen
Es handelt sich um eine erste Alpha-Version der Erweiterung. Fehler sind garantiert noch vorhanden und somit ist Vorsicht bei der Nutzung geraten. Wichtig ist, dass im Export-Verzeichnis keine anderen Daten enthalten sind, da diese immer vor dem Export gelöscht werden.
Fehler melden
Fehler oder Feature-Request bitte im entsprechenden Projekt bei Contao-Forge melden.
site_export.jpg
Lesezeichen