Files
container.training/slides
Jerome Petazzoni 33e1bfd8be Support multi-day events
In index.yaml, the date can now be specified as a range. For instance,
instead of:

date: 2018-11-28

We can use:

date: [2018-11-28, 2018-12-05]

For now, only the start date is shown (so the event still appears
as happening on 2018-11-28 in that example), but it will be considered
"current" (and show up in the list of "coming soon" events) until
the end date.

This way, when updating the content during a multi-day event, the
event stays in the top list and is not pushed to the "past events"
section.

Single-day events can still use the old syntax, of course.
2018-11-26 16:55:47 +01:00
..
2018-10-29 20:38:01 -05:00
2018-11-19 20:52:14 +01:00
2018-11-19 20:51:52 +01:00
2017-11-15 23:41:14 +01:00
2018-11-26 16:55:47 +01:00
2018-11-26 16:55:47 +01:00
2018-10-30 16:42:43 -05:00
2018-10-30 16:42:43 -05:00
2018-10-30 16:42:43 -05:00
2018-10-30 16:42:43 -05:00
2018-04-09 13:18:25 -05:00
2017-11-03 18:31:06 -07:00
2017-11-03 18:31:06 -07:00
2017-11-08 10:41:56 -08:00
2018-08-21 04:03:38 -05:00
2017-11-03 18:31:06 -07:00
2018-09-29 02:18:03 +02:00

MarkMaker

General principles:

  • each slides deck is described in a YAML manifest;
  • the YAML manifest lists a number of Markdown files that compose the slides deck;
  • a Python script "compiles" the YAML manifest into a HTML file;
  • that HTML file can be displayed in your browser (you don't need to host it), or you can publish it (along with a few static assets) if you want.

Getting started

Look at the YAML file corresponding to the deck that you want to edit. The format should be self-explanatory.

I (Jérôme) am still in the process of fine-tuning that format. Once I settle for something, I will add better documentation.

Make changes in the YAML file, and/or in the referenced Markdown files. If you have never used Remark before:

  • use --- to separate slides,
  • use .foo[bla] if you want bla to have CSS class foo,
  • define (or edit) CSS classes in workshop.css.

After making changes, run ./build.sh once; it will compile each foo.yml file into foo.yml.html.

You can also run ./build.sh forever: it will monitor the current directory and rebuild slides automatically when files are modified.

Publishing pipeline

Each time we push to master, a webhook pings Netlify, which will pull the repo, build the slides (by running build.sh once), and publish them to http://container.training/.

Pull requests are automatically deployed to testing subdomains. I had no idea that I would ever say this about a static page hosting service, but it is seriously awesome. 💥

Extra bells and whistles

You can run ./slidechecker foo.yml.html to check for missing images and show the number of slides in that deck. It requires phantomjs to be installed. It takes some time to run so it is not yet integrated with the publishing pipeline.