Giter Site home page Giter Site logo

dlazesz / cfpdb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sassbalint/cfpdb

2.0 5.0 1.0 7.15 MB

CFPDB is a Call for Papers database which sorts conferences and highlights due dates according to the current date, intended for collaborative use.

License: GNU Lesser General Public License v3.0

Shell 13.50% Python 66.91% HTML 19.47% Procfile 0.12%

cfpdb's Introduction

CFPDB -- A Call for Papers Database for collaborative use

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

Usage

  1. Edit conferences.yaml in the conferences branch of this repository
  2. The calendar will be refreshed at 01:00 CET
  3. 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

  1. Go to https://calendar.google.com
  2. In the left menu select the three vertical dots on the left of Add a friend's calendar
  3. Select Add by URL
  4. Insert the URL of the provided ics file (see above) and click Add calendar

Using the iCalendar file with Android

  1. Install ICSX5 from Play store, Aurora store or F-droid
  2. Add the URL of the provided ics file (see above)
  3. Set name and color
  4. Set update frequency if needed

Setup

  1. Setup the Personal Access Token-based access to Github enabling repo scopes (shortcut: https://github.com/settings/tokens/new watch out for expiration time!)

  2. 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)

  3. 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

Install to Heroku

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!

Architecture

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.

New features

  • iCalendar file (.ics) generation which can be subscribed to (see description)

History

Code written between Nov 2008 and Nov 2010 by Bálint Sass

Full revision in Jan 2019 by Balázs Indig

Acknowledgement

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.

License

This program is licensed under the LGPL 3.0 license.

cfpdb's People

Contributors

dlazesz avatar kagnes avatar sassbalint avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

domotora85

cfpdb's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.