How to create and manage a new course

Courses and associated material hosted by the CTI must be free and licensed under the MIT license.

Creating the course

  1. Course designer: to ask an administrator (TODO: add a way to contact an administrator) to create a project to host the content of your course.

  2. Adimistrator: to create a project from the website course template GitHub project.

    cc 001 project creation
  3. Administrator: to edit the antora-playbook-en.yml and all other existing languages (i.e. all antora-playbook-xx.yml files) to add the new project to the content list to build.

content:
  sources:
  - url: https://github.com/LabVIEWCommunityTraining/Website-Home-Section
    branches: main
    start_paths: en
  - url: https://github.com/LabVIEWCommunityTraining/Website-Course-Template
    branches: [v*.*]
    start_paths: www/en
  - url: https://github.com/LabVIEWCommunityTraining/cti-documentation (1)
    branches: [v*.*]
    start_paths: www/en
1 duplicate this section (the three lines) and updte the url with the url of the project created in the previous point.
This template course is note directly accessible on the website, but you can access it at https://labviewcommunitytraining.github.io/www/en/course_template/v1.0/index.html to see how the template content is display.

Managing the content

Set up the content the first time

When starting the project, do the following:

  1. Edit the README.adoc file with the useful information regarding your course.

  2. Edit the antora.yml file like described:

    name: course_template (1)
    title: My template course (2)
    1 The name attribute must start by course_, be lower case and not have white spaces
    2 The value of the title attribute will be the one displayed on th ewebsite
  3. Edit the set-up.adoc file like described:

= Set Up Instructions

NOTE: Add all the instructions needed to take the course in this section.

== Download the course material

* https://labviewcommunitytraining.github.io/Website-Course-Template/course-material.zip[Course material zip] (1)
1 Update the URL with the GitHub project name. In the example above, Website-Course-Template must be replace by your project name.

Content organization

πŸ“ _public (1)
πŸ“ .github (2)
πŸ“ course-material (3)
πŸ“ www (4)
1 This folder is used to store the automated built zip file of the content material. Do not remove it.
2 This folder contains the action configuration used to build the content automatically
3 This folder contains the course material i.e. LabVIEW code for exercices, examples, solutions and any other files needed to follow the course
4 This folder contains the webdsite for all the languages

Edit the website content

The content of the website is written in text files using the Asciidoc syntax.

The content is intended to be multilingual. Usually, we recomend to start with the English version to maximize the number of people being able to translate the content in different langages
πŸ“ www
    πŸ“ en (1)
    πŸ“ es (2)
    πŸ“ fr (3)
    πŸ“ zh (4)
1 English content
2 Spanish content
3 French content
4 Chinese content

Each language folder have the same hierarchy.

English folder hierarchy
πŸ“ en
    πŸ“ Module/Root
            πŸ“ images (1)
            πŸ“ pages (2)
        πŸ“„ nav.adoc (3)
    πŸ“„ antora.yml
1 folder to store images
2 folder to store pages content
3 file organizing the pages in the left sidebar

Standardization

As far as you can oragnize your course as you want, we encourage to keep a minimum of standardization between courses.

We’ve been defining formating guidelines here.
Always keep the Overview and Set up page and make them the two first page of your course

Building the content

Each time you push a modificaiton to the project, an automated task is triggered. This will do the following.

  • Zipping and publishing the course-material folder

  • Building and publishing the website

  • Rendering the website content to a PDF file

the zip file and the PDF are set to be downloaded from the overview page.