|
3 weeks ago | |
---|---|---|
data | 3 weeks ago | |
static | 3 weeks ago | |
templates | 3 weeks ago | |
.gitignore | 3 weeks ago | |
LICENSE | 3 weeks ago | |
README.md | 3 weeks ago | |
main.py | 3 weeks ago | |
screenshot.jpg | 3 weeks ago |
README.md
neverending-todo-list
A Flask app that displays recurring tasks, allowing you to mark them as done. Completed tasks will reappear after a specified interval of days.
Screenshot
How to Use
Prerequisites
Ensure you have Flask installed in your Python environment.
Running the Application
To run the neverending-todo-list
application, use the following command:
./main.py [--secret SECRET_STRING] [--soon SOON_DAYS]
--secret SECRET_STRING
: (Optional) Provide a secret string for minimal security. If set, this string must be included as a query parameter in the URL to access the application.--soon SOON_DAYS
: (Optional) Define how many days are considered 'soon', which affects the color of the task cards. Defaults to 21 days if not specified.
Accessing the Application
- If you started the application with a secret string, navigate to
http://yourappdomain.com:5000/?secret=YOUR_SECRET_STRING
. - If no secret string was provided, simply go to
http://yourappdomain.com:5000/
.
Replace yourappdomain.com
with your server's domain or IP address, and YOUR_SECRET_STRING
with the secret string you used to start the application.
Create data files
You can distribute tasks across multiple .ini
files placed in the data/
directory. Each file can hold
one or more sections like [unqiueNameWithoutSpaces]
.
There are two types of tasks:
-
Recurring Tasks: These include activities like haircuts or car oil changes, which, once marked as done, will reappear after a set number of days.
-
Annual Events: Such as birthdays, these tasks automatically reappear each year.
Each task card requires a title, description, and an image. Be concise with text, as space on the card is limited. Images auto-scale to 250x200px; for optimal performance, use images close to these dimensions. A default "blank.jpg" image is provided.
Task Card Appearance
- White Background: Task is due in the future.
- Yellow Background: Task is due within 3 weeks.
- Red Background: Task is overdue. These remain at the front of the list until marked as done.
To mark a task as done, click on it (after confirmation), and it will be rescheduled based on the
intervalInDays
value.
Example Task Format
Recurring Task in .ini
:
[somethingUniqueForThisFileWithoutSpaces]
title = Haircut
description = 9mm on the sides, 12mm on top.
image = images/haircut.jpg
fixed = False
lastDate = 2023-11-13
intervalInDays = 60
Annual Event
- Set
fixed = True
to indicate the task repeats annually. - Use
intervalindays = 0
as these tasks recur yearly.
For lastDate
, specify a date to indicate when the event occurs each year. The year part of this
date is not critical, as the application will automatically adjust to show the next occurrence of
the event in the current or following year.
[somethingUniqueForThisFileWithoutSpaces]
title = Nils' Birthday
description = Born 1983-08-17!
image = images/nils.jpg
fixed = True
lastDate = 1983-08-17
intervalInDays = 0
Adding, Deleting, or Manually Editing Tasks
Create, copy and edit the .ini files using any text editor to add, delete, or manually modify tasks. Ensure the program is stopped before editing and restart it afterward to load changes.