Skip to content

AliaumeL/transducer-exercices

Repository files navigation

transducer-exercices

GitHub Actions Inkscape LaTeX Pandoc Lua Markdown

GitHub commit activity GitHub Release GitHub deployments

Exercises for transducers classes of MIMUW. The lecture notes are available on the dedicated webpage. A web version of the sessions is deployed on github pages.

Usage

The exercises are written in pandoc flavored markdown and are compiled to HTML and PDF using make. They are located in a content/ subdirectory. It is possible to produce a pdf version of one exercise sheet by simply running the following command:

make latex/session-1.pdf

To produce a web version of the same exercise sheet, run the following command:

make site/session-1.html

Beware that web versions of the exercises are not standalone, and require extra static elements (css, javascript) to be displayed properly. In particular, it is often better to first build the whole website, and then only use make to produce a particular exercise sheet.

make website

Similarly, to produce the PDFs of all sessions, run the following command:

make pdfs

Finally, the following command will produce a web version of the exercises, that is automatically reloaded whenever a file is modified. Note that this does not start a web server, and you may have to open the files manually in your browser.

make watch 

If you have python installed, you can also use the following command to start a webserver in the site/ directory:

cd site && python3 -m http.server 8000

Requirements

The following packages are required for the makefile to run smoothly:

  • make
  • git
  • pandoc
  • python3
  • panflute
  • dateparser (python package)
  • icalendar (python package)
  • a texlive installation (with the knowledge package)
  • entr
  • zip
  • gnutar
  • stork

Dockerised version

To ease the development process, and to simplify the continuous integration and deployment a docker image is provided. The latest image is available on the Github Container Registry, and can be pulled using the following command:

docker pull ghcr.io/aliaumel/transducer-exercices:latest

If you prefer to build the image locally, it suffices to run the following command, expected to take a few minutes:

docker build -t transducer-exercices .

Then, to compile exercises using the docker image, you can run the following

docker run -v $(pwd):/transducer-exercices transducer-exercices make website

How to contribute

To contribute, please read the CONTRIBUTING.md file.

Credits

The original design of the website is taken from Arthur Perret.