LibreLingo Documentation on Module
A Module resides below the courses within the course structure. It contains skills.
They have less complexity as they're here just to group skills and nothing else. On the frontend they appear as headings to group skills.
To get a better understanding, you can read the course basics.
Confused? Ask people on GitHub Discussions.
A typical tree structure for a module is like this:
courses/spanish-from-english/basics/ ├── module.yaml └── skills ├── animals.yaml ├── clothes.yaml ├── food.yaml ├── nature.yaml ├── plurals.yaml ├── professions.yaml ├── verb_plurals.yaml └── verbs.yaml
food.yaml etc. are skills. Directly inside the module directory there is also a file called
module.yaml. This file contains information about the module (see below).
NOTE: A module directory name should not have spaces, should be written in slug-form and ideally in plain English characters. If your source language is not English, you can try roughly to follow the pronunciation and write it using English characters. The human friendly
Name in the yaml however, can contain uppercase, spaces and the actual name in source language. The yaml skill files under it should be always inside a directory named
module.yaml file for the Spanish Basics module looks like this:
Module: Name: "Basics" Skills: - animals.yaml - food.yaml - clothes.yaml - nature.yaml - verbs.yaml - plurals.yaml - verb_plurals.yaml - professions.yaml
Name is the human friendly name of the module. The name should be in the target audience's language or the language you set under
For speakers of key on your
course.yaml. For example, if the course is
spanish-from-english, it should be in English.
Skills has a list of yaml files for the skills under the module. NOTE: The order in which the skills appear in this YAML file is the order they will appear in the web app as well.
Creating new module
To create a new module,
- just create a directory under the course with the module name (keep it lowercase and no spaces)
- Create a
module.yamlfile and put yaml code for the module.
courses/french-from-english/traveling/module.yaml from the example above:
Module: Name: traveling Skills: - hello.yaml
Now create skills as you want and list under