Code Monkey home page Code Monkey logo

prateekkumarweb / timetableiith Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 69 KB

Timetable @ IIT Hyderabad. Generate timetable in iCal format, host it on Github pages and sync with Google Calendar or Microsoft Outlook. Note: It can take up to 24 hours for Google Calendar and up to 3 hours for Microsoft Outlook to sync with the hosted iCal file.

Home Page: https://prateekkumarweb.github.io/timetableiith/

License: MIT License

TypeScript 100.00%
timetable timetable-generator nodejs ical iit-hyderabad google-calendar microsoft-outlook iith

timetableiith's Introduction

Timetable @ IITH

TypeScript (NodeJS) app to generate Timetable in ICal format.

How to use

  • Install NodeJS from here.
  • Clone this repository
    $ git clone https://github.com/prateekkumarweb/timetableiith.git
  • Install the required packages
    $ yarn install
  • Edit the files config.yaml file. An example is given in config folder.
  • Generate JS files
    $ yarn build
  • Run the program
    $ cd dist
    $ node index.js -c config.yaml -o filename.ics

The generated ICal file can be imported into Google Calendar or Microsoft Outlook. Instead of importing you can also host this file and keep Google Calendar or Microsoft Outlook in sync with it.

How to keep the ICal file in sync with Google Calendar

  • Fork this repository, make required changes and host the site using github pages.
  • Next, in Google Calendar, click the + button below the overview month calendar and select From URL.
  • Enter the URL of the hosted ics file and add the calendar.
  • This will update the calendar whenever a change is made by pushing changes to the repository.
  • Note that it may take upto 24 hours for Google Calendar to update the events from the hosted iCal file.

Add pre-commit to Git so that tt.ics can be generated before committing

  • Create a new file at .git/hooks/pre-commit with following content.
    #!/bin/sh
    yarn build
    cd dist
    node index.js -c ../config/config.yaml -o ../out/tt.ics
    git add tt.ics
  • Change persimissions of the hook file.
    $ chmod +x .git/hooks/pre-commit
  • After you commit, tt.ics will be auto generated and added to git.

LICENSE

MIT


Copyright © 2017-2019 Prateek Kumar

timetableiith's People

Contributors

prateekkumarweb avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

timetableiith'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.