Aneamal-Version 29
Auf dieser Seite stelle ich ausgewählte Neuerungen der Version 29 des Aneamal-Übersetzers vor. Eine komplette Liste der Änderungen gibt es an anderer Stelle.
Für neue Installationen steht Version 29 des Aneamal-Übersetzers zum Herunterladen bereit.
Wenn du bereits eine ältere Version von Aneamal nutzt, findest du am Ende dieser Seite extra Downloads und Hinweise zum Aktualisieren:
Bilder und Videos
Im Mittelpunkt der neuen Aneamal-Version stehen Bilder und Videos. Vor allem sollen Seiten, die reich an visuellen Medien sind, effizient übertragen werden. Von einem optimierten Ladeverhalten profitieren nicht nur Besucher mit begrenztem Datenvolumen, es tut auch der Suchmaschinenplatzierung gut und ermöglicht dem Server, mehr Leser in gleicher Zeit zu bedienen.
Das sind einige Verbesserungen in diesem Bereich:
- Zurückhaltendes Laden von Bildern (lazy loading)
- Bilder, die weit außerhalb des im Browser sichtbaren Bereiches liegen, werden noch nicht geladen. Erst wenn ein Leser in ihre Nähe scrollt, werden sie geladen.
- Progressiv kodierte Vorschaubilder
- Statt ein Bild in voller Qualität Zeile für Zeile zu laden, wird zunächst das ganze Bild in geringer Qualität geladen und die Detailgenauigkeit dann Schritt für Schritt vergrößert. Bei identischem Endergebnis bekommt man so auch bei langsamer Internetverbindung schnell einen Eindruck vom ganzen Bild. Oft ist das Laden des JPEG-Bildes außerdem ein wenig schneller abgeschlossen.
- Optimierte Vorschaubilder bei Videos
- Wenn zu einem Video ein Bild hinterlegt ist und beide vom Aneamal-Übersetzer lokal gelesen werden können, wird aus dem Bild ein an die Videogröße angepasstes Vorschaubild generiert. Falls du das nicht möchtest, kannst du für das Bild eine absolute Adresse angeben (https://…). Der Aneamal-Übersetzer kann WebM- und MP4-Videogrößen auslesen.
- Kein vorauseilendes Laden von Videos (no preload)
- Videos mit hinterlegtem Bild werden im Browser nicht mehr zu Teilen im Voraus geladen, sondern erst, wenn das Video abgespielt wird.
- Per EXIF-Informationen gespiegelte Bilder
- Vorschaubilder können nun auch korrekt für Fotos erstellt werden, in deren EXIF-Informationen eine Anweisung zur Spiegelung steckt. Laut EXIF-Informationen zu drehende Bilder wurden bereits unterstützt.
Links
Bei Links gibt es einige Möglichkeiten mehr, wodurch die Syntax auch konsequenter wird.
Links ohne Adresse
Es kann im Text nun auch ein Linkpfeil ->
gesetzt werden, auf den keine Adresse folgt. In Metadaten war das bereits möglich. Man kann sich so zum Beispiel eine Stelle markieren, wo später noch eine Adresse eingefügt werden soll, aber auch andere Anwendungen sind möglich. Folgendes Beispiel stellt einen kleinen Navigations-Bereich dar, mit dem man zur vorigen und zur nächsten Seite in einer Reihe von Seiten navigieren kann. Dazwischen ist die aktuelle Seitenzahl mit einem Linkpfeil ohne Ziel-Adresse markiert.
`vorige Seite`->/5 • `Seite 6`-> • `nächste Seite`->/7
Beim Übersetzen in HTML wird die aktuelle Seite dann zwar in ein <a>
-Element gefasst, aber jenes erhält kein href
-Attribut. Dies kann für die Gestaltung mit CSS hilfreich sein.
Prozent-kodierte Daten-URIs
Außer base64-kodierten Daten-URIs können nun auch prozentkodierte Daten-URIs verwendet werden. Beachte aber, dass verbreitete Browser heutzutage das Navigieren über einen Link zu einer Daten-URI im Browserfenster leider verweigern. Das Einbinden von Daten seitens des Aneamal-Übersetzers wie im folgenden Beispiel funktioniert aber:
[t]->data:text/plain;charset=UTF-8,Das%20Rotk%C3%A4ppchen
Vereinfachte Kodierung seiteninterner Links
Für seiteninterne Linkziele wie #Rotkäppchen
und Links wie ->#Rotkäppchen
wird eine Adresse (URL) mit einem URL-Fragment erzeugt. Weil dieses Umlaute und zahlreiche Sonderzeichen nicht enthalten kann, werden solche Zeichen kodiert. Diese Kodierung wird vereinfacht: Einerseits wird der Buchstaben x nicht mehr zur Kodierung anderer Zeichen verwendet, andererseits ist der Buchstabe x damit selbst kein Sonderzeichen mehr und wird unkodiert übernommen. Beispiele:
Aneamal | URL-Fragment alt | URL-Fragment neu |
---|---|---|
#Rotkäppchen |
rotkxc3xa4ppchen | rotkc3a4ppchen |
#Hexe |
hex78e | hexe |
Neue Verzeichnisse
Im aneamal-Verzeichnis werden nun die Ordner public und private für automatisch erstellte Dateien wie Vorschaubilder und Cache-Dateien genutzt. Die neuen Ordner public und private machen damit die alten Ordner cache und pix obsolet.
Alt:
- aneamal
- cache
- pix
Neu:
- aneamal
- private
- public
Bei der Änderung geht es aber nicht einfach um eine Umbenennung. In den neuen Ordnern werden Dateien nicht mehr direkt abgelegt, sondern in Unterordnern organisiert. Auch Module können hierin ihre eigenen Unterordner anlegen. So kann man zukünftig beispielsweise den HTML-Cache leicht löschen, ohne dabei versehentlich die Datenbank eines Moduls wie der Suchmaschine Mouse zu tilgen.
Für die Ordner private und public müssen Aneamal Schreibrechte gewährt werden.
Beschreibung von Dateien
Aneamal 29 erlaubt, auch für mit [a]
eingebundene Aneamal-Dateien und mit [t]
eingebundene Text-Dateien kurze Beschreibungen nach einem Doppelpunkt innerhalb der eckigen Dateiklammern anzugeben, beispielsweise:
[a:Gedicht „Bäume“ von Max Mustermann]->baeume.nml
Damit können solche Beschreibungen nun für alle Dateitypen angegeben werden. Die Beschreibungen sind optional und dienen als kurze Erläuterung für den Fall, dass die verknüpfte Datei nicht zugänglich ist. Im Fall von Bildern können blinde Leser die visuelle Darstellung beispielsweise nicht sehen, aber sich die ansonsten versteckte Beschreibung vorlesen lassen.
Mindestanforderung PHP 7.4
Mit dieser Aneamal-Version springt die offizielle Mindestanforderung auf PHP 7.4. Du solltest sowieso PHP 7.4 oder neuer einsetzen, denn PHP 7.4 ist die älteste PHP-Version, die zum Zeitpunkt der Veröffentlichung von Aneamal 29 noch Sicherheits-Aktualisierungen erhält.
Aktualisieren ohne die Suchmaschine Mouse
Aneamal 27/28 → 29
Vergewissere dich vor dem Aktualisieren, dass PHP mindestens in der Version 7.4 auf deinem Webspace läuft. Lege eine Sicherheitskopie deines aneamal-Ordners an.
- Lade das aneamal-29-update.zip herunter und entpacke die ZIP-Datei.
- Lade den Inhalt des entpackten Ordners in dein aneamal-Verzeichnis hoch, sodass darin die Dateien func.php, html.php, main.php überschrieben werden und die Ordner private und public angelegt werden. Der Aneamal-Übersetzer benötigt Schreibrechte für diese beiden Ordner.
- Im Verzeichnis /aneamal/private liegt eine Datei htaccess.txt – benenne sie dort auf deinem Server in .htaccess um. Das verhindert Zugriffe von außen auf den Ordner private.
Du kannst nun den Ordner cache und, falls du keine Bilder darin verlinkt hast, auch den Ordner pix aus deinem aneamal-Verzeichnis löschen.
Aktualisieren mit der Suchmaschine Mouse
Aneamal 27/28 → 29 und Mouse 1 → 2
Vergewissere dich vor dem Aktualisieren, dass PHP mindestens in der Version 7.4 auf deinem Webspace läuft. Lege eine Sicherheitskopie deines aneamal-Ordners an.
- Lade das aneamal-29-mouse-2-update.zip herunter und entpacke die ZIP-Datei.
- Lade den Inhalt des entpackten Ordners in dein aneamal-Verzeichnis hoch, sodass darin die Dateien func.php, html.php, main.php und der Ordner x-mouse überschrieben werden und die Ordner private und public angelegt werden. Der Aneamal-Übersetzer benötigt Schreibrechte für die Ordner private und public.
- Im Verzeichnis /aneamal/private liegt eine Datei htaccess.txt – benenne sie dort auf deinem Server in .htaccess um. Das verhindert Zugriffe von außen auf den Ordner private.
- Benutze deine Mouse-Suchmaschine einmal. Dadurch werden alte Daten in die neue Mouse-Struktur importiert.
Du kannst nun den Ordner cache und, falls du keine Bilder darin verlinkt hast, auch den Ordner pix aus deinem aneamal-Verzeichnis löschen.
Es gibt eine kurze Beschreibung der Neuerungen in Mouse 2 hier. Beachte aber, das einige der neuen Mouse-Funktionen erst klappen, wenn Mouse deine Website neu indiziert hat. Das wird je nachdem, wie oft du den Crawler zum Beispiel per Cronjob aufrufen lässt, einige Zeit dauern.
Dank
Dank an David für Motivation, Meinungen und Austausch.