All Projects → koenvervloesem → remarkable-calendar-creator

koenvervloesem / remarkable-calendar-creator

Licence: MIT License
Create calendars to display on a reMarkable device as the suspend screen or to write notes on, including events from your own online iCal calendar

Programming Languages

shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to remarkable-calendar-creator

ical
📅 Golang iCalendar lexer/parser implementing RFC 5545
Stars: ✭ 28 (+0%)
Mutual labels:  icalendar, calendar, ical, ics
node-ical
NodeJS class for parsing iCalendar/ICS files
Stars: ✭ 53 (+89.29%)
Mutual labels:  icalendar, ical, ics
THCalendar
Calendar like iOS
Stars: ✭ 21 (-25%)
Mutual labels:  icalendar, calendar, ical
every2cal
🙌에브리타임 캘린더를 ics파일로 바꿔줍니다
Stars: ✭ 33 (+17.86%)
Mutual labels:  calendar, ical, ics
weather-calendar-feed
Display yr.no weather (supports the entire Earth) forecasts with highly customizable Event titles in your Google Calendar, Android phone, iPhone, Outlook or other iCalendar app
Stars: ✭ 16 (-42.86%)
Mutual labels:  icalendar, calendar, ics
datebook
📅 Generates URLs and downloadable ICS files for adding events to popular calendar apps.
Stars: ✭ 273 (+875%)
Mutual labels:  icalendar, calendar, ics
Daylight-Calendar-ICS
Daylight Calendar is a dynamically generated .ics calendar that you can host and subscribe to in Google Calendar, iCal, or other calendar software.
Stars: ✭ 22 (-21.43%)
Mutual labels:  calendar, ical, ics
webcalendar
WebCalendar is a PHP application used to maintain a calendar for a single user or an intranet group of users. It can also be configured as an event calendar.
Stars: ✭ 113 (+303.57%)
Mutual labels:  icalendar, calendar, ics
recrossable
crossword game with simplistic handwriting recognition and automatic generation of crosswords
Stars: ✭ 36 (+28.57%)
Mutual labels:  remarkable, remarkable-tablet
icsdb
Open repository of non-working days ics files
Stars: ✭ 20 (-28.57%)
Mutual labels:  icalendar, ics
python-jicson
python ics to json lib
Stars: ✭ 11 (-60.71%)
Mutual labels:  icalendar, ics
calcardbackup
calcardbackup: moved to https://codeberg.org/BernieO/calcardbackup
Stars: ✭ 67 (+139.29%)
Mutual labels:  icalendar, ics
rrule
🔁 Recurrence rule parsing & calculation as defined in the iCalendar RFC
Stars: ✭ 31 (+10.71%)
Mutual labels:  icalendar, ical
ics2gcal
Import .ics files into Google Calendar with only two clicks.
Stars: ✭ 21 (-25%)
Mutual labels:  ical, ics
croncal
Utility to convert a crontab file to a list of actual events within a date range.
Stars: ✭ 37 (+32.14%)
Mutual labels:  icalendar, calendar
prodcal ics
Производственный календарь в формате ics
Stars: ✭ 23 (-17.86%)
Mutual labels:  calendar, ics
icalparser
Simple ical parser for PHP
Stars: ✭ 56 (+100%)
Mutual labels:  icalendar, ical
noteto
Template Tool for the reMarkable tablet (and maybe others?)
Stars: ✭ 30 (+7.14%)
Mutual labels:  remarkable, remarkable-tablet
add2calendar
📆 Allow you to add event to calendar easier
Stars: ✭ 51 (+82.14%)
Mutual labels:  calendar, ical
iCalKit
📅 Parse and generate iCalendar (.ics) files in Swift
Stars: ✭ 54 (+92.86%)
Mutual labels:  icalendar, ical

reMarkable Calendar Creator

Continuous integration reMarkable 1 is supported reMarkable 2 is supported License

This tool creates calendars to display on a reMarkable device. You can create:

  • a PNG image to use instead of the default suspend screen (in /usr/share/remarkable/suspended.png)
  • a PDF document to write your notes on

You can also add events from an iCalendar (ics) file to your calendar.

Installation on your reMarkable

First install Toltec. Then install the latest release of reMarkable Calendar Creator, including its dependencies, on your reMarkable:

opkg install coreutils-date coreutils-install column make pcal ghostscript
wget https://github.com/koenvervloesem/remarkable-calendar-creator/archive/refs/heads/main.zip
unzip main.zip
cd remarkable-calendar-creator-main
make install

This installs the binary in /opt/bin, as well as a systemd service and timer that replaces your splash screen /usr/share/remarkable/suspended.png every day with a calendar of the current month.

Note

The first time you run make install, it makes a backup of your original splash screen to /opt/etc/remarkable-calendar-creator/suspended.png.backup, which is copied back when you run make uninstall later.

Then copy the example environment file to the location that the service consults:

cp /opt/etc/remarkable-calendar-creator/remarkable-calendar-creator.env.example /opt/etc/remarkable-calendar-creator/remarkable-calendar-creator.env

Configuration

If you want to change the type of calendar or other options, change the environment variables in /opt/etc/remarkable-calendar-creator/remarkable-calendar-creator.env. Have a look at the default configuration, which is commented with some interesting options you can add.

Especially pcal has a lot of possible customizations. For instance you can add moon phases or custom images. See pcal's man page for the full list of options you can add to the variable PCAL_OPTS.

Adding calendar events

If you want to add events from your own calendar, just enter the URL of your ICS file in the file /opt/etc/remarkable-calendar-creator/remarkable-calendar-creator.env. This should be something like ICS_URL=https://www.google.com/calendar/ical/feestdagenbelgie%40gmail.com/public/basic.ics (an example for Google's calendar file for the Belgian public holidays). Note that ICS_URL should be a publicly accessible but secret address of the ICS file of your iCalendar calendar. Make sure to remove the # before ICS_URL in the configuration file.

After this, the systemd timer downloads this file daily and updates your calendar suspend screen. If you want to see the result immediately, run the systemd script manually with:

systemctl start remarkable-calendar-creator.service

Have a look at the example with Belgian public holidays for the result.

This only works for month calendars, as there's not enough room on the year calendar to add events.

Using on a Linux computer

You can also use reMarkable Calendar Creator on a Linux computer. Obviously it won't make sense to install the systemd service and timer because your computer doesn't use the reMarkable's suspend screen. However, you can run the script manually to create a PDF file with a calendar. Then you can send the PDF to your reMarkable device to draw notes on it.

The reMarkable Calendar Creator is essentially a light wrapper around pcal (which generates calendars in PostScript output) and GhostScript (to convert the PostScript to PNG or PDF). Both programs are available in all major Linux distributions. For instance on Ubuntu you can install them as:

sudo apt install pcal ghostscript

After this, you can run the script remarkable-calendar-creator.sh.

You can create a calendar of the current month, for instance as a PNG image:

./remarkable-calendar-creator.sh calendar.png

Every argument that you add after the filename is forwarded to pcal. This means that you can also create a calendar for a specific month:

./remarkable-calendar-creator.sh calendar.png 1 2021

Or a calendar with all months of the current year on one sheet in a PNG file:

./remarkable-calendar-creator.sh calendar.png -w

Or you can create a PDF with a page for every monthly calendar of 2021:

./remarkable-calendar-creator.sh calendar.pdf 2021

For portrait mode, add the option -p after the file name.

You can find generated PNG and PDF files for all months of 2021 for landscape and portrait mode in the examples directory.

If you want to add events from your calendar, you first have to download an ICS file for your calendar and convert it to the pcal format that reMarkable Calendar Creator uses. This goes like this:

./remarkable-calendar-downloader.sh URL events

The URL should be a publicly accessible but secret address of the ICS file of your iCalendar calendar. The events is the filename of the calendar file that reMarkable Calendar Creator uses by default.

After this, run remarkable-calendar-creator.sh again and it will automatically pick up your events and put them on your calendar. Have a look at the example with Belgian public holidays for the result.

This only works for month calendars, as there's not enough room on the year calendar to add events.

Disclaimer

This project isn't affiliated to, nor endorsed by, reMarkable AS.

I assume no responsibility for any damage done to your device due to the use of this software.

License

This project is provided by Koen Vervloesem as open source software with the MIT license. See the LICENSE file for more information.

The file ical2pcal.sh comes from the MIT licensed ical2pcal project by Francisco José Marín Pérez.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].