mirror of
https://github.com/jpetazzo/container.training.git
synced 2026-05-02 06:56:37 +00:00
56 lines
1.8 KiB
Markdown
56 lines
1.8 KiB
Markdown
# 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](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](https://www.netlify.com/), 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. |