Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

7 Contributing

FCC Software tutorials, as well as the whole Key4hep ecosystem, is an open source project, and we welcome contributions of all kinds:

By contributing, you are agreeing that we may redistribute your work under these licenses. You also agree to abide by our contributor code of conduct.

Getting Started

  1. We use the fork and pull model to manage changes. GitHub also provides more information about forking a repository and making a Pull Request on their website.

  2. For our lessons, you should branch from and submit pull requests against the main branch.

  3. When editing lesson pages, you need to only commit changes to the Markdown source files.

  4. To build the tutorials please follow the instructions.

  5. If you’re looking for things to work on, please see the list of issues for this repository. Comments on issues and reviews of pull requests are equally welcome.

Building the tutorials

Requirements

Make sure you have venv (virtual environment) in your working directory. It can be created with the following command:

python3 -m venv venv

Activate it in your shell and install the requirements, which are gathered in a file provided by the repository.

source venv/bin/activate
pip3 install -r requirements.txt

After sourcing, your shell prompt will be augmented by the (venv) prefix, e.g.

(venv) mylaptop:~/fcc/fcc-tutorials

Building

The pages are built with Jupyter Book 2, which is based on the MyST-MD engine and needs Node.js (version 18 or newer) available in your PATH. The static HTML site is generated with

jupyter book build --html

and lands in the _build/html directory.

Browsing the result

The quickest way to preview your changes is the live-reloading development server, which rebuilds the pages every time a Markdown file is saved:

jupyter book start

You should be able to see your local version by opening a web-browser and navigating to the address printed in the terminal (by default http://localhost:3000).

How to Write

More information about how to write the tutorials for the FCC Software visit How to write Mardown.