Leicht - Kompakt
hosentaschenblog.org

20 September 2023 - Die :visited Problem Lösung

Man kann viel lernen, wenn man bereit ist viele Fehler zu machen.

Neulich erst schrieb ich davon, wie ich ein weiteres Detail am Blog verändern wollte. Ich spreche von der farblichen Gestaltung der bereits aufgerufenen Links. Dabei fielen mir natürlich wieder Dinge auf, die ich in der Vergangenheit falsch gemacht hatte. Genauer gesagt, ich hatte Strukturen aufgebaut, die sich mit anderen Dingen beißen. Wer den Beitrag nicht gelesen hat, findet diesen in den Quellen.

Der Stolperdraht, von dem ich spreche und der die Sache wieder unnötig kompliziert machte, brachte wieder ein paar Entscheidungen und Änderungen mit sich, aber zunächst mal auf Anfang. Ich hatte irgendwann in Alex 1 Blog bemerkt, dass seine Artikel nach dem Öffnen genau dort starten, wo die Einleitung auf der Startseite endet. Das habe ich gerne übernommen, weil es schon einen kleinen Vorgeschmack auf den Artikel gibt und der Leser nach dem Öffnen nicht gezwungen wird, die Einleitung noch einmal zu lesen. So weit so gut, bis man was neues anfängt.

Ich bin kein gelernter Programmierer, schreibe wie ihr wisst den gesamten Code des Blogs selbst, nutze kein CMS wie Word Press und ähnlichem. Kurz, ich mache viele Fehler, die andere vor mir gemacht haben, ohne von deren Erfahrungen und Lösungen zu profitieren. Es gibt einfach etwas, das nennt man guten Stil. Strukturen, die man auf gewisse Weise umsetzt, weil sie so ineinander greifen und die Sache rund werden lassen. Das alles habe ich nicht, oder besser, ich wusste vieles nicht. Also lerne ich vieles auf die harte Tour, was echt viel Arbeit bedeuten kann. Mit einer der Gründe, warum viele Menschen fertige Lösungen nutzen. Die haben solche Probleme gar nicht. Aber, sie lernen auch nichts dabei. Sie verstehen die Hintergründe nicht und haben daher selbst auch nur wenig Einfluss. Die meisten wollen das auch nicht, es soll einfach nur funktionieren. Ich habe mich aber von Anfang an für diesen Weg entschieden und so kommt es nun, dass ich zuletzt viele Stunden in Änderungen an einer gewachsenen Struktur investiert habe. Dazu werde ich einen eigenen Artikel schreiben.

Soviel dazu, nun zum eigentlichen Problem. Ich hatte geschrieben, dass interne Verlinkungen unter bestimmten Umständen auch nach einem Aufruf nicht als gelesen markiert wurden. Das lag ganz einfach an der Art und Weise der Verlinkung, aber auch an der Struktur des Blogs.

Damit alle Artikel wie bei Alex nach dem öffnen ab dem zweiten Absatz beginnen konnten, hatte ich diesen einfach mit einer ID (Identifikationsnummer) versehen. Das sah dann so aus:

beispiellink.html#1

Solange man nun nur von der Startseite in den Artikel und von dort in den dazugehörigen Themenbereich wechselte, war alles in Ordnung. Wechselte man aber am Ende eines Artikels in einen weiteren und von dort aus in dessen Themenbereich, wurde letzterer in der Übersicht nicht farblich markiert angezeigt. Obwohl man ihn gerade erst gelesen hatte.

Das Problem liegt in der Art der Verlinkung. Da ich die Verwandten Artikel am Ende eines Artikels nicht ab dem zweiten Absatz, sondern ab der ersten Zeile verlinke, konnte ich keine ID verwenden. Sonst hätte der Leser jedes Mal nach oben scrollen müssen um die Einleitung zu lesen. Der Link sieht dann so aus:

beispiellink.html

Wie man sieht fehlt nun die ID, #1, am Ende des Links. Da ich nur HTML nutze, ohne JavaScript, ohne CMS, habe ich nun ein Problem. HTML ist eine statische Programmiersprache, für die die beiden genannten Links zwei völlig unterschiedliche Dinge darstellen. Sogenannte Wildcards, *, gibt es nicht. Das war mein erster Gedanke, ganz einfach die bis auf die ID identischen Links wie folgt anzusprechen:

beispiellink.html*

Das mag mit anderen Programmiersprachen funktionieren, mit HTML geht es nicht. Wer nicht weiß was Wildcards sind, in den Quellen befindet sich ein Link 2, der genauer darauf eingeht.

Schwarz Weiß Aufnahme eines streifigen Wolkenhimmels. Darunter in Schwarz die Konturen von verschiedenen Gebäuden und einem Baum.

Nun musste ich harte Entscheidungen treffen. Ich wusste, egal was ich versuche, es bringt viel Arbeit mit sich. Ich hatte sogar kurz darüber nachgedacht, meine Prinzipien aufzuweichen und JavaScript's einzubauen. Das wollte ich aus unterschiedlichen Gründen aber nicht. Daher hatte ich den Einfall zu schauen wie andere das lösen. Bei meiner Suche kam ich recht schnell auf die Webseite der Tagesschau, wo ich den Ansatz zu meiner Lösung fand. Dort wird, genau wie hier, erst eine kleine Einleitung geliefert, dann wird ab der ersten Zeile verlinkt. Die Einleitung wird auch dort noch einmal angezeigt, allerdings anders formatiert. Der regelmäßige Leser weiß nun, die Einleitung ist im Artikel genau gleich, sieht aber anders aus. So kann man sie optisch gut vom Rest des Artikels unterscheiden und diese überspringen, ohne Informationen zu verpassen.

Durch diese Umsetzung konnte ich alle ID's in den Links entfernen, womit nun alle bereits aufgerufenen an jeder Stelle des Blogs brav farblich unterschieden werden, was dem Leser die Trennung deutlich vereinfacht. Bluefish hilft dabei wirklich sehr, auch darauf werde ich im angekündigten Artikel genauer eingehen.

Und natürlich blieb es nicht dabei, denn wenn ich schon mal dran bin schaue ich natürlich auch noch nach zig anderen Sachen.

Wenn aber ein Wort in den letzten Wochen der Änderungen hängen geblieben ist, dann ist es Struktur. Um Dinge schnell und einfach umsetzen zu können braucht es Struktur, Struktur und wieder Struktur. Jedes Projekt wächst, auch das Hosentaschenblog. Mit inzwischen bald 600 Seiten ist es gar nicht mehr so klein, wie man meinen könnte. Wenn man da nicht peinlich genau auf die Trennung verschiedener Bereiche und einem klaren Aufbau achtet, ist man bei Änderungen arm dran. Selbst schuld könnte man meinen, aber wenn man wie ich die Dinge von klein auf lernt bleibt das einfach nicht aus. Ich habe verdammt vieles in den letzten x Stunden gelernt und will das auch nicht missen.

Auf diese Dinge und einiges mehr gehe ich im angekündigten Artikel ein, darin wird einiges klarer werden. Vieles erweckt im Nachgang den Eindruck, als sei die Umsetzung nicht bis zum Ende durchdacht gewesen. Aber wie kann man etwas minutiös planen, wenn man keine Ahnung hat wie dieses Ende überhaupt aussehen soll! Man ist der Meinung sauber zu arbeiten und ordentliche Strukturen zu schaffen, bis man sich weiterentwickelt. Dinge entwickeln sich weiter, plötzlich tun sich neue Möglichkeiten auf. Mit einem Mal wird ein gut gepflegt geglaubtes Projekt zur Baustelle. Ich denke dabei an Webseiten, die irgendwo mittendrin einfach komplett alles über den Haufen geworfen haben, alte Strukturen einfach Archiv nennen und ab einem gewissen Punkt alles anders machen. Wieder ein Punkt für CMS. Das könnte ich auch, will ich aber nicht.

Quellen:

aplhathiel · Alex Blog

wiki.ubuntuusers.de · Wildcards

Verwandte Artikel:

14 September 2023 - Das :visited Problem

03 September 2023 - Dunkelmodus für das Blog

Themenbereich Blog