calendar-generator-pdf/README.md
2024-02-13 22:31:58 +01:00

2.5 KiB

!! Readme is not up to date

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:

    pip install Flask
    

Folder Structure

Your project directory should be structured as follows:


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:
    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.

This code is for my very good friend Felix W.. Code copyright 2024 Lorenz B.