Woche is a collection of Bash scripts that assist in managing weekly tasks. It enables the creation of a new Markdown file for the current week and the addition of tasks to specific days. Woche, meaning 'week' in German, uses German day names (Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag, and Sonntag) for educational purposes. You can choose between options with the names of the days in English or German.
- Generates a new Markdown file for the current week, including headers for each day.
- Allows the addition, editing and delete of tasks to a specific day of the week or line of the file.
- Provides usage tips.
- Create a new Markdown file for the current week (starting on Monday):
./woche.sh create
This command creates a file using the YYMMDD format.
- Add a task to a specific day:
./woche.sh <day> "<task>"
Replace with the day of the week (in German: mon, die, mit, don, frei, sam, son) and with the task description.
- Display the tasks of the current week:
./woche.sh show
This command prints the Markdown file with the tasks for the entire week.
- Edit a task of the current week:
./woche.sh edit 9 "That task"
This command edit the line 9 of Markdown file with the tasks.
- Delete a task of the current week:
./woche.sh delete 3
This command edit the line 3 of Markdown file.
- Access instructions:
./woche.sh help
- Change the file creation path by modifying the path variable in the variables.sh file.
- Switch to English day names by replacing woche_array with week_array in the same file.
- Alter the date format of the Markdown file by adjusting the start_day_of_week method in functions.sh.
The test.sh script tests the functionality of woche.sh, checking both correct and incorrect user inputs. This test is mandatory for pull requests to the main branch and should be included in the GitHub Actions pipeline for automated testing.
To run the tests:
./test.sh
This project is licensed under the GNU License. See the LICENSE file for details.