Sources for OpenDreamKit's website
JavaScript TeX CSS HTML Jupyter Notebook C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
_activities Fix date 2017 -> 2016. Jan 17, 2017
_data event for Sage days 84 Jan 7, 2017
_includes Standardize name PARI (instead of Pari) Jan 4, 2017
_layouts More debug metadata Jun 27, 2016
_posts Added one point on the agenda and a link to EU call Jan 18, 2017
activities Finally converged to the right way to exclude the README from the col… Jan 11, 2016
meetings Merge branch 'master' of Jan 18, 2017
news Added doc on how to add posts/activities, and improved 'Edit this pag… Jan 11, 2016
public Add GAP-Jupyter demo Aug 3, 2016
reveal.js @ e448cf8 Relocation Jan 5, 2017
.gitignore more ignorance Jul 15, 2016
.gitmodules Properly added reveal.js submodule Jan 4, 2016
404.html fixes #44: permalink url for 404 page Jun 24, 2014
CNAME Added CNAME for custom domain May 12, 2015
Gemfile More debug metadata Jun 27, 2016 initial commit Dec 28, 2013
Opendreamkit_writing.jpg ODK website title Oct 21, 2015 Merged the help file in the main README Jun 16, 2016
_config.yml Globally configured automatically generated table of contents to be s… Aug 29, 2016 Fixed page break Sep 27, 2016 Standardize name PARI (instead of Pari) Jan 4, 2017 Standardize name PARI (instead of Pari) Jan 4, 2017 Update Jun 27, 2016
atom.xml Changed layout to null in atom.xml Sep 29, 2014 Renamed sidebar item 'OpenDreamKit Events' to just 'Events' for short Oct 27, 2015 improved link source Jan 5, 2017 Update Dec 21, 2015 Update Jan 4, 2017
partners.html Added role badges to partners page Nov 9, 2015

Repository holding the sources of the website (aka


Join the chat at

This website is hosted as a github page. In short, is built statically from Markdown source files using Jekyll. To update a page, just modify the corresponding source and push. This can be done online by clicking on "Edit this page" in the side bar. See the above links for details.

  • _config.html: main configuration page
  • _post/*.md: sources of the news and blog posts
  • _activites/*.md: sources of the activities posts
  • _data/*.yml: YAML database from which certain pages are automatically generated
  • _layouts/*: local style files
  • _includes/*: reusable chunks of web pages, like the side bar
  • public/*: Jekyll style files (almost vanilla), logos, ...
  • reveal.js: local clone of reveal.js for slides support; you need to issue git submodule init followed up by git submodule update to get it installed locally and view local copies of the pages using jekyll.

See also the general help document for OpenDreamKit participants.

How to use Jekyll to test/build this website

This is a static website automatically generated with Jekyll by GitHub Pages.

These instructions are for OpenDreamKit participants who wish to do more than the occasional editing.

Editing pages online with GitHub

You can edit any page by following the "Edit this page" link in the sidebar. Alternatively, you can directly navigate to the corresponding .md (Markdown) file in GitHub.

This will drop you in GitHub's file editing interface, where you can modify the source code, preview it, and save your changes, by giving a short description of what you modified. If you have write access to the repository (hint: you do), your modifications will be published rightaway. If you do not have right access, you will be asked to fork the repository and make a pull request.

Most of the pages are written in Markdown, which is a textual format for generating formatted text. Markdown syntax is very intuitive, you can get a quick review here or here.

CAVEATS: The Markdown engine used by this site is Kramdown. Its syntax definitions are slightly different form GitHub Flavored Markdown, thus the preview feature in GitHub might not render source as in the final result.

Other reasons why GitHub's preview may not correspond to the final results are:

  • Use of Liquid templates in the source. This is seldom used, but some pages (like the calendar) use them to access site-wide configuration variables.
  • Use of special purpose markup, HTML, and scripts, such as mathematical excerpts written in MathJax.

Working locally

If you want to do more than the occasional editing, you'll soon realise GitHub's editor and preview are too limited. It's better to work locally on your computer.

All you need to work locally is a Git client. Clone the repository and start coding right away.

At some point, you will need to preview your work, but pushing to GitHub each time you want to preview is clumsy. Your best option is to install Jekyll and the required dependencies on your machine. It is recommended to install the GitHub pages gem which provides you with the exact same versions used by GitHub to compile your site.

If you already have Ruby, the install part should be as easy as

gem install github-pages

Note that you will need Ruby headers (ruby-dev package on Ubuntu) in order to compile C dependencies.

On OS X, you can just type sudo gem install github-pages.

Now you can cd into your local clone of the repository and launch the compilation by

jekyll serve -w -b''

Your site will be generated in a _site sub-directory, and served live at http://localhost:4000/. Any changes to the sources will trigger an automatic recompilation!

Have fun!