Skip to the content.

We highly recommend reading Ten simple rules for making training materials FAIR before creating a new training material and following the FAIR (Findable, Accessible, Interoperable, Reusable) principles for training materials.

Table of Contents

Add a new tutorial


To add a new tutorial, create a new folder in _tutorials folder and place the tutorial content in a single tutorial.md within the tutorial directory (or a subdirectory if you have multiple versions of the same tutorial).

When creating a new tutorial, add the folder name (slug) to the _data/tutorial_groups.yml file. This links your tutorial to an existing tutorial group. If your tutorial belongs to a new category that does not yet exist, create a new group entry in _data/tutorial_groups.yml with a clear description of the group.

Then, commit the changes to the new branch and submit a pull request.

Optionally you can also go to issues and “create an issue” with the format add new tutorial that describes what you are adding.

Edit the tutorial


The tutorial.md should have the following structure:

---
layout: tutorial_hands_on

title: Title of the tutorial
description: Description of the tutorial
slug: slugified title
time_estimation: HM
questions:
  - Which questions are addressed by the tutorial?
objectives:
  - The learning objectives of the tutorial
key_points:
- The take-home messages
- They will appear at the end of the tutorial
version: tutorial version
life_cycle: tutorial lifecycle
contributions:
  authorship:
  - author 1
  - author 2
  editing: 
  funding: 
---

## Section title

Enter your tutorial content here.

The tutorial requires the metadata to be included at the top:

In the funding section, list the name of the organization that supported the training material. Ensure that the organization’s name matches an entry in _data/contributions.yml. If your organization is not listed, please add its name to the file and place the organization’s logo in /assets/img/.

Development status of tutorials

The development status of tutorials follows a framework similar to that of the Carpentries. Training materials are classified into four categories: alpha, beta, stable, and deprecated.

The following information can also be included in the tutorial metadata:

For additional information that could be included in the tutorial metadata, please refer to the GTN tutorial.

If you have any data or images that you would like to add to the tutorial, please place them in the tutorial directory.

Format the content

Boxes

To improve the learning experience in our tutorial, we define some boxes to highlight content. Below is an example of the “Task box with solutions”:

> ## Questions
> 1. Question 1
> 2. Question 2
>  
> > ## Answers
> > 1. Answer 1
> > 2. Answer 2
> > 
> {: .solution}
>
{: .question}

which will look like this:

Questions

  1. Question 1
  2. Question 2

Answers

  1. Answer 1
  2. Answer 2

There are several boxes that you can use to format the content of your training material: {: .overview}, {: .key_points}, {: .tip}, {: .warning}, {: .comment}, {: .hands_on}, {: .question}, {: .solution}, {: .details}, {: .feedback}, {: .code-in}, and {: .code-out}.

Tasks

  1. Create each box and see how it looks.
  2. Create one with a nested box.

Examples

Tasks

  1. List of tasks

Details

Here put some text…

Tip

Here put some useful information…

Comment

Here put some comments…

Code In

ls -lh
import pandas as pd

Code Out

# code output

Questions

  1. Question 1
  2. Question 2

Answers

  1. Answer 1
  2. Answer 2

Images

To create a proper inline image link, use ![figure-title](/tutorials/<tutorial-folder>/<image-folder>/<image>){: .responsive-img }. Add {: .responsive-img } to place the image within the text width.

Additional resources

If you need an additional materials to learn how to format the tutorial content, i.e. to wrap parts of the text in the special block quotes, please refer to the Software Carpenters’ Formatting episode.

Please also refer to the Markdown Cheatsheet to learn more how to use Markdown.

Create a new learning pathway


To add a new learning pathway, create <pathway_title>.md file in _pathways folder. The <pathway_title>.md should have the following structure:

---
layout: pathway
title: Title of the Learning Pathway
description: Description of the Learning Pathway
tags: []
pathway:
  - section: "Module 1: Title of the Module
    description: Description of the Module
    tutorials:
      - name: tutorial name
        version: main

  - section: "Module 1: ..."
    description: ...
    tutorials:
      - name: ...
        version: ...
editorial_board:
  - name: ...
    orcid: ...
---

Keep the layout: pathway as default. Commit changes to the new branch and pull a request.

Preview the website


To preview your own training materials locally, use provided devcontainer. To use it, you need to have Visual Studio Code installed. Open the repository in VS Code and it will prompt you to reopen the folder in the container. After that, you can run the Jekyll server as follows:

bundle exec jekyll serve --config _config.yml,_config_dev.yml