Skip to content

aghiuru/calendar-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calendar Generator

Generate a single-page PDF calendar with configurable styling.

Installation

poetry install

Usage

poetry run python calendar_generator/generate.py

Generates calendar_YYYY.pdf in the current directory.

Configuration

Edit config.yaml to customize. Defaults to 2026, letter size, Avenir font.

Key Parameters

Calendar

  • year - Calendar year (default: 2026)

Layout

  • pagesize - "letter" or "A4"
  • margin_inches - Page margins
  • month_spacing_x_inches / month_spacing_y_inches - Space between months

Week Numbers

  • show_week_numbers - Display ISO week numbers (true/false)
  • week_number_width_inches - Column width for week numbers

Overflow Days

  • show_overflow_days - Show days from prev/next month in grey (true/false)
  • overflow_day_color - Color name or hex (e.g., "lightgrey", "#CCCCCC")

Custom Fonts

  • custom_fonts - Map font names to TTF file paths
    custom_fonts:
      Avenir: /System/Library/Fonts/Avenir.ttc
      MyFont: path/to/font.ttf

Text Formatting

  • day_name_length - Letters per day name (1=M, 2=Mo, 3=Mon)
  • month_name_alignment - "left", "center", or "right"
  • header_to_table_spacing - Points between day headers and dates

Fonts

  • title_font / title_size - Month names
  • day_header_font / day_header_size - Day names (M, T, W...)
  • day_number_font / day_number_size - Date numbers
  • week_number_font / week_number_size - Week numbers

Colors

  • text_color - Default text color
  • header_color - Month and day header color
  • weekend_color - Weekend text color (null = same as text_color)

Colors can be names ("black", "darkgrey") or hex codes ("#000000").

Example

year: 2027
pagesize: A4
show_week_numbers: true
day_name_length: 3
month_name_alignment: center
title_font: Avenir-Heavy

About

Generate PDF calendars.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages