Skip to content

Commit 6a90bc0

Browse files
authored
Merge pull request #1 from ErinBecker/gh-pages
initialize lesson to build page
2 parents 002efa8 + 52c67b2 commit 6a90bc0

14 files changed

Lines changed: 339 additions & 2 deletions

File tree

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FIXME: list authors' names and email addresses.

CITATION

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FIXME: describe how to cite this lesson.

CONTRIBUTING.md

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# Contributing
2+
3+
[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source projects,
4+
and we welcome contributions of all kinds:
5+
new lessons,
6+
fixes to existing material,
7+
bug reports,
8+
and reviews of proposed changes are all welcome.
9+
10+
## Contributor Agreement
11+
12+
By contributing,
13+
you agree that we may redistribute your work under [our license](LICENSE.md).
14+
In exchange,
15+
we will address your issues and/or assess your change proposal as promptly as we can,
16+
and help you become a member of our community.
17+
Everyone involved in [Software Carpentry][swc-site] and [Data Carpentry][dc-site]
18+
agrees to abide by our [code of conduct](CONDUCT.md).
19+
20+
## How to Contribute
21+
22+
The easiest way to get started is to file an issue
23+
to tell us about a spelling mistake,
24+
some awkward wording,
25+
or a factual error.
26+
This is a good way to introduce yourself
27+
and to meet some of our community members.
28+
29+
1. If you do not have a [GitHub][github] account,
30+
you can [send us comments by email][email].
31+
However,
32+
we will be able to respond more quickly if you use one of the other methods described below.
33+
34+
2. If you have a [GitHub][github] account,
35+
or are willing to [create one][github-join],
36+
but do not know how to use Git,
37+
you can report problems or suggest improvements by [creating an issue][issues].
38+
This allows us to assign the item to someone
39+
and to respond to it in a threaded discussion.
40+
41+
3. If you are comfortable with Git,
42+
and would like to add or change material,
43+
you can submit a pull request (PR).
44+
Instructions for doing this are [included below](#using-github).
45+
46+
## Where to Contribute
47+
48+
1. If you wish to change this lesson,
49+
please work in <https://github.com/swcarpentry/FIXME>,
50+
which can be viewed at <https://swcarpentry.github.io/FIXME>.
51+
52+
2. If you wish to change the example lesson,
53+
please work in <https://github.com/swcarpentry/lesson-example>,
54+
which documents the format of our lessons
55+
and can be viewed at <https://swcarpentry.github.io/lesson-example>.
56+
57+
3. If you wish to change the template used for workshop websites,
58+
please work in <https://github.com/swcarpentry/workshop-template>.
59+
The home page of that repository explains how to set up workshop websites,
60+
while the extra pages in <https://swcarpentry.github.io/workshop-template>
61+
provide more background on our design choices.
62+
63+
4. If you wish to change CSS style files, tools,
64+
or HTML boilerplate for lessons or workshops stored in `_includes` or `_layouts`,
65+
please work in <https://github.com/swcarpentry/styles>.
66+
67+
## What to Contribute
68+
69+
There are many ways to contribute,
70+
from writing new exercises and improving existing ones
71+
to updating or filling in the documentation
72+
and and submitting [bug reports][issues]
73+
about things that don't work, aren't clear, or are missing.
74+
If you are looking for ideas, please see the 'Issues' tab for
75+
a list of issues associated with this repository,
76+
or you may also look at the issues for [Data Carpentry][dc-issues]
77+
and [Software Carpentry][swc-issues] projects.
78+
79+
Comments on issues and reviews of pull requests are just as welcome:
80+
we are smarter together than we are on our own.
81+
Reviews from novices and newcomers are particularly valuable:
82+
it's easy for people who have been using these lessons for a while
83+
to forget how impenetrable some of this material can be,
84+
so fresh eyes are always welcome.
85+
86+
## What *Not* to Contribute
87+
88+
Our lessons already contain more material than we can cover in a typical workshop,
89+
so we are usually *not* looking for more concepts or tools to add to them.
90+
As a rule,
91+
if you want to introduce a new idea,
92+
you must (a) estimate how long it will take to teach
93+
and (b) explain what you would take out to make room for it.
94+
The first encourages contributors to be honest about requirements;
95+
the second, to think hard about priorities.
96+
97+
We are also not looking for exercises or other material that only run on one platform.
98+
Our workshops typically contain a mixture of Windows, Mac OS X, and Linux users;
99+
in order to be usable,
100+
our lessons must run equally well on all three.
101+
102+
## Using GitHub
103+
104+
If you choose to contribute via GitHub, you may want to look at
105+
[How to Contribute to an Open Source Project on GitHub][how-contribute].
106+
To manage changes, we follow [GitHub flow][github-flow].
107+
Each lesson has two maintainers who review issues and pull requests or encourage others to do so.
108+
The maintainers are community volunteers and have final say over what gets merged into the lesson.
109+
To use the web interface for contributing to a lesson:
110+
111+
1. Fork the master repository to your GitHub profile.
112+
2. Within your version of the forked repository, move to the `gh-pages` branch and
113+
create a new branch for each significant change being made.
114+
3. Navigate to the file(s) you wish to change within the new branches and make revisions as required.
115+
4. Commit all changed files within the appropriate branches.
116+
5. Create individual pull requests from each of your changed branches
117+
to the `gh-pages` branch within the master repository.
118+
6. If you receive feedback, make changes using your issue-specific branches of the forked
119+
repository and the pull requests will update automatically.
120+
7. Repeat as needed until all feedback has been addressed.
121+
122+
When starting work, please make sure your clone of the master `gh-pages` branch is up-to-date
123+
before creating your own revision-specific branch(es) from there.
124+
Additionally, please only work from your newly-created branch(es) and *not*
125+
your clone of the master `gh-pages` branch.
126+
Lastly, published copies of all the lessons are available in the `gh-pages` branch of the master
127+
repository for reference while revising.
128+
129+
## Other Resources
130+
131+
General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site]
132+
happens on the [discussion mailing list][discuss-list],
133+
which everyone is welcome to join.
134+
You can also [reach us by email][email].
135+
136+
[email]: mailto:admin@software-carpentry.org
137+
[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
138+
[dc-lessons]: http://datacarpentry.org/lessons/
139+
[dc-site]: http://datacarpentry.org/
140+
[discuss-list]: http://lists.software-carpentry.org/listinfo/discuss
141+
[github]: https://github.com
142+
[github-flow]: https://guides.github.com/introduction/flow/
143+
[github-join]: https://github.com/join
144+
[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github
145+
[issues]: https://guides.github.com/features/issues/
146+
[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
147+
[swc-lessons]: https://software-carpentry.org/lessons/
148+
[swc-site]: https://software-carpentry.org/

_config.yml

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
#------------------------------------------------------------
2+
# Values for this lesson.
3+
#------------------------------------------------------------
4+
5+
# Which carpentry is this ("swc", "dc", or "lc")?
6+
carpentry: "swc"
7+
8+
# Overall title for pages.
9+
title: "Lesson Title"
10+
11+
# Contact. This *must* include the protocol: if it's an email
12+
# address, it must look like "mailto:lessons@software-carpentry.org",
13+
# or if it's a URL, "https://gitter.im/username/ProjectName".
14+
email: "mailto:lessons@software-carpentry.org"
15+
16+
#------------------------------------------------------------
17+
# Generic settings (should not need to change).
18+
#------------------------------------------------------------
19+
20+
# What kind of thing is this ("workshop" or "lesson")?
21+
kind: "lesson"
22+
23+
# Magic to make URLs resolve both locally and on GitHub.
24+
# See https://help.github.com/articles/repository-metadata-on-github-pages/.
25+
repository: <USERNAME>/<PROJECT>
26+
27+
# Sites.
28+
amy_site: "https://amy.software-carpentry.org/workshops"
29+
dc_site: "http://datacarpentry.org"
30+
swc_github: "https://github.com/swcarpentry"
31+
swc_site: "https://software-carpentry.org"
32+
swc_pages: "https://swcarpentry.github.io"
33+
lc_site: "https://librarycarpentry.github.io/"
34+
template_repo: "https://github.com/swcarpentry/styles"
35+
example_repo: "https://github.com/swcarpentry/lesson-example"
36+
example_site: "https://swcarpentry.github.com/lesson-example"
37+
workshop_repo: "https://github.com/swcarpentry/workshop-template"
38+
workshop_site: "https://swcarpentry.github.io/workshop-template"
39+
training_site: "https://swcarpentry.github.io/instructor-training"
40+
41+
# Surveys.
42+
pre_survey: "https://www.surveymonkey.com/r/swc_pre_workshop_v1?workshop_id="
43+
post_survey: "https://www.surveymonkey.com/r/swc_post_workshop_v1?workshop_id="
44+
training_post_survey: "https://www.surveymonkey.com/r/post-instructor-training"
45+
46+
# Start time in minutes (0 to be clock-independent, 540 to show a start at 09:00 am).
47+
start_time: 0
48+
49+
# Specify that things in the episodes collection should be output.
50+
collections:
51+
episodes:
52+
output: true
53+
permalink: /:path/index.html
54+
extras:
55+
output: true
56+
permalink: /:path/index.html
57+
58+
# Set the default layout for things in the episodes collection.
59+
defaults:
60+
- values:
61+
root: ..
62+
- scope:
63+
path: ""
64+
type: episodes
65+
values:
66+
layout: episode
67+
68+
# Files and directories that are not to be copied.
69+
exclude:
70+
- Makefile
71+
- bin
72+
73+
# Turn on built-in syntax highlighting.
74+
highlighter: rouge

_episodes/01-introduction.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
title: "Introduction"
3+
teaching: 0
4+
exercises: 0
5+
questions:
6+
- "Key question"
7+
objectives:
8+
- "First objective."
9+
keypoints:
10+
- "First key point."
11+
---

_extras/about.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
layout: page
3+
title: About
4+
---
5+
{% include carpentries.html %}

_extras/discuss.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
layout: page
3+
title: Discussion
4+
---
5+
FIXME

_extras/figures.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
---
2+
layout: page
3+
title: Figures
4+
---
5+
<script>
6+
window.onload = function() {
7+
var lesson_episodes = [
8+
{% for episode in site.episodes %}
9+
"{{ episode.url}}"{% unless forloop.last %},{% endunless %}
10+
{% endfor %}
11+
];
12+
var xmlHttp = []; /* Required since we are going to query every episode. */
13+
for (i=0; i < lesson_episodes.length; i++) {
14+
xmlHttp[i] = new XMLHttpRequest();
15+
xmlHttp[i].episode = lesson_episodes[i]; /* To enable use this later. */
16+
xmlHttp[i].onreadystatechange = function() {
17+
if (this.readyState == 4 && this.status == 200) {
18+
var article_here = document.getElementById(this.episode);
19+
var parser = new DOMParser();
20+
var htmlDoc = parser.parseFromString(this.responseText,"text/html");
21+
var htmlDocArticle = htmlDoc.getElementsByTagName("article")[0];
22+
article_here.appendChild(htmlDocArticle.getElementsByTagName("h1")[0]);
23+
for (let image of htmlDocArticle.getElementsByTagName("img")) {
24+
article_here.appendChild(image);
25+
}
26+
}
27+
}
28+
episode_url = "{{ page.root }}" + lesson_episodes[i];
29+
xmlHttp[i].open("GET", episode_url);
30+
xmlHttp[i].send(null);
31+
}
32+
}
33+
</script>
34+
{% comment %}
35+
Create anchor for each one of the episodes.
36+
{% endcomment %}
37+
{% for episode in site.episodes %}
38+
<article id="{{ episode.url }}"></article>
39+
{% endfor %}

_extras/guide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
layout: page
3+
title: "Instructor Notes"
4+
---
5+
FIXME

_layouts/lesson.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,3 @@
33
---
44
{% include main_title.html %}
55
{{ content }}
6-
{% include syllabus.html %}

0 commit comments

Comments
 (0)