CFPDB is a Call for Papers database which sorts conferences and highlights due dates according to the current date, intended for collaborative use.
The calendar is located at: https://dlazesz.github.io/cfpdb/
The iCalendar format is located at: https://raw.githubusercontent.com/dlazesz/cfpdb/gh-pages/conferences.ics
- Edit conferences.yaml in the conferences branch of this repository
- The calendar will be refreshed at 01:00 CET
- Check the calendar at: https://dlazesz.github.io/cfpdb/ or subscribe to the following iCalendar file: https://raw.githubusercontent.com/dlazesz/cfpdb/gh-pages/conferences.ics
Using the iCalendar file with Google Calendar
- Go to https://calendar.google.com
- In the left menu select the three vertical dots on the left of Add a friend's calendar
- Select Add by URL
- Insert the URL of the provided ics file (see above) and click Add calendar
- Install ICSX5 from Play store, Aurora store or F-droid
- Add the URL of the provided ics file (see above)
- Set name and color
- Set update frequency if needed
-
Setup the Personal Access Token-based access to Github enabling
repo
scopes (shortcut: https://github.com/settings/tokens/new watch out for expiration time!) -
Set the proper github repository name (the HTTP variant of the remote url), github username and the newly created token in
repo_config.yaml
(see example) -
Setup a scheduled task to run the update:
- Create a virtualenv and install the dependencies:
virtualenv venv && ./venv/bin/pip install -r requirements.txt
- Type
crontab -e
to create a scheduled task. - Type the following to run at 1:00 AM every day (see crontab.guru for examples):
0 1 * * * HOME=$HOME $HOME/cfpdb/venv/bin/python $HOME/cfpdb/update_cfpdb_on_github.py >> $HOME/cfpdb/update.log 2>&1
- (Optional) Run the program manually and push the changes:
update_cfpdb_on_github.py
- (Optional) Run the program manually to see the changes locally:
generate_calendar.py
- (Optional) Run the program on Heroku:
clock.py
- (Optional) Run the program on Deta Cloud:
deta_main.py
- Create a virtualenv and install the dependencies:
WARNING: Heroku free tier is discontinued.
- Sign up
- Download and install Heroku CLI
- Login to Heroku from the CLI
- Create an app
- Clone the repository
- Add Heroku as remote origin
- Setup the program (see step 1 and 2)
- Push the repository to Heroku
- Start the scheduled task:
heroku ps:scale clock=1
- Enjoy!
There are three independent (orphan) branches in this repository:
- master: contains the program and the setup instructions
- conferences: contains conferences.yaml which stores the conference data (it is meant to be edited by the collaborators)
- gh-pages: stores the rendered html file for the calendar to be shown as https://USERNAME.github.io/REPONAME
The updater process fetches conferences.yaml
from the conferences branch in this repository and pushes the rendered html to the gh-pages branch.
- iCalendar file (.ics) generation which can be subscribed to (see description)
Code written between Nov 2008 and Nov 2010 by Bálint Sass
Full revision in Jan 2019 by Balázs Indig
I would like to express my gratitude to Bálint Sass for open sourcing the original program and enabling others to use and develop it.
This program is licensed under the LGPL 3.0 license.