11.05.2009: Weave

Schon länger fertig: Die Website der Weave (online seit 29.04.2009).
Ich wollts an dieser Stelle aber auch noch mal verkündigen. ;)

Nochmal ein paar Dinge zum technischen Background:

  • Antrieb: WordPress 2.7.1 2.9.x mit allerhand ausgesuchten Plugins, über die ich bei nächster Gelegenheit sicher noch einen kurzen Artikel verfassen werde (z.B. das Audioplayer-Plugin,TinyMCE Advanced, MM Forms oder Search Unleashed)
  • Design: An sich war das aktuelle Weave Theme als Child-Theme für Modicus-Remix gedacht, ich habe den Unterbau aber so stark verändert (komplett umgestellt auf das blueprint-CSS-Framework, Version 0.8), dass das Original-Theme allenfalls visuell noch durchklingt
  • Dauer: Ich habe selten eine Website in diesem Umfang in so kurzer Zeit mit dennoch so wenig echten Problemen umgesetzt - innerhalb von 3 Wochen stand das gesamte System; dafür bin ich anfangs extra eine Woche vor Ort, d.h. nach Hamburg gekommen

Hinweis: Wurde seit April 2009 kontinuierlich weiterentwickelt.

URL: http://www.weave.de

13.12.2008: Accessibility gone wrong

Die Bahn hat ihre Website erneuert - und gleichzeitig natürlich auch ihre Bahnauskunft.

Leider hat die ein paar gewaltige Riesnhornochsereien in Sachen "Barrierefreiheit". So spuckt das System völlig falsche Daten aus, sobald man JS deaktiviert. Nur wer sämtliche nicht-relevanten Felder entleert, bekommt ein korrektes Ergebnis.

Da hat jemand wohl den Begriff "unobtrusive Javascript" völlig falsch verstanden, deshalb wiederhole ichs hier kurz noch mal: Unobtrusive Javascript bedeutet, dass man die Anwendung erstmal problemlos OHNE JS benutzen kann, danach werden verschiedene schnicke Zusatzfunktionen mittels JS ergänzt.

Und im Textbrowser sieht die Sache noch viel schlimmer aus - eine "skip-navigation" ist zwar eingebaut, funktioniert aber nicht, da die Sprungmarken falsch gesetzt sind. Getestet mit w3m und links2.

Letzter Punkt: Die "Details einblenden"-Buttons funktionieren teilweise nicht bzw. nur erst dann, wenn man sich sowieso bereits in der Detailansicht befindet und weitere Verbindungen mittels des "Später"- oder "Früher"-Links heraufbeschwört. WTF?!?

Natürlich alles schön im debilen Web ZwoTot-Style mit viel Blingbling, aber wenig SinnSinn gehalten. Argh! X-(

Ich glaub, ich bau mir jetzt meine eigene Bahnauskunft .. genug des Trauerspiels - ist ja total lächerlich geworden ...

06.10.2008: JavaScript: Find out if function exists

I've been working on a site concept which involves several pure HTML- and Javascript-based pages, to be uses as mere demonstrational material. While adding several niceties like modal windows based on my fork of Thickbox, ie. Thickbox Redux, I've stumbled over some strange errors Firebug throw out during the document load process.

Thus I had to implement some kind of "if function exists"-magic to avoid getting errors on the debugging console (not to mention that this properly might have side-effects like totally disabling my JS efforts at all and similar worst-case scenarios) - which is quite hard to find out, I have to say.

Simple, but effective solution is as follows:

if(typeof yourFunctionName == 'function') { yourFunctionName(); }

Found via Idealog: Check if a Javascript Function Exists or Is Defined and (Paul Bennett) Javascript: checking if a function exists.

17.09.2008: jQuery-based charts

Bookmark: Creating accessible charts using canvas and jQuery - nette Methode das.

16.09.2008: Mein Starterkit

Eine Antwort auf Peter Kröners "Das Website-Starterkit" - ursprünglich als Kommentar gedacht. Ist mir dann aber zu groß ausgefallen, ergo: Eintrag ;)

Mein "Starterkit" ist deutlich reduzierter:

HTML schreibe ich immer noch per Hand - meist darf das Header-Template von fwolf.info für den Dateianfang herhalten.

Datei- und Verzeichnisstrukturen entstehen je nach Anforderungen. Immer mit dabei: ein Include-Verzeichnis namens includes/. Dorthin kommt u.a.:

Der Meyer'sche Reset liegt bei mir unter /inst/scripts/css/ herum und wandert von dort nach Bedarf ins Verzeichnis includes/, oder, wenn mehr zu tun ist, ins Verzeichnis includes/css/. Weiterhin gestellt sich gerne auch die clearfix.css hinzu. Und je nach Ausbauform auch gerne mal ein thickbox.css.

Bei einfachen Websites kommt nun nur noch ein Verzeichnis namens images/ hinzu, das war's dann auch schon. Komplexere Varianten enthalten dann noch ein includes/js/-Verzeichnis, in welches in 90% der Fälle ein (aktuelles) jquery.pack.js oder jquery.min.js kopiert wird, ebenso wie ich dort fast 100%ig eine Datei namens custom.js anlege, welche eben "custom"-Scripts und Settings enhält.

12.09.2008: jQuery collumn select

Note to self:

$('.row-col1').hover( function() { $('.row-col1').attr('style', 'background-color: #fe0;'); }, function() { $('.row-col1').attr('style', ''); }