Kategorien
Allgemein Projekte

IN-LIVE Cocktail-Schule – mein erstes Projekt mit Astro

Ich hatte ja schon lange vor, mal ein realistisches Projekt mit Astro umzusetzen. Mein langjähriger Freund und Trauzeuge hat, nachdem wir schon länger darüber gesprochen hatten, seine Seite mal zu verbessern, das ganze vertrauensvoll in meine Hände gelegt.

Seine Seite ist eigentlich eine reine Marketing-Seite, so dass der Inhalt zu 90% statisch ist und bleiben kann – ein fast perfektes Szenario für das Astro Content Layer.

Also erstmal überlegen, was man mit den restlichen 10 Prozent macht. Meine erste Idee war, dass ein CSV hochgeladen und geparst wird. Das hat sich in einem ersten Test als nicht sehr bedienerfreundlich entpuppt. Ein Google Sheet als API, wie ich es damals bei dem Gamingbooster gemacht habe, ist hier in diesem Kontext leider auch schwierig aufgrund der Startup-Zeiten bei der Google API.

Letztendlich sind wir dann bei Contentful gelandet, das Free Tier ist mehr als ausreichend für den Veranstaltungskalender. Und später dann vielleicht auch noch ein bisschen mehr.

Die Buchungen der Cocktailkurse etc. werden durch externe Bookingwidgets eines Anbieters dafür erledigt, diese sind als custom-elements umgesetzt und können ohne Probleme auch auf der neuen statischen Website eingebunden werden.

Astro 4 und Astro 5

Da ich aufgrund externer Umstände recht lange mit dem Projekt beschäftigt war, ergab sich der glückliche Umstand, dass ich bei ca. 50% der Fertigstellung auf Astro 5 Beta und bei ca. 90% auf Astro 5 ‘gold’ wechseln konnte.

Das war ein mega Boost für das Projekt, der Change im Content Layer hat weniger Probleme gemacht als gedacht, alle MDX-Files sind sauber typisiert und durch die neuen Relations ist der Content auch besser in sich aufgebaut (und queryable).

Dazu die neuen Responsive-Images und das Image-Cropping in den astro:asset Features – Ein Traum und bezahlt gleich 2 der 4 grünen 100er Ringe bei Lighthouse.

Screenshot der Lighthouse-Untersuchung

SEO

Natürlich darf eine Optimierung für eine solche Seite nicht fehlen:

  1. Sauber strukturierte Überschriften / Listen und Navigationen – was man seit den 90ern schon als “semantisches HTML” kennt.
  2. Title, Descriptions, alt-Attribute und Co.
  3. Korrekte Statuscodes

Accessibility

Wer mich kennt, weiß, dass ich da sehr nervig sein kann. Das BFSG steht vor der Tür, also haben wir das gleich mit berücksichtigt: Das Design ist nicht nur responsive, es ist auch tastatur-navigierbar. Kontraste etc. wurden alle mit WebAIM dauerhaft geprüft und angepasst. Die Bilder haben alle alt-Texte, wenn notwendig oder explizit keinen, wenn es nur Design-Bilder sind.

Komponenenten, die eigene Überschriften enthalten können die korrekten Heading-Level von außen mitgegeben bekommen, so dass sie universeller einsetzbar sind. Sinnvolle Überschriften sind schließlich auch ein Thema beim BFSG, ebenso wie die anderen semantischen Themen.

Die FAQ-Akkordeons z.B. sind per custom-element erweiterte Definition Lists, die diese Frage-Antwort-Hierarchie schon abbilden.

Deployment

Mittlerweile gibt es 2 Versionen der Seite, eine Version die bei Netlify auf Basis des Develop-Branches gebaut wird, eine Version die per Gitlab Runner gebaut und dann auf dem finalen System deployed wird. So haben wir Gitlab als generelles Preview und Feature-Branches und ein sauberes Deployment auf einem komplett anderen Host.

Die Zukunft

Spannend wird es, wenn man sich überlegt, dass man die Content-Pflege in Zukunft auf ein Headless-CMS übernehmen kann und mit der Content-Struktur weiterarbeiten kann oder dann ggf. irgendwann mehr Interaktion in die Seite kommt. Ich bin gespannt, was da noch kommt.

Kategorien
Wochenbericht

Wochenbericht 2023.03

Ein verspätetes “Frohes Neues”. Das Jahr fing aus privaten Gründen schon mal spannend an, mal schauen wie die Schlagzahl hier dieses Jahr funktioniert.

  1. Freebie: Atlas Icons mit > 2300 Icons unter MIT Lizenz
  2. How to animate an element’s height with CSS grid – Sehr geiler Trick der auch mit Tailwind gut funktioniert – arbitrary values sei Dank.
  3. Bitwarden schluckt Open-Source-Start-up Passwordless.dev
  4. Endpunkte-Doku bei Astro
  5. Ureinwohner bitten Apache Foundation um Namenswechsel
Kategorien
Wochenbericht

Wochenbericht 2022.45

  1. Domaininhaber müssen künftig Adressdaten hinterlegen
  2. Nuxt 3 is coming in a week.
  3. Kennst Du diese unbekannten CSS-Attribute?
  4. Announcing the Astro Tutorial
  5. Alternativen zu Mailhog
Kategorien
Projekte

Gamingbooster V2

Vielleicht hat es der eine oder andere mal mitbekommen, ich bin ja Freund koffeinhaltiger Getränke und gerade wenn es warm ist, ist Kaffee (warm) nicht immer das geilste und Kaffee (Eiskaffee und Co.) nicht immer schnell genug herzustellen. Dazu hat man dann mit Milch oder Eis auch schnell noch par ungeplante Kalorien dabei.

Energydrinks sind auch nicht das wahre, kosten schweineviel Geld und die ganzen Dosen, die sich dann da stapeln… Dann bin ich irgendwann über “Gamingbooster” gestolpert, die einen Weg aus der Situation hinaus anbieten: Super als Kaltgetränk, verschiedene Geschmacksrichtungen, meist deutlich günstiger als Energydrinks. Und mehr Koffein, da Gamingbooster in Pulverform als Nahrungsergänzungsmittel gelten.

Interessiert habe ich mich dann mal auf die Reise in das Internet begeben und versucht herauszufinden, welche Marken und Arten es außer den bekannten Größen noch so gibt.

Ursprünglich als kleine Web-App mit Google Spreadsheet-API angefangen, hat sich das Konzept weiterentwickelt und so steht neuerdings ein echtes CMS hinter der Seite, in dem auch deutlich mehr Daten strukturiert erfasst werden. Das zahlt sich dann in zukünftigen Versionen aus.

Nun also ist es erstmal soweit und die Version 2.0 der Gamingbooster Datenbank ist jetzt endlich online.

Kategorien
Wochenbericht

Wochenbericht 2022.14

  1. GitHub can now auto-block commits containing API keys, auth tokens
  2. Those HTML Attributes You Never Use
  3. Reliably Send an HTTP Request as a User Leaves a Page | CSS-Tricks
  4. Announcing Rome Formatter
  5. Modified AGPLv3 removes freedoms, adds legal headaches