# Calendar Generator Flask App This Flask application generates a web-based calendar view with images and associated texts for each day. It's designed to read images and texts from specified directories and display them in a calendar format. The web-based pages can be printed to a pdf-file. This is easy, because every browser application has the option to print a page to a pdf-file. Per DIN A4 page 4 days get displayed. ## Setup ### Prerequisites - Python 3.x - Flask - Basic understanding of Python and Flask ### Installation 1. **Clone or Download the Repository** Clone this repository if you're familiar with Git, or simply download it as a ZIP file and extract it. 2. **Install Required Packages** Flask is required and can be installed via pip: ```bash pip install Flask `````` ### Folder Structure Your project directory should be structured as follows: ```yaml project_folder/ │ app.py │ README.md │ ├───static/ │ └───images/ │ │ 2024-01-15.jpg │ │ 2024-01-16.png │ ... │ └───texts/ │ 2024-01-15.txt │ 2024-01-16.txt ... ``` - `app.py`: Main Flask application file. - `static/images/`: Directory for storing calendar images. Images should be named `YYYY-MM-DD.extension`. - `texts/`: Directory for storing text files corresponding to each day, named `YYYY-MM-DD.txt`. ### Running the Application 1. Navigate to the project folder in your command line or terminal. 2. Execute the Flask application: ```bash python app.py `````` 3. Access the calendar in a web browser at `http://127.0.0.1:5000/`. ## How It Works - The application serves a web page displaying a calendar. - Each day on the calendar can have an image and a text associated with it. - Images are read from `static/images/`, and text files are from `texts/`. - Files are matched based on their filenames, formatted as `YYYY-MM-DD`. - The calendar is dynamically generated based on available images and texts. - If an image or text is not available for a specific day, it will be displayed without that content. ## Notes - Text for each day should be concise. Lengthy texts may be truncated in the display to maintain the layout of the calendar. - You can customize the appearance and behavior of the calendar by modifying the HTML, CSS, and Flask application logic. ## Copyright and license This code is for my very good friend Felix W.. Code copyright 2024 Lorenz B.