Skip to content

User Guide


Python (version ≥ 3.7) and ability to run python command in terminal.

Running the Builder

  1. Clone Git repository of the course, you would like to edit.
  2. Run or build.bat script in the course directory.
  3. Edit course materials in the contents directory.

The script would initialize a Python virtual environment for the course, install or update the Builder and all its dependencies, and run it in the auto mode — watching changes in the course source files and rebuild them when needed. The Python environment is placed into the pyvenv directory inside the course root directory. The Builder executable itself is pyvenv/bin/it4kt-builder (on Unix) or pyvenv\Scripts\it4kt-builder (on Windows).

Build scripts try to update the Builder on each run. By default, they install the latest version of the Builder, but you can specify specific version in the requirements.txt.

Structure of the course

All course content is placed in the content directory. The content is formed by pages that are organized into folders. Folder is a collection of pages of the same type and it is represented by the subdirectory of the content directory. Examples of the folders may be Lectures, Practices, Assignments, etc.

All folders need to be listed in the configuration file it4kt.yml. For example:

  - path: lectures
    title: Prednášky
  - path: labs
    title: Cvičenia
    type: scenario
  - path: assignments
    title: Zadania

Each folder you need to define its filesystem path and a title to be displayed in the course menu. You can also specify type of pages contained in the folder:

  • page (default) — generic page without a specific structure
  • scenario — scenario of practices divided into steps

Pages can be written either in Markdown format or XML.


If you would not specify title of the folder it would not show up in the menu, but still would be converted to the output. This is useful for some additional Markdown pages.

Special directories

lecturer directory in the content or in any folder would be copied only into lecturer version of the course. You can use it for files that should not be accessible for students, like solutions of exercises.

Creating a new course

  1. Download the example course.
  2. Customize configuration in it4kt.yml.
  3. Setup course publication.