Skip to content

Commit 0b9e9b4

Browse files
authored
Merge pull request #18 from tkphd/wrap-79-char
hard wrap at 79 characters
2 parents 1c009fb + d4f92c7 commit 0b9e9b4

32 files changed

+1691
-1075
lines changed

CONTRIBUTING.md

Lines changed: 88 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -1,107 +1,116 @@
11
# Contributing
22

3-
[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source projects, and we
4-
welcome contributions of all kinds: new lessons, fixes to existing material, bug reports, and
5-
reviews of proposed changes are all welcome.
3+
[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source
4+
projects, and we welcome contributions of all kinds: new lessons, fixes to
5+
existing material, bug reports, and reviews of proposed changes are all
6+
welcome.
67

78
## Contributor Agreement
89

9-
By contributing, you agree that we may redistribute your work under [our license](LICENSE.md). In
10-
exchange, we will address your issues and/or assess your change proposal as promptly as we can, and
11-
help you become a member of our community. Everyone involved in [Software Carpentry][swc-site] and
12-
[Data Carpentry][dc-site] agrees to abide by our [code of conduct](CODE_OF_CONDUCT.md).
10+
By contributing, you agree that we may redistribute your work under [our
11+
license](LICENSE.md). In exchange, we will address your issues and/or assess
12+
your change proposal as promptly as we can, and help you become a member of our
13+
community. Everyone involved in [Software Carpentry][swc-site] and [Data
14+
Carpentry][dc-site] agrees to abide by our [code of
15+
conduct](CODE_OF_CONDUCT.md).
1316

1417
## How to Contribute
1518

16-
The easiest way to get started is to file an issue to tell us about a spelling mistake, some awkward
17-
wording, or a factual error. This is a good way to introduce yourself and to meet some of our
18-
community members.
19-
20-
1. If you do not have a [GitHub][github] account, you can [send us comments by email][email].
21-
However, we will be able to respond more quickly if you use one of the other methods described
22-
below.
23-
24-
2. If you have a [GitHub][github] account, or are willing to [create one][github-join], but do not
25-
know how to use Git, you can report problems or suggest improvements by
26-
[creating an issue][issues]. This allows us to assign the item to someone and to respond to it
27-
in a threaded discussion.
28-
29-
3. If you are comfortable with Git, and would like to add or change material, you can submit a pull
30-
request (PR). Instructions for doing this are [included below](#using-github).
19+
The easiest way to get started is to file an issue to tell us about a spelling
20+
mistake, some awkward wording, or a factual error. This is a good way to
21+
introduce yourself and to meet some of our community members.
22+
23+
1. If you do not have a [GitHub][github] account, you can [send us comments by
24+
email][email]. However, we will be able to respond more quickly if you use
25+
one of the other methods described below.
26+
2. If you have a [GitHub][github] account, or are willing to [create
27+
one][github-join], but do not know how to use Git, you can report problems
28+
or suggest improvements by [creating an issue][issues]. This allows us to
29+
assign the item to someone and to respond to it in a threaded discussion.
30+
3. If you are comfortable with Git, and would like to add or change material,
31+
you can submit a pull request (PR). Instructions for doing this are
32+
[included below](#using-github).
3133

3234
## Where to Contribute
3335

34-
1. If you wish to change this lesson, please work in <https://github.com/swcarpentry/FIXME>, which
35-
can be viewed at <https://swcarpentry.github.io/FIXME>.
36-
37-
2. If you wish to change the example lesson, please work in
38-
<https://github.com/carpentries/lesson-example>, which documents the format of our lessons and
39-
can be viewed at <https://carpentries.github.io/lesson-example>.
40-
41-
3. If you wish to change the template used for workshop websites, please work in
42-
<https://github.com/carpentries/workshop-template>. The home page of that repository explains
43-
how to set up workshop websites, while the extra pages in
44-
<https://carpentries.github.io/workshop-template> provide more background on our design choices.
45-
46-
4. If you wish to change CSS style files, tools, or HTML boilerplate for lessons or workshops
47-
stored in `_includes` or `_layouts`, please work in <https://github.com/carpentries/styles>.
36+
1. If you wish to change this lesson, please work in
37+
<https://github.com/swcarpentry/FIXME>, which can be viewed at
38+
<https://swcarpentry.github.io/FIXME>.
39+
2. If you wish to change the example lesson, please work in
40+
<https://github.com/carpentries/lesson-example>, which documents the format
41+
of our lessons and can be viewed at
42+
<https://carpentries.github.io/lesson-example>.
43+
3. If you wish to change the template used for workshop websites, please work
44+
in <https://github.com/carpentries/workshop-template>. The home page of that
45+
repository explains how to set up workshop websites, while the extra pages
46+
in <https://carpentries.github.io/workshop-template> provide more background
47+
on our design choices.
48+
4. If you wish to change CSS style files, tools, or HTML boilerplate for
49+
lessons or workshops stored in `_includes` or `_layouts`, please work in
50+
<https://github.com/carpentries/styles>.
4851

4952
## What to Contribute
5053

51-
There are many ways to contribute, from writing new exercises and improving existing ones to
52-
updating or filling in the documentation and submitting [bug reports][issues] about things that
53-
don't work, aren't clear, or are missing. If you are looking for ideas, please see the 'Issues' tab
54-
for a list of issues associated with this repository, or you may also look at the issues for
55-
[Data Carpentry][dc-issues] and [Software Carpentry][swc-issues] projects.
54+
There are many ways to contribute, from writing new exercises and improving
55+
existing ones to updating or filling in the documentation and submitting [bug
56+
reports][issues] about things that don't work, aren't clear, or are missing. If
57+
you are looking for ideas, please see the 'Issues' tab for a list of issues
58+
associated with this repository, or you may also look at the issues for [Data
59+
Carpentry][dc-issues] and [Software Carpentry][swc-issues] projects.
5660

57-
Comments on issues and reviews of pull requests are just as welcome: we are smarter together than we
58-
are on our own. Reviews from novices and newcomers are particularly valuable: it's easy for people
59-
who have been using these lessons for a while to forget how impenetrable some of this material can
60-
be, so fresh eyes are always welcome.
61+
Comments on issues and reviews of pull requests are just as welcome: we are
62+
smarter together than we are on our own. Reviews from novices and newcomers are
63+
particularly valuable: it's easy for people who have been using these lessons
64+
for a while to forget how impenetrable some of this material can be, so fresh
65+
eyes are always welcome.
6166

6267
## What *Not* to Contribute
6368

64-
Our lessons already contain more material than we can cover in a typical workshop, so we are usually
65-
*not* looking for more concepts or tools to add to them. As a rule, if you want to introduce a new
66-
idea, you must (a) estimate how long it will take to teach and (b) explain what you would take out
67-
to make room for it. The first encourages contributors to be honest about requirements; the second,
68-
to think hard about priorities.
69+
Our lessons already contain more material than we can cover in a typical
70+
workshop, so we are usually *not* looking for more concepts or tools to add to
71+
them. As a rule, if you want to introduce a new idea, you must (a) estimate how
72+
long it will take to teach and (b) explain what you would take out to make room
73+
for it. The first encourages contributors to be honest about requirements; the
74+
second, to think hard about priorities.
6975

70-
We are also not looking for exercises or other material that only run on one platform. Our workshops
71-
typically contain a mixture of Windows, macOS, and Linux users; in order to be usable, our lessons
72-
must run equally well on all three.
76+
We are also not looking for exercises or other material that only run on one
77+
platform. Our workshops typically contain a mixture of Windows, macOS, and
78+
Linux users; in order to be usable, our lessons must run equally well on all
79+
three.
7380

7481
## Using GitHub
7582

76-
If you choose to contribute via GitHub, you may want to look at
77-
[How to Contribute to an Open Source Project on GitHub][how-contribute]. To manage changes, we
78-
follow [GitHub flow][github-flow]. Each lesson has two maintainers who review issues and pull
79-
requests or encourage others to do so. The maintainers are community volunteers and have final say
80-
over what gets merged into the lesson. To use the web interface for contributing to a lesson:
81-
82-
1. Fork the originating repository to your GitHub profile.
83-
2. Within your version of the forked repository, move to the `gh-pages` branch and create a new
84-
branch for each significant change being made.
85-
3. Navigate to the file(s) you wish to change within the new branches and make revisions as
86-
required.
87-
4. Commit all changed files within the appropriate branches.
88-
5. Create individual pull requests from each of your changed branches
89-
to the `gh-pages` branch within the originating repository.
90-
6. If you receive feedback, make changes using your issue-specific branches of the forked
91-
repository and the pull requests will update automatically.
92-
7. Repeat as needed until all feedback has been addressed.
93-
94-
When starting work, please make sure your clone of the originating `gh-pages` branch is up-to-date
95-
before creating your own revision-specific branch(es) from there. Additionally, please only work
96-
from your newly-created branch(es) and *not* your clone of the originating `gh-pages` branch.
97-
Lastly, published copies of all the lessons are available in the `gh-pages` branch of the
98-
originating repository for reference while revising.
83+
If you choose to contribute via GitHub, you may want to look at [How to
84+
Contribute to an Open Source Project on GitHub][how-contribute]. To manage
85+
changes, we follow [GitHub flow][github-flow]. Each lesson has two maintainers
86+
who review issues and pull requests or encourage others to do so. The
87+
maintainers are community volunteers and have final say over what gets merged
88+
into the lesson. To use the web interface for contributing to a lesson:
89+
90+
1. Fork the originating repository to your GitHub profile.
91+
2. Within your version of the forked repository, move to the `gh-pages` branch
92+
and create a new branch for each significant change being made.
93+
3. Navigate to the file(s) you wish to change within the new branches and make
94+
revisions as required.
95+
4. Commit all changed files within the appropriate branches.
96+
5. Create individual pull requests from each of your changed branches to the
97+
`gh-pages` branch within the originating repository.
98+
6. If you receive feedback, make changes using your issue-specific branches of
99+
the forked repository and the pull requests will update automatically.
100+
7. Repeat as needed until all feedback has been addressed.
101+
102+
When starting work, please make sure your clone of the originating `gh-pages`
103+
branch is up-to-date before creating your own revision-specific branch(es) from
104+
there. Additionally, please only work from your newly-created branch(es) and
105+
*not* your clone of the originating `gh-pages` branch. Lastly, published copies
106+
of all the lessons are available in the `gh-pages` branch of the originating
107+
repository for reference while revising.
99108

100109
## Other Resources
101110

102-
General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site] happens on the
103-
[discussion mailing list][discuss-list], which everyone is welcome to join. You can also
104-
[reach us by email][email].
111+
General discussion of [Software Carpentry][swc-site] and [Data
112+
Carpentry][dc-site] happens on the [discussion mailing list][discuss-list],
113+
which everyone is welcome to join. You can also [reach us by email][email].
105114

106115
[email]: mailto:[email protected]
107116
[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
source "https://rubygems.org"
22
gem "github-pages", group: :jekyll_plugins
3+
gem "kramdown-parser-gfm"

README.md

Lines changed: 50 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,79 +1,87 @@
11
# HPC Chapel
22

3-
This lesson is focused on teaching the basics of high-performance computing (HPC).
4-
There are 4 primary components to this lesson.
5-
Each component is budgeted half a day's worth of teaching-time,
6-
resulting in a two day workshop.
3+
This lesson is focused on teaching the basics of high-performance computing
4+
(HPC). There are 4 primary components to this lesson. Each component is
5+
budgeted half a day's worth of teaching-time, resulting in a two day workshop.
76

87
1. UNIX fundamentals
98
2. Working on a cluster
109
3. Programming language introduction/review
1110
4. Introduction to parallel programming
1211

13-
Sections 3 and 4 (programming) will feature two programming languages:
14-
[Python](https://www.python.org/) and [Chapel](http://chapel.cray.com/).
15-
There are strong arguments for both languages,
16-
and instructors will be able to choose which language they wish to teach in.
12+
Sections 3 and 4 (programming) will feature two programming languages:
13+
[Python](https://www.python.org/) and [Chapel](http://chapel.cray.com/). There
14+
are strong arguments for both languages, and instructors will be able to choose
15+
which language they wish to teach in.
1716

1817
## Topic breakdown and todo list
1918

20-
The lesson outline and rough breakdown of topics by lesson writer is in
21-
[lesson-outline.md](lesson-outline.md).
22-
The topics there will be initially generated by the lesson writer,
23-
and then reviewed by the rest of the group once complete.
19+
The lesson outline and rough breakdown of topics by lesson writer is in
20+
[lesson-outline.md](lesson-outline.md). The topics there will be initially
21+
generated by the lesson writer, and then reviewed by the rest of the group once
22+
complete.
2423

2524
## Lesson writing instructions
2625

27-
This is a fast overview of the Software Carpentry lesson template.
28-
This won't cover lesson style or formatting (address that during review?).
26+
This is a fast overview of the Software Carpentry lesson template. This won't
27+
cover lesson style or formatting (address that during review?).
2928

30-
For a full guide to the lesson template, see the
31-
[Software Carpentry example lesson](http://swcarpentry.github.io/lesson-example/).
29+
For a full guide to the lesson template, see the [Software Carpentry example
30+
lesson](http://swcarpentry.github.io/lesson-example/).
3231

3332
### Lesson structure
3433

35-
Software Carpentry lessons are generally episodic, with one clear concept for each episode
36-
([example](http://swcarpentry.github.io/r-novice-gapminder/)).
37-
We've got 4 major sections, each section should be broken up into several episodes
38-
(perhaps the higher-level bullet points from the lesson outline?).
39-
40-
An episode is just a markdown file that lives under the `_episodes` folder.
41-
Here is a link to a [markdown cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) with most markdown syntax.
42-
Additionally, the Software Carpentry lesson template uses several extra bits of formatting- see here for a [full guide](http://swcarpentry.github.io/lesson-example/04-formatting/).
43-
The most significant change is the addition of a YAML header that adds metadata (key questions, lesson teaching times, etc.)
44-
and special syntax for code blocks, exercises, and the like.
45-
46-
Episode names should be prefixed with a number of their section plus the number of their episode within that section.
47-
This is important because the Software Carpentry lesson template will auto-post our lessons in the order that they would sort in.
48-
As long as your lesson sorts into the correct order,
49-
it will appear in the correct order on the website.
34+
Software Carpentry lessons are generally episodic, with one clear concept for
35+
each episode ([example](http://swcarpentry.github.io/r-novice-gapminder/)).
36+
We've got 4 major sections, each section should be broken up into several
37+
episodes (perhaps the higher-level bullet points from the lesson outline?).
38+
39+
An episode is just a markdown file that lives under the `_episodes` folder.
40+
Here is a link to a [markdown
41+
cheatsheet](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet)
42+
with most markdown syntax. Additionally, the Software Carpentry lesson template
43+
uses several extra bits of formatting- see here for a [full
44+
guide](http://swcarpentry.github.io/lesson-example/04-formatting/). The most
45+
significant change is the addition of a YAML header that adds metadata (key
46+
questions, lesson teaching times, etc.) and special syntax for code blocks,
47+
exercises, and the like.
48+
49+
Episode names should be prefixed with a number of their section plus the number
50+
of their episode within that section. This is important because the Software
51+
Carpentry lesson template will auto-post our lessons in the order that they
52+
would sort in. As long as your lesson sorts into the correct order, it will
53+
appear in the correct order on the website.
5054

5155
### Publishing changes to GitHub + the GitHub pages website
5256

53-
The lesson website is viewable at [hpc-carpentry.github.io/hpc-novice](hpc-carpentry.github.io/hpc-novice).
57+
The lesson website is viewable at
58+
[hpc-carpentry.github.io/hpc-novice](hpc-carpentry.github.io/hpc-novice).
5459

55-
The lesson website itself is auto-generated from the `gh-pages` branch of this repository.
56-
GitHub pages will rebuild the website as soon as you push to the GitHub `gh-pages` branch.
57-
Because of this `gh-pages` is considered the "master" branch.
60+
The lesson website itself is auto-generated from the `gh-pages` branch of this
61+
repository. GitHub pages will rebuild the website as soon as you push to the
62+
GitHub `gh-pages` branch. Because of this `gh-pages` is considered the "master"
63+
branch.
5864

5965
### Previewing changes locally
6066

61-
Obviously having to push to GitHub every time you want to view your changes to the website isn't very convenient.
62-
To preview the lesson locally, run `make serve`.
63-
You can then view the website at `localhost:4000` in your browser.
67+
Obviously having to push to GitHub every time you want to view your changes to
68+
the website isn't very convenient. To preview the lesson locally, run `make
69+
serve`. You can then view the website at `localhost:4000` in your browser.
6470
Pages will be automatically regenerated every time you write to them.
6571

66-
Note that the autogenerated website lives under the `_site` directory
67-
(and doesn't get pushed to GitHub).
72+
Note that the autogenerated website lives under the `_site` directory (and
73+
doesn't get pushed to GitHub).
6874

69-
This process requires Ruby, Make, and Jekyll. You can find setup instructions [here](http://swcarpentry.github.io/lesson-example/setup/).
75+
This process requires Ruby, Make, and Jekyll. You can find setup instructions
76+
[here](http://swcarpentry.github.io/lesson-example/setup/).
7077

7178
## Example lessons
7279

7380
A couple links to example SWC workshop lessons for reference:
7481

7582
* [Example Bash lesson](https://github.com/swcarpentry/shell-novice)
7683
* [Example Python lesson](https://github.com/swcarpentry/python-novice-inflammation)
77-
* [Example R lesson](https://github.com/swcarpentry/r-novice-gapminder) (uses R markdown files instead of markdown)
84+
* [Example R lesson](https://github.com/swcarpentry/r-novice-gapminder) (uses R
85+
markdown files instead of markdown)
7886

7987

0 commit comments

Comments
 (0)