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.

Meta-Links bei Dateien

Beim Einbinden von Dateien kann nun auch ein Meta-Link genutzt werden, wie in dem folgenden Beispiel. Meta-Links konnten in der Vergangenheit schon für Verknüpfungen mit Link-Text genutzt werden.

@Bild: ->/2020/wolf.png

[i]->@Bild

Seiteninterne Links in Meta-Deklarationen

In den Metadaten deklarierte Links können nun auch auf ein mit # markiertes Ziel in derselben Seite verweisen. Beispiel:

@M5: ->#`Das Rotkäppchen`

Wie wir im `fünften Märchen`->@M5 lesen werden, …

--- #`Das Rotkäppchen` ---

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.

  1. Lade das aneamal-29-update.zip herunter und entpacke die ZIP-Datei.
  2. 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.
  3. 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.

  1. Lade das aneamal-29-mouse-2-update.zip herunter und entpacke die ZIP-Datei.
  2. 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.
  3. 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.
  4. 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.