jamct / DoorsignEPD

Doorsign with E-Paper-Display with ESP32. Loading images from webserver.
GNU General Public License v3.0
100 stars 36 forks source link

Create ical_calendar.php #33

Closed ger82 closed 5 years ago

ger82 commented 5 years ago

Beispiel zum integieren in von iCal Dateien

sabre/vobject muss mit integiert werden

jdede commented 5 years ago

Sehr schöner Beitrag, danke. Es wäre gut, wenn noch folgende Dinge angepasst werden würden:

Danke für Deinen Einsatz

ger82 commented 5 years ago

Das ist mein erster Versuch mal etwas an die Community zurück zugeben.

Wie kann ich denn mehr als diese eine Datei in einem Pull Request packen? Kommentare habe ich erweitert ebenso die Variablennamen angepasst Wie passe ich die README.md an ohne einen weiteren Pull Request zu öffnen?

jdede commented 5 years ago

Kein Problem, da helfen wir hier ja gerne!

Du scheinst das Webinterface von github verwendet zu haben. Damit habe ich ehrlich gesagt noch nie etwas gemacht (außer eine kleine Änderung in einer Readme).

Upload via Webinterface

Kurz zum Verständnis: dieser PullRequest (PR) hier korrespondiert mit dem Branch patch-2 deines Repositories: https://github.com/ger82/DoorsignEPD/tree/patch-2

Das bedeutet, dass sämtliche Änderungen, die du in diesem Branch durchführst automatisch hier in diesem PR landen. Wenn du nun die Readme dort anpasst, sollte dies auch automatisch hier erscheinen. Gleiches gilt für den Upload der Beispieldatei. Probier es einfach aus.

Genereller Ablauf

Zum generellen Ablauf. Für umfangreichere Änderungen empfiehlt es sich unbedingt, den git-Client auf dem eigenen Rechner zu installieren und damit zu arbeiten. Dann spart man sich den umständlichen Weg über die Webseite. Der Ablauf sollte dann im Wesentlichen wie folgt aussehen:

1) Es gibt ein öffentliches Repository wie z.B. https://github.com/jamct/DoorsignEPD . Dieses kann jeder lesen, jedoch besitzen nur wenige Personen Schreibzugriff. 2) Möchte man nun Änderungen an dem Code vornehmen, kopiert man dieses Repository zu auf seinen eigenen github Account ("Fork", z.B. https://github.com/ger82/DoorsignEPD). 3) Änderungen werden bis auf wenige Ausnahmen in Branches ausgeführt, wie in deinem Beispiel dein Branch "patch-2" (https://github.com/ger82/DoorsignEPD/tree/patch-2). 4) Ist die Arbeit an diesem Branch beendet, kann man einen Pull Request (wie diesen hier) an das ursprüngliche Repository erstellen. Hier wird dann über die Änderungen diskutiert. Wichtig: auch nachdem der PR erstellt wurde, landen die Änderungen, die du an deinem lokalen Branch durchführst in diesem PR; dieser wird quasi automatisch aktualisiert. 5) Sind die Änderungen okay bzw. akzeptiert, wird der PR in das ursprüngliche Repository via "merge" integriert.

Für deine Arbeit ist im Moment der 3. Schritt am Wichtigsten: Wie oben bereits erwähnt nutzt du wahrscheinlich nur das Webinterface. Jedoch macht es Sinn, auch lokal auf deinem Rechner zu arbeiten. Den groben Ablauf beschreibe ich im folgenden Abschnitt.

git auf dem lokalen Rechner

Für die lokale Arbeit gibt es verschiedene Clients -- sowohl grafische als auch Kommandozeilenbasierte. Ich bevorzuge die Kommandozeile, das ist aber Geschmackssache. Der generelle Ablauf sollte wie folgt aussehen (habe die Befehle nun nicht im Detail getestet, sollte aber so passen). Ich gehe mal davon aus, dass du git auf deinem Rechner installiert hast und die SSH-Verbindung (siehe Weblinks) funktioniert. Wir haben drei Versionen des selben Repositories:

A) Die Original-Version (jamct) B) Dein Fork auf github: ger82/DoorsignEPD C) Deine lokale Kopie auf deinem Rechner (erzeugt mit git clone)

Die Arbeit läuft nun wie folgt ab:

1) git clone git@github.com:ger82/DoorsignEPD.git: Erzeugt auf deinem Rechner eine lokale Kopie 2) git checkout origin/patch-2 wechselt auf den Branch patch-2. origin steht hierbei für github 3) git checkout -b patch-2 erzeugt nun einen lokalen Branch auf deinem Computer, der dem Branch auf github folgt 4) Teile git mit, dass der aktuelle Branch patch-2 zum github-Branch patch-2 gehört: git push --set-upstream origin patch-2 5) Führe lokale Änderungen durch. git status zeigt dabei die geänderten und neu hinzugefügten Dateien an. 6) Füge die Änderungen zum Repository hinzu: git add datei1 datei2 7) Gebe der Änderung einen sinnvollen Kommentar und schließe diese Änderung ab: git commit -m "Datei 1 hinzugefügt, enthält Feature A, Datei 1: Nutzung von Feature A" 8) Wiederhole Schritt 4-6 bis du zufrieden bist. Bislang sind diese Änderungen nur lokal auf deinem Rechner. 8) git push schiebt diese Änderungen nun online auf deinen Branch patch-2 und die Änderungen erscheinen gleichzeitig auch im Pull-Request incl. der Kommentare aus Schritt 7.

Dies ist nun eine grobe Anleitung, wie du deine Änderungen direkt ohne Webinterface durchführen kannst. Sollte theoretisch direkt so laufen. Später werden noch weitere Befehle und Schritte benötigt, die ich hier nun erst mal weggelassen habe. Es gibt jedoch jede Menge guter Hilfen zum Thema git / github im Internet. Im nachfolgenden Abschnitt habe ich mal ein paar Links zusammengetragen.

Zwei Dinge noch: 1) Du kannst nicht viel falsch machen. Im schlimmsten Fall: Sichere deine Änderungen in ein anderes Verzeichnis, führe den clone-Befehl erneut aus und kopiere die Änderungen zurück 2) Bei Fragen: Frage gerne! Wir sind froh über jeden, der sich in dieses Projekt einbringen möchte!

Hoffe, dass ich dir hiermit ein wenig weiter helfen konnte!

Weblinks