AuthorCarpentry is an open source project, and we welcome contributions of all kinds: new lessons, 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. In exchange, we will address your issues and/or assess your change proposal as promptly as we can, and help you become a member of our community. Everyone involved in Author Carpentry agrees to abide by our code of conduct.
All lesson content is written in markdown (.md) files. We use mkpage version 1.0+ to render lesson content into .html pages. Install mkpage from the Caltech Library repository at https://github.com/caltechlibrary/mkpage. There is a different mkpage available via rpm that won't work for our application. While GitHub can render content, we use mkpage so lesson content can be viewed independent from a web connection.
-
Fork the
authorcarpentry/lesson-name
repository on GitHub. -
Clone the repository to your local computer by using the "Clone" link at the top left corner of the repository page. In a local terminal window type 'git clone link'
-
Make your changes to the .md files using your favorite text editor.
-
Render your content by typing ./mk-website.bash
-
(Optional) View your changes locally by typing 'ws' and pointing your web browser to http://localhost:8000
-
Upload your changes to your GitHub account by typing ./publish.bash (Does a git commit and push)
-
On the your GitHub repository site 'https://github.com/username/lesson-name' add a new branch by using the branch dropdown. Choose something that describes the changes you've made like
fixing-typos-in-shell-lesson
oradding-tutorial-on-visualization
. -
Submit a pull request by clicking the 'New pull request' button, right next to the branch dropdown.
If it is easier for you to send them to us some other way, please mail us at [email protected]. Given a choice between you creating content or wrestling with Git, we'd rather have you doing the former.
Every lesson has a repository of its own, while individual topics are files
in that directory. For example, the shell-ecology
directory holding our
introduction to the shell for ecology contains the files 00-intro.md
,
01-filedir.md
and so on. (We use two digits followed by a one-word topic
key to ensure files
appear in the right order when listed.)
To ensure a consistent formatting of the lessons, we recommend the following guidelines:
- No trailing white space
- Wrap lines at 80 characters (unless it breaks URLs)
Where can I get help?
Mail us at [email protected]