The complete structure of a course is explained here. This will help you create a new course in this repo :) You can also browse through other courses (every directory is a course) to understand more about the structure.
Every course has a seperate directory within this repo. Like the Python course has a python
directory, html
has a html
directory and so on.
This is the single most important file where you store the list of the contents in the course. Looking at following for an example:
- index.md
- info.md
- introduction-to-programming.md
- hello-world.md
- introduction-to-loops
- understanding-while-loops.md
- understanding-break-conditions.md
- exercise-4.md
- exercise-5.md
These files have to exist in the parent directory. introduction-to-loops.md
is a folder, and understanding-while-loops.md
etc. are files that are to exist in the directory.
The Every course
directory has one main files which name is, info.md
This has some meta information of the course which is used when putting the course in the database. Here is a sample file
```ngMeta
name: Basics of Programming using Python
type: python
short_description: We will learn the basics of programming using this course.
logo: http://google.com/logo.png
```
All the meta information about a course needs to be nested within a ngMeta
tag in the markdown file.
The files can be named anything we want as curriculum developers. The order of files (the order in screenshot) is decided by the order written in index.md
file.
The structure of index.md
will be like this:
exercise-1.md
exercise-2.md
exercise-3/exercise-3.md
- another-child-of-exercie-3.md
- yet-another-child.md
Notice how exercise-3
directory has three files inside while the tree structure in the screenshot only has 2 children under it. This is because here in index.md
the file exercise-3.md
is marked as a parent exercise while the other two are marked as child. Notice how they are intended in the above snippet. When the learner/student clicks on Exercise 3
on SARAL the contents of exercise-3.md
will be shown.
The images related to a course should exist within directory of the particular course. In case there are a lot of images it can also make sense to have exercise specific directories for images to make organising this easy.
Note: Image paths in markdown file should be specific relative to the location of the file. You can use ..
to for accessing the contents of the directory above the directory of the markdown file. Similarly ../..
for two directories above.
To learn Markdown visit GitHub Cheatsheet