conf-cal

Convenient calendar for conferences

Usage no npm install needed!

<script type="module">
  import confCal from 'https://cdn.skypack.dev/conf-cal';
</script>

README

conf-cal

a human-readable conference calender format and library

Build Status

When you have a conference, it can be a pain in the butt to keep the schedule and generate html out of it. This little library allows with little effort to keep all the important information in one place in a human readable form.

It makes sure that all the important data is there:

  • Name
  • Day
  • Location
  • Google Place ID of the location! (to be used from a map)
  • Timezone (taken from the geo location using geo-tz)
  • Rooms
  • Event Title/Description/Presenter
  • Automatic Breaks Calculation (times between the slots are automatically breaks)
  • Automatic Slot Calculation (just enter the times and it can figure out the slots)
  • Automatically generates IDs for each entry that can be overridden (to preserve deep links even when data changes)
  • Presentation languages _(to mark different presentations in different languages)

You can process this format with a very lightweight Node JS library.

Here is an example calendar:

Mighty Superhero Gathering
on 2019/01/01
at Top of the World#ChIJvZ69FaJU6DkRsrqrBvjcdgU

[Main Room]
10:00-10:20 Opening

11:15-12:00 What I love about underground sountracks by Batman

    In this special session Batman looks into a often
    overlooked benefit of getting to know really special
    music played in the bars just while beating up
    scum.

13:00-14:00 Lighting talks

    - Lassos materials by Wonder Woman
    - Leveraging water in battle by Wolverine
    - Why we need friends by The Hulk
    - 楽しい CM の作り方 by ウルトラマン in ja

[Track A]
10:20-11:00 Doing the right thing by Super Man #keynote
  
    Super Man will talk about the challenges he faced
    trying to do the right thing when you are
    basically a god

11:15-14:00 Akward bumps of 2018 by The Flash #flash-talk

    Its not always easy to travel quickly without colliding
    with things. Lightheartedly, the flash will reflect on
    the funniest bumps of the last year.

The basic pattern is:

<Title>
on <year>/<month>/<date>
at <name-of-location>#<google-place-id>

[<room-name>]
<start>-<end> <summary>( by <person>)( in <lang-code>)( #<custom-id>)
<four-space-indent><<line-break><description>> or list of subentries>

[<other-room-name>]

etc.

JavaScript API

Install this library using:

$ npm i conf-cal --save

You can check out how the API works in the ./test/api-documentation.js file.

Contribution Guidelines

  • PR's and issues welcome.
  • If you can create a PR quickly, its better than an issue.
  • Run the test before a PR.
  • Be kind and patient.

License

MIT