# French Republican Calendar Tools Published: November 20, 2023 {{< mathjax >}} I believe that in all facets of life, anything taken for granted should be examined. For me, this includes how I think about and interface with time. Since beginning research into this topic a few years ago, the French Republican Calendar has continued to fascinate and delight me, so much so to the point that I use decimal time and the republican calendar as my default method of tracking time in my personal life. For those unfamiliar, The French Republican Calendar, also known as the Revolutionary Calendar, was introduced in France during the French Revolution on October 24, 1793, and was used until January 1, 1806. It aimed to de-Christianize the calendar by removing religious and royalist influences, marking its introduction as Year I. The calendar was structured into 12 months of 30 days, divided into three 10-day weeks called 'décades'. To keep in line with the solar year, extra days termed 'sansculottides' were added annually. This calendar also attempted decimalization of time, with each day having 10 hours, each hour 100 decimal minutes, and each minute 100 decimal seconds. Although this system was abandoned in 1795, the calendar itself persisted until the reign of Napoleon. Its benefits included standardized months and weeks for simpler timekeeping and a secular, nature-focused approach to naming months, offering a culturally neutral view of time. {{< calendar >}} It can be hard to exist, without practice, in two systems of time - If your friends expect you to meet them at four o'clock in the afternoon, excusing your lateness with "my time is different" rings hollow - so I've built a handful of tools over time to make this easier for me. It's to the point that I've accumulated enough that it's worth sharing them, in case they may be of interest to anybody else. This page includes them all, both digital and physical, and may be amended with time as I build new ones. If you want to be kept aware of new tools as I build them, I announce them occasionally in my [newsletter](/newsletter). {{< toc >}} # Tools As explored more in detail below, mentally keeping track of two time systems is no trivial thing. Luckily for us, we live in the personal computing era, and these devices make it much easier to do. Over the years I've built a number of tools to help me utilize the calendar, and I share them with you below. Keep in mind they are in rough shape - definitely function over form. You can also explore the full git repo of tools and examples [here.](https://git.sr.ht/~tonic/repub-cal-tools) ## [Desktop Calendar](http://shop.lagomor.ph) A physical calendar is a critical tool in my day to day life. It tracks days of rest, birthdays, holidays, and all other events. Accordingly, I have built my own printable desktop calendar which sits on my desk. It has a number of features designed to make it functional as your main calendar: 1. The [Wheel of the Year](https://en.wikipedia.org/wiki/Wheel_of_the_Year) Sabbats and Canadian Holidays are marked with symbols. 2. Traditional Weekends are marked in red. Tracking normal days of rest is critical to a functional calendar. 3. Space for monthly tasks is left at the bottom. 5. The Sansculottides have space for writing down your growth over the past year. --> [Buy it here](http://shop.lagomor.ph) ## rcal.sh ``cal`` is a very handy command line utility for most people who work on the linux command line, and so accordingly I have constructed an equivalent in bash that suits my needs - [rcal](https://git.sr.ht/~tonic/repub-cal-tools/tree/master/item/bash%20scripts/rcal.sh). It outputs dates as such: ``` Frimaire, 232 Pr Du Tr Qu Qn Sx Sp Oc No De 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 ``` It is currently unfinished, but will eventually support the following command flags: ``` -1, --one Display single month output. (This is the default.)" -3, --three Display three months spanning the date." -n, --months N Display N number of months, starting from the month containing the date." -y, --year Display a calendar for the whole year." -Y, --twelve Display a calendar for the next twelve months." -h, --help Display help text and exit." ``` Check out the [git repo here](https://git.sr.ht/~tonic/repub-cal-tools/tree/master/item/bash%20scripts/rcal.sh). ## rdate.sh This is *not* a full re-implementation of the unix `date` tool. Someday it might be - but currently it fills the role of placing the current Republican date in my [Waybar](https://github.com/Alexays/Waybar). Download the script [here](https://git.sr.ht/~tonic/repub-cal-tools/tree/master/item/bash%20scripts/rdate.sh). The config for my waybar is this: ```json "custom/rdate": { "format": "{}", "exec": "bash /home/lagomorph/.config/waybar/modules/rdate.sh -s", "tooltip": "true", "tooltip-format": "bash /home/lagomorph/.config/waybar/modules/rcal.sh", "interval": 30 } ``` ## toRepublicanCalendar.js The calendar on this page & the date at the top of this site - and on most pages as well, are calculated using this quick and dirty javascript function. My implementation is a little simpler than others I've seen - many manually count up from the number of days since the end of the calendar - but I've been using this conversion script for several years with no noticeable problems in accuracy. It accounts for the Romme Rule in Leap Years, and additionally is aware of the Sansculottides. A [full html calendar](https://git.sr.ht/~tonic/repub-cal-tools/tree/master/item/examples/cal-mini.html) using this conversion script is shown prominently on my browsers [start page](https://lagomor.ph/start). Check out the script [here](https://git.sr.ht/~tonic/repub-cal-tools/tree/master/item/libraries/republicanCalendar.js). ## [Tampermonkey Userscript](https://git.sr.ht/~tonic/repub-cal-tools/blob/master/userscripts/rcalScript.js) This browser userscript converts every `