Release Notes — Family Tree Calendar
All notable changes to this project are documented here.
Dates are in YYYY-MM-DD.
1.0.1 — 2026-10-14
Fixed
- Death anniversaries shown as living birthdays when Gramps' death symbol
was anything other than ✝ (e.g. the default ☠ on a fresh install). Deaths are
now detected by structure, independent of the chosen symbol — including
"Nothing". The symbol is also no longer left in the person's name.
1.0.0 — 2026-09-05
First release of Family Tree Calendar. Reads Gramps' Web Calendar
output and builds styled monthly birthday and anniversary calendar pages for a
family website.
Added
- Web Calendar as the data source. Parses
cal/<year>/1.html … 12.html
produced by Gramps' Web Calendar report (generated without "Link to
Narrative Web"). The month comes from the file name and the day from the
cell, so the localised cell id is never needed.
- Four event types, classified structurally (independent of source
language): living birthday 🎂, deceased birthday 🕯️, anniversary of a death ✝,
and wedding anniversary 💍.
- Readable day cells. Living birthdays are shown directly; historical events
are collapsed behind a
+N ⭣ toggle that expands on click.
- Month navigation bar and a year switcher (
‹ 2026 ›) whose arrows are
static links to the same month in the adjacent year, greyed out at the ends so
a link can never point at a missing folder.
- Fixed scope: current year + next year. Old year folders are ignored (not
rebuilt, not linked).
--aar overrides the base year for the rare case where
Gramps' start year isn't the current year.
- Language handling. Built-in English and Danish can be auto-detected from
the source's
<html lang>. Additional languages are selected manually with
--sprog and require a matching language pack. Event wording such as ages,
years married, and year of death is rebuilt from the numerical information in
the source so it follows the selected calendar language.
- External language packs. Drop
sprog/<code>.json next to the script to add
a language with no code change; packs may be partial (missing keys fall back
to English). --dump-sprog writes English and Danish templates. A German
(de.json) starter pack is included.
- Localised spouse connector. The word between two spouses is taken from the
pack (
and / og / und), so a couple reads correctly in every language.
- Self‑updating entry page.
index_kalender.html is written by default and
redirects to the current month of the current year (falling back to the base
year). Disable with --no-index.
- Terminal language. Progress and error messages are shown in Danish when
Danish is selected. For English and all additional calendar languages,
terminal messages are shown in English.
- Safeguards. A run that finds zero events refuses to write (so it can't
overwrite a good calendar), and a missing target‑year folder produces a clear
message telling you to generate it in Gramps.
Requirements
- Gramps 5.2 or later.
- Python 3.6 or newer.
- Standard Python library only — no third-party packages.