GitHunt
XY

xyproto/kitchencalendar

:calendar: Generate per-week calendars meant to be printed out and hung up in the kitchen

Kitchen Calendar

Build Go Report Card License

Kitchen Calendar is a utility written in Go that can generate PDF files.

Each generated PDF document is a calendar for two specific weeks, for example week 7 and 8.

This type of calendar can work great for a family of 4, a couple of co-workers or people that live together and need to find a good way to collaborate.

By printing out and hanging up the calendars on the kitchen cupboard doors, there are no excuses for not having a good overview of what is happening in the weeks ahead, nor for what has been done or completed.

I recommend printing out at least 6 pages, which covers 12 weeks, and hang them all up. It does occupy quite a bit of "visual space" in the kitchen, but it's immensely handy and practical.

The reason why I wrote this utility is because we use it in my family, and it works better for us than Google Calendar or other apps or web pages. The information is readily available without anyone having to "do anything" to see it, and one can easily add entries while making tea or coffee.

In addition to this, "red dates" (holidays / flag flying dates) are written in bold text in the calendar. The functionality for detecting "red days" comes from the kal package (this feature needs more testing).

Currently, only US and Norwegian calendars can be generated, but pull requests for supporting other locales are welcome!

The line art images comes from the excellent ln package.

Example calendar (English, for the US)

US kitchen calendar

Note that the 4th of July is in bold.

Example calendar (Norwegian)

Norwegian kitchen calendar

Note that the 17th of May is in bold.

Installation

Go 1.17 or later is needed for go install to work as expected.

Install the US kitchen calendar generator:

go install -tags en_US github.com/xyproto/kitchencalendar@latest

Install the Norwegian kitchen calendar generator:

go install -tags nb_NO github.com/xyproto/kitchencalendar@latest

Usage

The utility takes a list of comma separated names that will be used in the weekly overviews.

For creating a calendar_w8_2023.pdf file:

kitchencalendar -names Bob,Alice,Mallory,Judy -year 2023 -week 8

For generating calendars for week 7 to 17 (with 2 weeks on each PDF), for this year

for x in $(seq 7 2 17); do kitchencalendar -names Bob,Alice,Mallory,Judy -week $x; done

There is also a web server for easily generating PDF files, just follow the project web page link.

General info

  • Version: 1.0.7
  • License: BSD-3
  • Author: Alexander F. Rødseth

Languages

Go84.5%HTML9.6%CSS2.6%Makefile1.7%Dockerfile1.6%

Contributors

BSD 3-Clause "New" or "Revised" License
Created February 11, 2023
Updated January 21, 2026