Commit a6a4545f authored by Maximilian Dolling's avatar Maximilian Dolling

initial commit for upcomming workshop

parents
Pipeline #8553 passed with stages
in 1 minute and 34 seconds
root = true
[*]
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
indent_size = 2
indent_style = space
max_line_length = 100 # Please keep this in sync with bin/lesson_check.py!
[*.r]
max_line_length = 80
[*.py]
indent_size = 4
indent_style = space
max_line_length = 79
[*.sh]
end_of_line = lf
[Makefile]
indent_style = tab
github: [carpentries, swcarpentry, datacarpentry, librarycarpentry]
custom: ["https://carpentries.wedid.it"]
Please delete this line and the text below before submitting your contribution.
---
Thanks for contributing! If this contribution is for instructor training, please send an email to checkout@carpentries.org with a link to this contribution so we can record your progress. You’ve completed your contribution step for instructor checkout just by submitting this contribution.
If this issue is about a specific episode within a lesson, please provide its link or filename.
Please keep in mind that lesson maintainers are volunteers and it may be some time before they can respond to your contribution. Although not all contributions can be incorporated into the lesson materials, we appreciate your time and effort to improve the curriculum. If you have any questions about the lesson maintenance process or would like to volunteer your time as a contribution reviewer, please contact The Carpentries Team at team@carpentries.org.
---
Please delete this line and the text below before submitting your contribution.
---
Thanks for contributing! If this contribution is for instructor training, please send an email to checkout@carpentries.org with a link to this contribution so we can record your progress. You’ve completed your contribution step for instructor checkout just by submitting this contribution.
Please keep in mind that lesson maintainers are volunteers and it may be some time before they can respond to your contribution. Although not all contributions can be incorporated into the lesson materials, we appreciate your time and effort to improve the curriculum. If you have any questions about the lesson maintenance process or would like to volunteer your time as a contribution reviewer, please contact The Carpentries Team at team@carpentries.org.
---
*.pyc
*~
.DS_Store
.ipynb_checkpoints
.sass-cache
.jekyll-cache/
__pycache__
_site
.Rproj.user
.Rhistory
.RData
.bundle/
.vendor/
.docker-vendor/
Gemfile.lock
\ No newline at end of file
image: ruby:2.3
before_script:
- bundle install
pages:
stage: deploy
script:
- bundle exec jekyll build -d public
artifacts:
paths:
- public
only:
- gh-pages
tags:
- swc-bb
test:
stage: test
script:
- bundle exec jekyll build -d test
tags:
- swc-bb
artifacts:
paths:
- test
Abigail Cabunoc Mayes <abigail.cabunoc@gmail.com>
Abigail Cabunoc Mayes <abigail.cabunoc@gmail.com> <abigail.cabunoc@oicr.on.ca>
Amy Brown <amyrhoda@gmail.com> <arbrown@latte.ca>
Andrew Walker <a.walker@leeds.ac.uk> <andrew.walker@bristol.ac.uk>
Andy Boughton <abought@gmail.com> <pchemist@gmail.com>
Ben Jolly <bhjolly@gmail.com>
Erin Becker <erinstellabecker@gmail.com>
Evan P. Williamson <evanpeterw@gmail.com>
François Michonneau <francois.michonneau@gmail.com>
François Michonneau <francois.michonneau@gmail.com> <francois.michonneau@gmail.Com>
Greg Wilson <gvwilson@software-carpentry.org> <gvwilson@third-bit.com>
James Allen <james@sharelatex.com> <jamesallen0108@gmail.com>
Jonah Duckles <jonah@duckles.org> <jonahd@gmail.com>
Jonathan Cooper <j.p.cooper@ucl.ac.uk> <github.com@jonc.me.uk>
Lauren Michael <lmichael@wisc.edu>
Leighton Pritchard <leightonpritchard@mac.com>
Lex Nederbragt <lex.nederbragt@bio.uio.no> <lex.nederbragt@ibv.uio.no>
Maneesha Sane <ahseenam@gmail.com>
Marianna Foos <mfoos@users.noreply.github.com>
Maxim Belkin <maxim.belkin@gmail.com> <maxim-belkin@users.noreply.github.com>
Mike Jackson <m.jackson@software.ac.uk> <michaelj@epcc.ed.ac.uk>
Neal Davis <davis68@illinois.edu> <davisneale@gmail.com>
Pauline Barmby <pbarmby@uwo.ca>
Philipp Von Bieberstein <pbieberstein@email.arizona.edu>
Raniere Silva <raniere@rgaiacs.com> <ra092767@ime.unicamp.br>
Raniere Silva <raniere@rgaiacs.com> <raniere@ime.unicamp.br>
Rémi Emonet <remi@heeere.com> <remi.emonet@reverse--com.heeere>
Rémi Emonet <remi@heeere.com> <twitwi@users.noreply.github.com>
Sarah Stevens <ssteven2@wisc.edu> <sstevens2@wisc.edu>
Timothée Poisot <t.poisot@gmail.com> <tim@poisotlab.io>
Yashasvi Girdhar <yash.girdhar@gmail.com>
language: python
python:
- "3.6"
# Remember that the code is running on a 14.04 machine.
# - "3.4"
# command to install dependencies
install:
- pip install -r requirements.txt
# as per https://docs.travis-ci.com/user/installing-dependencies/
# command to run tests
before_script:
- "python bin/_travis.py"
script:
- python bin/workshop_check.py .
- python -m unittest bin/_test/bs4test.py
branches:
only:
- gh-pages
Aron Ahmadia
Phillip Alderman
James Allen
Piotr Banaszkiewicz
Pauline Barmby
Radovan Bast
John Blischak
Olga Botvinnik
Andy Boughton
Erik M. Bray
Amy Brown
C. Titus Brown
Greg Caporaso
Sarah Clayton
Matt Davis
Neal Davis
Jonah Duckles
Marianna Foos
Yashasvi Girdhar
Ivan Gonzalez
John Gosset
Alistair Grant
Thomas Guignard
Konrad Hinsen
Xavier Ho
Damien Irving
Mike Jackson
Ben Jolly
Jan T. Kim
W. Trevor King
David LeBauer
Joona Lehtomäki
Kunal Marwaha
Sheldon McKay
Lauren Michael
François Michonneau
Lex Nederbragt
Aleksandra Nenadic
Jeramia Ory
Fernando Perez
Leighton Pritchard
Andrey Prokopenko
Scott Ritchie
Maneesha Sane
Raniere Silva
Arfon Smith
Ashwin Srinath
Sarah Stevens
Julia Stewart Lowndes
Tracy Teal
Stefan Topfstedt
Olav Vahtras
Philipp Von Bieberstein
Andrew Walker
Ben Waugh
Lukas Weber
Ethan White
Jason Williams
Carol Willing
Greg Wilson
Tom Wright
Andrea Zonca
Alex Thompson
Jonathan Cooper
Marcel Stimberg
Mark A. Matienzo
Steve Moss
Please cite as:
Greg Wilson (ed): "Software Carpentry: Workshop Template." Version
2016.06, June 2016, https://github.com/carpentries/workshop-template,
10.5281/zenodo.58156.
---
layout: page
title: "Contributor Code of Conduct"
---
As contributors and maintainers of this project,
we pledge to follow the [Carpentry Code of Conduct][coc].
Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by following our [reporting guidelines][coc-reporting].
{% include links.md %}
---
layout: page
title: "Contributor Code of Conduct"
---
As contributors and maintainers of this project,
we pledge to respect all people who contribute through reporting issues,
posting feature requests,
updating documentation,
submitting pull requests or patches,
and other activities.
We are committed to making participation in this project a harassment-free experience for everyone,
regardless of level of experience,
gender,
gender identity and expression,
sexual orientation,
disability,
personal appearance,
body size,
race,
ethnicity,
age,
or religion.
Examples of unacceptable behavior by participants include the use of sexual language or imagery,
derogatory comments or personal attacks,
trolling,
public or private harassment,
insults,
or other unprofessional conduct.
Project maintainers have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to our [Code of Conduct][coc].
Project maintainers who do not follow the Code of Conduct may be removed from the project team.
Instances of abusive, harassing, or otherwise unacceptable behavior
may be reported by following our [reporting guidelines][coc-reporting].
- [Software and Data Carpentry Code of Conduct][coc]
- [Code of Conduct Reporting Guide][coc-reporting]
{% include links.md %}
# Contributing
[Software Carpentry][swc-site] and [Data Carpentry][dc-site] are open source projects,
and we welcome contributions of all kinds:
new lessons,
fixes to existing material,
bug reports,
and reviews of proposed changes are all welcome.
## Contributor Agreement
By contributing,
you agree that we may redistribute your work under [our license](LICENSE.md).
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 [Software Carpentry][swc-site] and [Data Carpentry][dc-site]
agrees to abide by our [code of conduct](CONDUCT.md).
## How to Contribute
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.
1. If you do not have a [GitHub][github] account,
you can [send us comments by email][contact].
However,
we will be able to respond more quickly if you use one of the other methods described below.
2. If you have a [GitHub][github] account,
or are willing to [create one][github-join],
but do not know how to use Git,
you can report problems or suggest improvements by [creating an issue][issues].
This allows us to assign the item to someone
and to respond to it in a threaded discussion.
3. If you are comfortable with Git,
and would like to add or change material,
you can submit a pull request (PR).
Instructions for doing this are [included below](#using-github).
## Where to Contribute
1. If you wish to change the template used for workshop websites,
please work in <https://github.com/swcarpentry/workshop-template>.
The home page of that repository explains how to set up workshop websites,
while the extra pages in <https://swcarpentry.github.io/workshop-template>
provide more background on our design choices.
2. 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/swcarpentry/styles>.
## What to Contribute
There are many ways to contribute,
from writing new exercises and improving existing ones
to updating or filling in the documentation
and submitting [bug reports][issues]
about things that don't work, aren't clear, or are missing.
If you are looking for ideas,
please see [the list of issues for this repository][issues],
or the issues for [Data Carpentry][dc-issues]
and [Software Carpentry][swc-issues] projects.
Comments on issues and reviews of pull requests are just as welcome:
we are smarter together than we are on our own.
Reviews from novices and newcomers are particularly valuable:
it's easy for people who have been using these lessons for a while
to forget how impenetrable some of this material can be,
so fresh eyes are always welcome.
## What *Not* to Contribute
Our lessons already contain more material than we can cover in a typical workshop,
so we are usually *not* looking for more concepts or tools to add to them.
As a rule,
if you want to introduce a new idea,
you must (a) estimate how long it will take to teach
and (b) explain what you would take out to make room for it.
The first encourages contributors to be honest about requirements;
the second, to think hard about priorities.
We are also not looking for exercises or other material that only run on one platform.
Our workshops typically contain a mixture of Windows, macOS, and Linux users;
in order to be usable,
our lessons must run equally well on all three.
## Using GitHub
If you choose to contribute via GitHub,
you may want to look at
[How to Contribute to an Open Source Project on GitHub][how-contribute].
In brief:
1. The published copy of the lesson is in the `gh-pages` branch of the repository
(so that GitHub will regenerate it automatically).
Please create all branches from that,
and merge the [master repository][repo]'s `gh-pages` branch into your `gh-pages` branch
before starting work.
Please do *not* work directly in your `gh-pages` branch,
since that will make it difficult for you to work on other contributions.
2. We use [GitHub flow][github-flow] to manage changes:
1. Create a new branch in your desktop copy of this repository for each significant change.
2. Commit the change in that branch.
3. Push that branch to your fork of this repository on GitHub.
4. Submit a pull request from that branch to the [master repository][repo].
5. If you receive feedback,
make changes on your desktop and push to your branch on GitHub:
the pull request will update automatically.
Each lesson has two maintainers who review issues and pull requests
or encourage others to do so.
The maintainers are community volunteers,
and have final say over what gets merged into the lesson.
## Other Resources
General discussion of [Software Carpentry][swc-site] and [Data Carpentry][dc-site]
happens on the [discussion mailing list][discuss-list],
which everyone is welcome to join.
You can also [reach us by email][contact].
[contact]: mailto:admin@software-carpentry.org
[dc-issues]: https://github.com/issues?q=user%3Adatacarpentry
[dc-lessons]: http://datacarpentry.org/lessons/
[dc-site]: http://datacarpentry.org/
[discuss-list]: http://lists.software-carpentry.org/listinfo/discuss
[github]: http://github.com
[github-flow]: https://guides.github.com/introduction/flow/
[github-join]: https://github.com/join
[how-contribute]: https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github
[issues]: https://github.com/swcarpentry/workshop-template/issues/
[repo]: https://github.com/swcarpentry/workshop-template/
[swc-issues]: https://github.com/issues?q=user%3Aswcarpentry
[swc-lessons]: http://software-carpentry.org/lessons/
[swc-site]: http://software-carpentry.org/
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 3.7.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.0"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.6"
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby]
---
layout: page
title: "Licenses"
---
## Instructional Material
All Software Carpentry, Data Carpentry, and Library Carpentry instructional material is
made available under the [Creative Commons Attribution
license][cc-by-human]. The following is a human-readable summary of
(and not a substitute for) the [full legal text of the CC BY 4.0
license][cc-by-legal].
You are free:
* to **Share**---copy and redistribute the material in any medium or format
* to **Adapt**---remix, transform, and build upon the material
for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the
license terms.
Under the following terms:
* **Attribution**---You must give appropriate credit (mentioning that
your work is derived from work that is Copyright © Software
Carpentry and, where practical, linking to
http://software-carpentry.org/), provide a [link to the
license][cc-by-human], and indicate if changes were made. You may do
so in any reasonable manner, but not in any way that suggests the
licensor endorses you or your use.
**No additional restrictions**---You may not apply legal terms or
technological measures that legally restrict others from doing
anything the license permits. With the understanding that:
Notices:
* You do not have to comply with the license for elements of the
material in the public domain or where your use is permitted by an
applicable exception or limitation.
* No warranties are given. The license may not give you all of the
permissions necessary for your intended use. For example, other
rights such as publicity, privacy, or moral rights may limit how you
use the material.
## Software
Except where otherwise noted, the example programs and other software
provided by Software Carpentry and Data Carpentry are made available under the
[OSI][osi]-approved
[MIT license][mit-license].
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
## Trademark
"Software Carpentry" and "Data Carpentry" and their respective logos
are registered trademarks of [Community Initiatives][CI].
[cc-by-human]: https://creativecommons.org/licenses/by/4.0/
[cc-by-legal]: https://creativecommons.org/licenses/by/4.0/legalcode
[mit-license]: https://opensource.org/licenses/mit-license.html
[ci]: http://communityin.org/
[osi]: https://opensource.org
# Use /bin/bash instead of /bin/sh
export SHELL = /bin/bash
## ========================================
## Commands for both workshop and lesson websites.
# Settings
MAKEFILES=Makefile $(wildcard *.mk)
JEKYLL_VERSION=3.8.5
JEKYLL=bundle install --path .vendor/bundle && bundle update && bundle exec jekyll
PARSER=bin/markdown_ast.rb
DST=_site
# Check Python 3 is installed and determine if it's called via python3 or python
# (https://stackoverflow.com/a/4933395)
PYTHON3_EXE := $(shell which python3 2>/dev/null)
ifneq (, $(PYTHON3_EXE))
ifeq (,$(findstring Microsoft/WindowsApps/python3,$(subst \,/,$(PYTHON3_EXE))))
PYTHON := python3
endif
endif
ifeq (,$(PYTHON))
PYTHON_EXE := $(shell which python 2>/dev/null)
ifneq (, $(PYTHON_EXE))
PYTHON_VERSION_FULL := $(wordlist 2,4,$(subst ., ,$(shell python --version 2>&1)))
PYTHON_VERSION_MAJOR := $(word 1,${PYTHON_VERSION_FULL})
ifneq (3, ${PYTHON_VERSION_MAJOR})
$(error "Your system does not appear to have Python 3 installed.")
endif
PYTHON := python
else
$(error "Your system does not appear to have any Python installed.")
endif
endif
# Controls
.PHONY : commands clean files
# Default target
.DEFAULT_GOAL := commands
## I. Commands for both workshop and lesson websites
## =================================================
## * serve : render website and run a local server
serve : lesson-md
${JEKYLL} serve
## * site : build website but do not run a server
site : lesson-md
${JEKYLL} build
## * docker-serve : use Docker to serve the site
docker-serve :
docker run --rm -it --volume ${PWD}:/srv/jekyll \
--volume=${PWD}/.docker-vendor/bundle:/usr/local/bundle \
-p 127.0.0.1:4000:4000 \
jekyll/jekyll:${JEKYLL_VERSION} \
bin/run-make-docker-serve.sh
## * repo-check : check repository settings
repo-check :
@${PYTHON} bin/repo_check.py -s .
## * clean : clean up junk files
clean :
@rm -rf ${DST}
@rm -rf .sass-cache
@rm -rf bin/__pycache__
@find . -name .DS_Store -exec rm {} \;
@find . -name '*~' -exec rm {} \;
@find . -name '*.pyc' -exec rm {} \;
## * clean-rmd : clean intermediate R files (that need to be committed to the repo)
clean-rmd :
@rm -rf ${RMD_DST}
@rm -rf fig/rmd-*
##
## II. Commands specific to workshop websites
## =================================================
.PHONY : workshop-check
## * workshop-check : check workshop homepage
workshop-check :
@${PYTHON} bin/workshop_check.py .
##