Planungsdateien auf Knopfdruck
Markdown Week Planner Generator
Eine Konsolenanwendung in C#, die für einen wählbaren Zeitraum Markdown-Notizen für jeden Arbeitstag anlegt, geordnet in Ordnern nach Jahr, Monat und Kalenderwoche.
Überblick
Der Week Planner Generator ist ein Konsolenprogramm in C#. Er erzeugt für einen wählbaren Zeitraum eine Ordnerstruktur mit einer Markdown-Notiz für jeden Arbeitstag.
Funktionen
- Startmonat und Anzahl Monate werden beim Start eingegeben
- Ordner für Jahr, Monat und Kalenderwoche werden automatisch angelegt
- Eine Markdown-Datei pro Tag, von Montag bis Freitag
- Vorlage mit Platzhaltern für Datum und Wochentag
- Kalenderwochen nach ISO 8601
- Speicherort und Vorlage in einer JSON-Konfiguration
- Bestehende Dateien werden nie überschrieben
Problem
Wer seine Woche in Markdown-Dateien plant, legt Ordner und Dateien immer wieder von Hand an und kopiert dieselbe Vorlage. Das ist eintönig, und bei Kalenderwochen schleichen sich leicht Fehler ein.
Lösung
Nach der Eingabe von Startmonat und Anzahl Monaten legt das Programm für jeden Monat die Ordner an, ermittelt die Wochen und erzeugt für Montag bis Freitag je eine Datei aus der Vorlage, mit Datum und Wochentag bereits eingesetzt. Wo schon eine Datei liegt, bleibt sie unverändert.
Technische Umsetzung
Die Einstellungen werden mit System.Text.Json in eine eigene Settings-Klasse gelesen. Datumsangaben rechnet das Programm mit DateTime, die Kalenderwoche liefert ISOWeek.GetWeekOfYear. Ordner entstehen mit Directory.CreateDirectory, das bestehende Ordner einfach übernimmt. Vor dem Schreiben prüft File.Exists, ob eine Datei schon vorhanden ist.
Herausforderungen
Knifflig war die Wochenlogik: Das Programm sucht den ersten Montag des Monats, geht von dort Woche für Woche weiter und hört am Monatsende mitten in der Woche auf. Die Kalenderwoche richtet sich nach ISO 8601, damit die Nummern zu üblichen Kalendern passen, auch an Jahreswechseln.
Grenzen
Arbeitstage vor dem ersten Montag eines Monats erhalten keine Datei. Eingaben werden nicht geprüft, ein falsches Format beendet das Programm mit einem Fehler. Die Pfade sind für Windows geschrieben.
Erkenntnisse
Dieser Abschnitt wird noch ergänzt.
Screenshots
Ein Programm für die Kommandozeile, ohne grafische Oberfläche. Screenshots der Ausgabe sind noch nicht vorhanden.