(these notes are under construction!)
This guide explains how to contribute to our curriculum. You can:
- Suggest amendments and improvements to our projects;
- Write new projects;
If you'd like to help us translate our projects, please fill in this form. We will get in touch with you within a week to explain the process and get you involved.
We recommend using GitHub to contribute. GitHub is a version-control system that allows hassle-free contributions, and allows us to easily track and manage those contributions. These notes outline the process of contributing via GitHub.
If you don't have a GitHub account, you can sign up. You can also install the GitHub application, which is available for windows or mac.
You don’t have to use GitHub to contribute. If you prefer, you can also email us with your contribution at projects@raspberrypi.org.
Alternatively, you can click the following links to raise an issue with our Scratch, HTML & CSS or Python curriculum. If you have any cool ideas for improving our curriculum (or our website), you can submit your idea to us.
Each curriculum has its own repository, which is a central place for storing all of the projects. The files in the repositories are used to generate the websites for the UK and world project sites.
Click the link for the repository you wish to contribute to. We currently have Scratch, HTML & CSS and Python project repositories.
Click the 'Fork' button to create your own copy of the projects repository. This will enable you to make changes to the projects.
If the copied repository shows your own username (and the text 'forked from CodeClub') then you've successfully created a fork (copy) of the curriculum.
(If you are only making small text edits to projects, you can jump to step 3.)
This step is not neccessary for small text edits to the projects.
Clone the repository to your computer. This will create a copy of your new repository on your local computer.
If you're using the GitHub tool for Mac or Windows, click 'clone' to download the repository to your computer.
If the clone has been successful, you should see the repository in the GitHub application.
Alternatively, if you don't have the GitHub application, you can type the following from the terminal:
cd ~/Documents
git clone git@github.com:YOUR_NAME/REPOSITORY_NAME.git
Note: Replace YOUR_NAME with your GitHub username, 'Documents' with the name of the folder you'd like to save the repository into, and REPOSITORY_NAME with the name of the repository. This will be one of the following:
- scratch-curriculum
- webdev-curriculum
- python-curriculum
Make sure that you have configured your fork to sync with the original. The instructions to do this can be found on the GitHub help website.
git remote add upstream https://github.com/CodeClub/scratch-curriculum.git
In the command above you will need to replace the word scratch
with webdev
or python
if you are forking a different repository.
You should switch to the correct branch. The content for the projects.codeclubworld.org can be found in the master
branch and the content for the codeclubprojects.org site can be found in the new-layout
branch.
git checkout new-layout
You can now:
- Make amendments and improvements to projects;
- For the projects.codeclubworld.org site:
- For the codeclubprojects site:
When contributing to our curriculum, please make sure that the project conforms to our project guidelines.
To view your contribution, you'll need to use the lesson_format tool to build a local copy of our projects. Instructions on how to install the lesson formatter are here.
For small changes made directly on the GitHub website, you can simply scroll down to the bottom of the file you've amended, and click 'Commit Change'.
For new projects, the contributions you've written are saved to your local computer, but you'll need to upload them to your GitHub account. Here's how you upload your contribution:
Before saving your contribution to your fork, ensure that your fork is up to date with Code Club's original repository. Instructions on how to do this are on the GitHub help website.
git fetch upstream
git merge upstream/master
If you're using the GitHub for Mac or Windows application, click the 'toggle' button, so the button on the right says 'Commit and Sync'. Then click this button to upload your contribution. You'll need to add a summary and a description of your contribution.
If you're not using the GitHub application, from the terminal go to the root folder of your repository, for example:
cd ~/Documents/scratch-curriculum
- Add in your files.
git add --all
- Commit your contribution:
git commit -m 'Your message here'
- Push your contribution to your GitHub account.
git push
Go to your copy of the respository on the GitHub website, and click the 'Pull Request button.
On the next screen, you can review your changes, and click the 'Create pull request' button if you're happy, which will alert us to your contribution.
When we merge the pull request, your contribution will become part of the main curriculum repository, available for everyone to use and benefit from!