User Guide
Requirements
Python (version ≥ 3.8) and ability to run python
command in terminal.
Running the Builder
- Clone Git repository of the course, you would like to edit.
- Run
build.sh
orbuild.bat
script in the course directory. - 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:
folders:
- 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.
Note
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
- Download the example course.
- Customize configuration in
it4kt.yml
. - Setup course publication.