Readme

Das README zur neue Website. Hier beschreiben wir den Entstehungsprozess, geben Hinweise zu Besonderheiten der neuen Seite und informieren über Entscheidungen und Feedback.

Die Versionsgeschichte ist im Changlog nachzulesen. Im Todo sind die noch zu erledigenden Dinge zu finden.

Grundsätzliches

Diese Seite ist eine statische Website. Sie wird mit hugo generiert. Wir sind der Meinung, dass statisch generierte Seiten kein Rückschritt sind, sondern ein wesentlicher Schritt in Richtung eines schnelleren Webs.

Das Design fußt - wie so viele Seiten zur Zeit - auf dem bootstrap Framework. bootstrap ist völlig responsive, passt sich also der Größe des verwendeten Displays an. Probier die Seite auf Deinem Smartphone oder Table aus!

Nach anfänglichen Selbsversuchen haben wir uns doch noch durchgerungen, und professionelle Webdesigner_innen mit der Gestaltung der Seite betraut. Die junge Firma Gradewegs hat das für uns gemacht.

Clone me

Die Seite wird von uns auf unserem Git-Server gespeichert. Wenn Du weißt was das ist und den Source der Seite sehen möchtest, dann schick uns einen SSH-Schlüssel (public!) und wir richten Dir Zugang zum Repository und auch zu dem des Themes ein. Zum klonen der Seite dann:

git clone git@git.mur.at:www.mur.at.git

Mittlerweile gibt es auch anonymen Zugang zu den Git-Repositories.

git clone git://git.mur.at/www.mur.at.git

Wer sich das einfach nur mal ansehen möchte, kann das nun auch im Browser machen: git.mur.at

Zum Testen der Site

Wenn Du die Seite lokal testen möchtest, dann solltest du zusätzlich phantomjs installieren. Das wird zum Erstellen der Screenshots der bei mur.at gehosteten Webseiten gebraucht, aus denen dann u.a. auch der Hintergrund für die Landingpage gebaut wird. Außerdem brauchst Du hugo auf Deinem Rechner, und zwar die neueste Version. Und wenn Du soweit bist, dann kannst Du Dich gleich aktiv an der Entwicklung beteiligen ;)

Derzeit verwenden wir zwei branches (Zweige) im git:

Du kannst Dir also aussuchen, welchen Zweig Du ansehen/bauen möchtest. Dazu einfach folgenden Befehl verwenden, und statt ZWEIG entweder preview oder website einsetzen:

~/www.mur.at % git checkout ZWEIG

Zum Testen der Seite auf Deinem Rechner kannst Du entweder den Server von hugo verwenden. Den kannst Du wiederum mit einem Skript aufrufen:

~/www.mur.at % ./localserver
                   |  EN
+------------------+------+
Pages            |  709
Paginator pages  |    0
Non-page files   |    8
Static files     | 1385
Processed images |    0
Aliases          |    0
Sitemaps         |    1
Cleaned          |    0

Total in 1446 ms
Watching for changes in /home/jogi/src/www.mur.at/{content,data,layouts,static}
Watching for config changes in /home/jogi/src/www.mur.at/config.toml
Environment: "development"
Serving pages from memory
Web Server is available at //localhost:1313/ (bind address 127.0.0.1)
Press Ctrl+C to stop

Jetzt solltest Du auf Deinem Rechner einen Server laufen haben, und unter hier die mur.at Seite sehen können.

Oder Du baust die Seite statisch zusammen. Sie ist dann im Unterverzeichnis public zu finden:

~/www.mur.at % hugo
Started building sites ...
Built site for language en:
0 of 1 draft rendered
0 future content
4 of 4 expired rendered
507 regular pages created
6 other pages created
8 non-page files copied
0 paginator pages created
0 tags created
0 categories created
total in 628 ms

Landingpage

Der Hintergrund der Startseite setzt sich aus Screenshots der bei uns gehosteten Webseiten zusammen, die zufällig ausgewählt werden. Diese Seite wir einmal täglich neu zusammengestellt.

Suche

Obwohl die Seite statisch ist, gibt es ein Suchinterface. Das funktioniert mit dem großartigen Projekt tipuesearch.

Struktur

Die Seite – egal ob http://preview.mur.at/ oder http://mur.at/ – lebt an mehreren Orten:

  • am eigenen Rechner in einem git working tree
  • auf git.mur.at in einem git repository
  • auf login.mur.at in einem git repository
  • auf login.mur.at in einem working tree

Automatische Updates der Seite

Jeder git push auf eines der beiden Targets preview oder website löst nach dem Update des repositories einen post-update Hook aus. Dieser macht ein git checkout in den working tree am login.mur.at und führt dann hugo mit dem richtigen Zielverzeichnis aus.

Konfiguration für automatische Updates

Damit das funktioniert, müssen vorher ein paar Dinge konfiguriert werden:

  1. einen ssh-key zu login:/home/noc/.ssh/authorized_keys hinzufügen
  2. testen ob ssh noc@login.mur.at ohne Passworteingabe funktioniert
  3. am besten die eigene .ssh/config erweitern:
    Host gitwww
        Hostname login.mur.at
        User noc
        IdentityFile Pfad-zum-ssh-public-key`
  1. dann am eigenen Rechner im git working tree das remote repository hinzufügen. Hier am zum Beispiel für das Target preview:
   git remote add preview noc@gitwww:git/preview.mur.at.git

Wenn jetzt git push preview ausgeführt wird, wird nach dem update des remote repositories der Hook ausgeführt und die Seite neu gerendert.

Webseiten des Tages

Die Webseiten des Tages für page/home werden automatisch kurz nach Mitternacht erstellt. Das passiert im working tree auf login.mur.at. Danach wird die Seite neu gerendert.

Offene Fragen

  • Was tun mit den Screenshots der Webseiten? Ins git importieren (eher uncool) oder in die fertige Seite schieben? Oder dorthin verlinken?

Todo

Ausgelagert auf eine eigene Seite: Todo.