Skip to content

LibreLingo Documentation on Course

A Course is the highest element on the course structure. It contains modules, which in turn contains skills. There are usually one course for each language.

To get a better understanding, you can explore the courses directory on this repository and read the course basics.

Confused? Ask people on GitHub Discussions.

Table of Contents: - Tree structure - course.yaml - Data breakdown

Tree structure

A typical tree structure for a course is like this:

├── activities
│   ├── module.yaml
│   └── skills
│       ├── continuous.yaml
│       └── ser_estar.yaml
├── basics
│   ├── module.yaml
│   └── skills
│       ├── animals.yaml
│       ├── clothes.yaml
│       ├── food.yaml
│       ├── nature.yaml
│       ├── plurals.yaml
│       ├── professions.yaml
│       ├── verb_plurals.yaml
│       └── verbs.yaml
├── course.yaml
└── introduction
    ├── module.yaml
    └── skills
        ├── adjectives.yaml
        ├── phrases.yaml
        └── preferences.yaml

Here, activities, basics and introduction are modules. The continuous.yaml, animals.yaml etc. are skills. Directly inside the course directory there is also a file called course.yaml. This file contains information about the course (see below).

A course directory name should not have spaces and should be written in slug-form in plain English.


A course.yaml file for the Spanish course looks like this:

# This file contains generic meta-data about the course

    Name: Spanish
    IETF BCP 47: es
  For speakers of:
    Name: English
    IETF BCP 47: en
    Name: Attribution-ShareAlike 4.0 International
    Short name: CC BY-SA 4.0
  Special characters:
    - "á"
    - "Á"
    - "é"
    - "É"
    - "í"
    - "Í"
    - "ó"
    - "Ó"
    - "ú"
    - "Ú"
    - "ü"
    - "Ü"
    - "ñ"
    - "Ñ"
    - "¿"
    - "¡"

  - basics/
  - introduction/
  - activities/

Data breakdown

Course has information about the course. - Language - Language > Name: The name of the language you want to test for or teach. - Language > IETF BCP 47: The IETF BCP 47 code of the above language. List available here. - For speakers of - For speakers of > Name: The name of the language your target audience already speaks. - For speakers of > IETF BCP 47: The IETF BCP 47 code of the above language. List available here. - License - License > Name: Full license name under which your course is made available. In most cases it's ok to keep it as is. - License > Short name: Short name for the license. e.g. CC BY-SA 4.0 - License > Link: URL to reach to the full text of the license. e.g. - Special characters: An array of special characters that might not be present on a typical English keyboard.

Modules has a list of module directory names followed by a /.