Software Carpentry, Data Carpentry, and Library Carpentry are open source projects, and we welcome contributions of all kinds: blog posts, fixes to existing material, bug reports, and reviews of proposed changes are all welcome.
By contributing, you agree that we may redistribute your work under our license. Everyone involved in Software Carpentry, Data Carpentry, and Library Carpentry agrees to abide by our code of conduct.
The easiest way to get started is to file an issue to tell us about a spelling mistake, some awkward wording, or a factual error. This is a good way to introduce yourself and to meet some of our community members.
-
If you do not have a GitHub account, you can send us comments by email. However, we will be able to respond more quickly if you use one of the other methods described below.
-
If you have a GitHub account, or are willing to create one, but do not know how to use Git, you can report problems or suggest improvements by creating an issue. This allows us to assign the item to someone and to respond to it in a threaded discussion.
-
If you are comfortable with Git, and would like to add or change material, you can submit a pull request (PR).
-
If you wish to change the website, please work in https://github.com/carpentries/carpentries.org, which can be viewed at https://carpentries.org.
-
If you wish to change CSS style files, tools, or HTML boilerplate for lessons or workshops stored in
_includes
or_layouts
, please work in https://github.com/carpentries/carpentries.org.
-
If you wish to contribute a blog post, please work in https://github.com/carpentries/carpentries.org, which can be viewed at https://carpentries.org/blog.
-
Posts go in the
_posts
folder, which is divided up first by year, e.g.2018
, and then by month, e.g.04
. Be sure to start creating your file in the correct folder. -
Posts need to be created in Markdown and named according to this convention (all-lower-case filenames are preferred):
YYYY-MM-DD-filename.md
e.g.
2017-07-10-assess_report.md
-
In order to render correctly, posts need to have a header block, which should be created like this example, e.g.
---
layout: page
authors: ["Tracy Teal", "Maneesha Sane", "Belinda Weaver"]
title: "Launching our New Handbook"
teaser: "Find new pathways to a range of Carpentries material"
date: 2018-04-11
time: "9:00:00"
tags: ["Communications"]
---
Separate the header block from the post proper by a new line.
-
Time
, but the other fields should be filled in. If there is more than one author, separate the author names like this:["Name 1", "Name 2"]
. Separate any tags the same way. -
Images should be uploaded to the appropriate year in the
files/<year>/<month>
folder. Images should be linked using Markdown, and paths to the image should be relative. Example:![Image Description]({{ site.filesurl }}/2017/07/myimage.jpg)
A web link should be used for images hosted elsewhere. Example:
![Image Description](https://web_address/pathway_to_full_image_filename)
If you are not sure how to add images in Markdown format, look at an existing Software Carpentry post with a locally hosted image or one with a web link and copy the formatting from there.
-
Once you have previewed your file, commit the Markdown file to your fork and start a Pull Request. We automatically run tests using TravisCI on your Pull Requests. Please review your pull request a few minutes after you've submitted it to make sure those tests have passed. These tests look for valid YAML headers and make sure that the post will build properly.
General discussion of Software Carpentry, Data Carpentry, and Library Carpentry happens on the discussion mailing list, which everyone is welcome to join. You can also reach us by email.