cagix / pandoc-lecture

Pandoc Markdown Lecture Template: This project defines a skeleton repo for creating lecture slides and handouts including lecture notes out of Pandoc Markdown (https://pandoc.org/MANUAL.html) using a single source approach.
MIT License
100 stars 18 forks source link

Tool: create an online calendar from a schedule or build a schedule using a web calendar #188

Closed cagix closed 9 months ago

cagix commented 1 year ago

Proposal from @Ironeer in https://github.com/Compiler-CampusMinden/CB-Vorlesung-Master/issues/106: Currently, we create our lecture schedule manually as a Markdown table. In addition to the calendar week, we include the actual day of the week and the date as well as links to the lessons and other information.

It would be nice to offer students a synchronised online calendar to subscribe to.

I see two three approaches: Either create a Google calendar from the course schedule (Markdown), or use an online calendar plus some configuration (YAML) to create the course schedule (Markdown). The latter might be easier to realise. Alternatively, we could create the schedule as Markdown table plus a corresponding .ics file from the configuration in YAML.

Ideally, this should be realised in Lua as a Pandoc filter and integrated into the workflow.


follow-up to https://github.com/Compiler-CampusMinden/CB-Vorlesung-Master/issues/106

cagix commented 1 year ago

this could be part of a nice semester project - hence adding the https://github.com/cagix/pandoc-lecture/labels/thesis label

Ironeer commented 1 year ago

Either create a Google calendar from the course schedule (Markdown)

There might be a Google independent approach. The Google link that the students subscribe to only offers the .ics file, which is a text file with a readable format. Therefore it should be possible to generate the .ics directly from the YAML/Markdown and commit it to the repository. Students then could subscribe to the calendar in their calendar app using a github link to the generated .ics file. Updates should be possible by overriding/re-generating the .ics file in the repository.

cagix commented 1 year ago

Either create a Google calendar from the course schedule (Markdown)

There might be a Google independent approach. The Google link that the students subscribe to only offers the .ics file, which is a text file with a readable format. Therefore it should be possible to generate the .ics directly from the YAML/Markdown and commit it to the repository. Students then could subscribe to the calendar in their calendar app using a github link to the generated .ics file. Updates should be possible by overriding/re-generating the .ics file in the repository.

This could be a good way to become independent of a specific calendar provider. After all, I get exactly one .ics file when I click on the calendar link (i.e. do not subscribe to the calendar as an online calendar).

But I don't have that much experience with .ics: What happens if I import a calendar via static .ics file and then later import a modified .ics file again. Will the old entries then be recognised and overwritten or will I simply get all the new entries in addition to the old ones?