OER Publishing With Jekyll, Reveal.js, and GitLab

Learning management systems (LMS) have some great content authoring tools. Unfortunately, LMS have some limitations when it comes to OER publishing. Students typically lose access to the content once the course ends and LMS are not really designed for broad collaboration among content authors. One practical solution is to author OER content outside the LMS. The problem then becomes which tools to use and how to make that content available to others to collaborate on. I recently completed a project to do just this using a collection of open source software and services.

I wanted to create a collection of lecture notes, lab exercises, and presentation slide decks for a new course I was developing and make the content available online to students. For the lecture notes and lab exercises, I settled on using the Jekyll static site generator. A static site generator transforms simple content written in markdown into a beautiful website. Using markdown allows the author to focus solely on the content without getting hung up on the minutiae of HTML, CSS, and JavaScript. Many themes are available and most of the more popular ones produce a website that works well on desktop as well as mobile browsers.

For presentation slide decks, I used Reveal.js. Like Jekyll, slide decks can be authored either in markdown or very simple HTML. The major benefit of Reveal.js is that you can present directly from the browser. No special software or plugins are required. Presentations can contain many of the basic features that you might expect from PowerPoint or Keynote.

The final piece of the puzzle is making the content available and inviting collaboration. Both of these objectives can be met using the GitLab service. GitLab is an online service primarily designed to enable computer programmers to collaborate on the development of software projects. The service can be easily adapted to collaborative authoring of OER content. It is a simple matter of creating a public project and letting others know. For public projects, anyone can submit a “pull request” which the project owner can accept and incorporate into the project. For an OER project, this might be other instructors or even students. Like any other public project, if some members of the community are dissatisfied with the direction the project is taking, they are free to “fork” the project and continue developing the project independently. Finally, GitLab offers a service called “Pages” which allows the project to published in a format suitable for consumption by students and others.

jekyll logo reveal.js logo GitLab logo