Woche is a command-line tool for managing weekly tasks using Bash scripts. It helps you create and organize tasks in Markdown files, with support for English and German day names.
- Create weekly Markdown files.
- Add, edit, delete, and mark tasks as complete.
- View tasks by week, grouped by day with line numbers.
- Search for tasks across all weeks.
- Open weekly files in your preferred editor.
./woche.sh create
# Creates a new Markdown file for the current week (e.g., 241014.md)./woche.sh <day> "<task>" # Add task to a specific day (e.g., mon, tue, mont, die)
./woche.sh today "<task>" # Add task to the current day./woche.sh show # Display tasks for the current week
./woche.sh show last # Display tasks for last week
./woche.sh show <YYMMDD> # Display tasks for a specific week (e.g., 210829)
./woche.sh all # List all weekly Markdown files./woche.sh edit <line_number> "<new_task>" # Edit a task by line number
./woche.sh delete <line_number> # Delete a task by line number (requires confirmation)
./woche.sh done <line_number> # Mark a task as complete./woche.sh search "<keyword>" # Search for a keyword in all weekly files./woche.sh open # Open the current week's file in $EDITOR
./woche.sh help # Display all commands and usageTo run the test suite:
./test.shTo use the Dockerized version:
docker build -t woche-app . # Build the image
docker run -it woche-app # Run the container- Change file path: Modify
path_to_filesinvariables.sh. - Switch to German days: Replace
week_arraywithwoche_arrayinvariables.sh. - Adjust date format: Modify
start_day_of_weekinfunctions.sh.
This project is licensed under the GNU License. See the LICENSE file for details.