Julius: Pure CSS: Accessible responsive nav

Beitrag lesen

problematische Seite

Hallo Marc,

Leider sind alle Kommentare und die README.md verloren gegangen, weil ich irgendwas mit git kaputt gemacht habe…

Vielleicht hast du im Remote-Repo (also über die GitHub-Weboberfläche) Änderungen vorgenommen, lokal nicht mit deinen lokal gemachten Änderungen gemergt und dann einen Reset auf den vorherigen Stand gemacht? Bin jetzt aber auch nicht so der git-Profi...

Ja irgendwas. Habe auf mehreren Rechnern gearbeitet und vermutlich einmal nicht gepusht und dann woanders weiter gemacht und dann irgendwo Quatsch gemacht. Ich dachte, es müsste dann möglich sein, den aktuellen Stand, mit dem ich zufrieden war, als neueste Version einzustellen. Das hat aber anscheinend nicht geklappt (obwohl ich das dachte) und dann hatte ich beim nächsten Download einen ganz alten Stand (den vom andren Rechner, an dem ich ein paar Tage zuvor war).

[…]

Kennst du denn eine Möglichkeit zu sagen, was ich jetzt lokal habe, soll die aktuelle Version werden? Das könnte doch öfters mal hilfreich sein?

Ich vermute mal, dass du meinst, dass du deinen lokalen Stand commiten und pushen willst. Ich beschreibe einfach mal den einfachsten Ablauf mit git anhand der Befehle (wenn du das per GUI machst, werden die Buttons sicher ähnlich heißen; hilfreich kann auch diese Grafik mit den Abläufen bei git sein):

Gehen wir mal davon aus, dass du das Repo gerade frisch auf GitHub angelegt oder es zumindest noch nicht auf den Rechner kopiert hast. Dann klonst du es ja als erstes auf deinen Rechner:

git clone https://git.exampple.org/blablubb

Falls du das Projekt nach dem klonen auf dem Remote (via GitHub oder anderem Client) wieder geändert hast, müsstest du deine lokale Kopie aktualisieren. Es ist eine Best-Practise, das bei Beginn der Arbeit an einem Projekt (also bevor du Änderungen machst) und möglichst oft (wenn man mit mehr als einer Person an einem Projekt arbeitet; sonst weiß man ja grob, ob man etwas geändert hat) zu machen.

git pull

Falls du vor diesem Schritt bereits lokal Änderungen gemacht hast, die noch nicht commited wurden, müsstest du die commiten und wirst dann beim Pullen gefragt, ob du die Änderungen mergen (also zusammenführen möchtest).

Dann arbeitest du an dem Projekt. Änderst Dateien, fügst welche hinzu und löscht ggf. welche. Wenn du dann commiten und auf den Remote (also GitHub) pushen willst, musst du als erstes die Änderungen stagen:

git add .
# staged alles im aktuellen Ordner (.), man kann auch einen Dateinamen angeben

Anschließend commitest du das und pushst das:

git commit -m "css verbessert, bessere Farben"
git push

So müsste eigentlich alles klappen.

Branches habe ich ausgelassen. Habe ich noch nicht benutzt, weil ich das bisher noch nicht zu brauchen meinte und ich mich da noch reinfuchsen muss...

Das wäre eigentlich auch mal ein schickes Blog-Thema: „Versionsverwaltung mit git für Webentwickler.“
Naja. Erst einmal andere Sachen erledigen...

Es wäre super nett, wenn sich jemand das Ding mal mit einem Android-Gerät vornehmen würde.

Erst mal danke für den Test!!!

Ich hatte das Problem, dass ich die Überkategorien nicht immer aufklappen konnte, sondern es nur nach einem zweimaligen Tippen auf den entsprechenden Eintrag mit dazwischen liegendem Neuladen der Seite ging.

Kann es sein, dass es sich dabei um die aktuell offene Seite handelt? Hier fehlt noch eine deutliche Hervorhebung. Ich kann das auf dem Video nicht so richtig erkennen.

Tatsächlich: Beim ersten Tippen auf die Oberkategorie lädt der Browser die betreffende Seite und dann klickt man ja auf den Eintrag, der die aktuelle Seite kennzeichnet. Dann geht das.

Habe übrigens auf dem iPad neu gelernt, dass ein langer druck offenbar "active" setzt, was dann das Menu der nicht verlinkten aktuellen Seite doch öffnet.

Ist das bei einem Link zweckmäßig? Also bei FF/Android fragt der Browser, ob er den Link in einem neuen Tab öffnen soll...

Ein ähnliches Verhalten war auch in Chrome 67 auf dem selben Handy zu beobachten.

Vielen Dank. Würde eine Hervorhebung des aktuellen Menüpunktes reichen? oder betrifft es alle Menüpunkte?

Das Problem ist anders gelagert:
Immer wenn ich auf einen Obermenüpunkt tippe, der nicht der Menüpunkt zu der aktuellen Seite ist, wird die verlinkte Seite geladen und dann erst kann ich das Menü dauerhaft ausgeklappt betrachten, weil ich auf der Seite bleibe.

P.P.S.: Hast du dich schon für eine Lizenz entschieden? Wenn ich einen Vorschlag machen dürfte, würde ich eine liberale Lizenz empfehlen. Beispielsweise die MIT-Lizenz oder es alternativ gar unter Public Domain (CC0 als Lizenz) stellen. Bei letzterer kann man so etwas bedenkenlos kopieren und in eigene Software einbetten, was ja vielleicht in deinem Sinne sein könnte.

Ja genau so. Ich überlege noch, ob ich mit Namen genannt werden möchte, ein bisschen Werbung kann ja nicht schaden. Geht das bei MIT?

Die Namensnennung ist bei der MIT-Lizenz so gestrickt, dass der mitgelieferte Vermerk mit deinem Namen bei allen Kopien immer mit ausgeliefert werden muss. Allerdings glaube ich nicht, dass jemand dazu verpflichtet wurde, im Footer oder Impressum der Seite auf dich zu verweisen.

Falls dir die Bedingungen der MIT-Lizenz nicht zusagen, kannst du immer noch eine restriktivere Lizenz wählen (sofern dein komplettes Projekt unter der MIT-Lizenz steht). Wenn du initial die GPL wählst, kannst du das zwar auch machen, müsstest aber alle, die zu deinem Projekt etwas beigetragen haben, um Erlaubnis fragen und ggf. ihre Beiträge neu erstellen, falls sie nicht zustimmen. Die alten Versionen (sofern die noch jemand hat) bleiben natürlich unter der MIT-Lizenz verfügbar.

Ich mache das zum ersten Mal und würde mich am liebsten darum drücken, alle Lizenzen komplett zu lesen. Die eine, die ich nutzen möchte, werde ich natürlich lesen…

Der MIT-Lizenz ist ganz kurz 😜 und bei Wikipedia gibt es eine Übersetzung ins Deutsche. Ich finde die Kürze ganz interessant. Allerdings fehlt in der MIT-Lizenz eine Regelung zu den betroffenen Patenten (also quasi, dass du allen die Nutzung deiner Patente ermöglichst, statt deine Ansprüche irgendwann gelten zu machen). Ist jetzt aber für eine Navigation nicht soooo relevant.

Ich habe auch nichts dagegen, wenn jemand mit JS zu dem Projekt beitragen möchte, um es noch geschmeidiger zu machen (es also progressive zu enhancen 😉).

Genau das erleichtert eine Lizenz ja neben der Verwendung ja auch, weil ich weiß, unter welcher Lizenz der originale Quelltext steht. Bei der MIT muss ich nicht zwangsläufig diese weiter benutzen – auch die GPL erfüllt die Bedingung der Namensnennung, allerdings erzwingt diese auch die Weitergabe unter gleichen Bedingungen und die Veröffentlichung des Quelltextes.

In der Praxis wird aber jemand, der mit dir zusammenarbeiten will, vermutlich einfach die von dir benutzte Lizenz verwenden.

Gruß
Julius