Tool to generate lecture slides in CSC style from markdown.
This repository contains the recipe to build a new slidefactory container image and the files needed by the tool to generate slides in CSC style.
If you are looking for an example of how to write slides using slidefactory, please have a look at the empty slidefactory template that can be used as a basis for new courses. Besides some convenience tooling, it also contains a syntax guide and an example slide set.
Convert slides from Markdown to HTML:
slidefactory.sif example.md
or the same if not using the singularity container:
python3 $SLIDEFACTORY/convert.py example.md
To see more detailed information when running, such as configuration options
and the exact pandoc command, you can add --verbose
to the commands above.
Use --help
to see descriptions of all the available arguments.
To generate also a PDF version of the slides, add --pdf
to the command
above, e.g.:
slidefactory.sif --pdf example.md
One can also use the option --self-contained
to embed images and other
assets into the HTML file with the aim to produce a file that is as
"self-contained" as possible.
slidefactory.sif --self-contained example.md
Beware that files produces in this way can become very large and that not everything will be contained in the HTML file, so e.g. math formulas will require internet connection to work.
Slidefactory consists of two parts: 1) a git repo containing files
defining the slide layout (aka themes), pandoc filters, and a convenience
script (convert.py
) to ease the use of pandoc, and 2) a
singularity container with a self-contained software environment that is
tested to work with slidefactory.
Get the source code, build the singularity container and install slidefactory:
git clone https://github.com/csc-training/slidefactory
cd slidefactory
make
make install
As prompted by the installer, please add the environment variable
SLIDEFACTORY
to your .bashrc
(or similar) and make sure that the directory
containing the container image is in the PATH
.
If needed, please see INSTALL.md for more detailed installation instructions (and alternative installation options).
To uninstall slidefactory, you can say slidefactory.sif --uninstall
(or
without the container python3 $SLIDEFACTORY/setup/uninstall.py
). If one is
in the directory containing the source code, make uninstall
will also work.
The installed git repo can be updated (to get new themes etc.) with:
slidefactory.sif --update
or without the singularity container:
python3 $SLIDEFACTORY/setup/update.py
or just simply by using git:
cd $SLIDEFACTORY
git pull
cd -
If you want to update the git repo included inside the container (used only if
no local installation is found), then you can add --container
flag to the
command above. This will unpack the container, update it, and rebuild the
image.
If the container image definition has changed, you need to re-install slidefactory to get a new version of the image.
Examples and more information on how to write slides using slidefactory are
available in the
slidefactory template
repository. The repository contains an empty template for slidefactory slides
that can be used as a basis for new courses. Please read the README.md
included in the repository for more details.