Science Score: 28.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
8 of 34 committers (23.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.6%) to scientific vocabulary
Keywords from Contributors
Repository
Basic Info
- Host: GitHub
- Owner: BernhardKonrad
- License: other
- Language: TeX
- Default Branch: master
- Size: 66.1 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Software Carpentry Web Site
This repository holds the source for
the Software Carpentry web site.
Home pages for bootcamps are not stored in this repository:
if you want to create one,
please see the instructions in the bc repository.
Contributing
Software Carpentry is an open source/open access project, and we welcome contributions of all kinds. By contributing, you are agreeing that Software Carpentry may redistribute your work under these licenses.
Software Carpentry uses a development workflow similar to that of AstroPy and many other open source projects. The AstroPy docs have excellent sections on:
Cloning
To build this web site,
you will need to clone git@github.com:swcarpentry/site.git,
and then clone the submodule https://github.com/swcarpentry/v4.git.
Note: this repository takes up roughly 360 MBytes
(including what's in .git),
and the Version 4 lesson materials add another 300 MBytes.
Building
Building the web site requires:
Python packages can be installed using:
~~~ $ pip install -r requirements.txt ~~~
We use Jekyll because it's what GitHub uses; we use Python because most of our volunteers speak it.
- Type
maketo see a list of all available commands. - Type
make cacheto fetch information about upcoming bootcamps. This must be done before building the web site. - Type
make checkto build everything in_sitefor testing. (Depending on your machine, this takes about 10-15 seconds.)
We try to use the same MarkDown interpreters as GitHub does for consistency. On OS X, we suggest you use a recent Ruby to get access to these. If you don't have Homebrew or MacPorts installed, here's a quick recipe to get started using HomeBrew.
~~~ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)" brew install ruby gem install jekyll gem install redcarpet ~~~
Design Notes
- We generate our own RSS feed (in
feed.xml) and blog home page because Jekyll insists on using_posts/YYYY-MM-DD-name.html, and we don't want to have hundreds of files in one directory. - Bootcamp pages for old bootcamps
are stored in the
bootcampsdirectory of this repository, since there's little point in creating repos for them. New bootcamps should be created using the process described below.
Adding Bootcamps
Old bootcamps' home pages are stored in bootcamps/yyyy-mm-dd-site/index.html.
Newer bootcamps' home pages are stored in their own repositories on GitHub.
The make target make cache runs the program bin/get_bootcamp_info.py
which reads a list of GitHub repository URLs from the file config/bootcamp_urls.yml
and (re-)creates the file ./_bootcamp_cache.yml.
That file is then used to build ./index.html, bootcamps/index.html, and so on.
To add another GitHub-hosted bootcamp to this web site,
simply add a line to config/bootcamp_urls.yml.
Please keep these ordered by date.
Blogging
To create a new blog post:
- Fork this repository on GitHub, and clone that to your desktop.
- Create a file
blog/YYYY/MM/post-name.html, whereYYYYis a four-digit year andMMis a two-digit month. - Fill in the metadata at the top of the file:
-
layoutmust beblog. -
authormust be the author's name. (It does not need to be quoted.) -
titleis the post title. -
datethe date of the post (in YYYY-MM-DD format). -
timemust be an HH:MM:TT clock time. Use 09:00:00 for the first post on a particular day, 10:00:00 for the second, and so on, so that posts can be ordered. -
categorymust be a list of category identifiers, e.g.,["Euphoric State University", "Assessment"]You can run the commandmake categoriesto get a list of existing category names.
-
- Use HTML to write the post.
- Use
<!-- start excerpt -->and<!-- end excerpt -->to mark a paragraph or two at the start as the excerpt to show in feed readers. - If you need to refer to our email address, it is
{{page.contact}}. - If you need to another post, or something else on the site, use
{{page.root}}/path/to/file. - We also provide
{{site.site}}(the base URL for the site),{{site.twitter_name}},{{site.twitter_url}},{{site.facebook_url}},{{site.google_plus_url}}, and{{site.rss_url}}(all of which should be self-explanatory), and{{site.msl_url}}for the Mozilla Science Lab's web site.
- Use
- Please add any images your blog post needs to the same blog/YYYY/MM directory as the post itself. Please use lower-case names without special characters for image files.
-
makein the root directory will list available commands;make checkwill rebuild the web site in the_sitedirectory. Open_site/index.htmlto see your post on the blog's home page,_site/blog/index.htmlto see it on the blog home page, and_site/YYYY/MM/post-name.htmlto see the post itself. - When you're satisfied with your post,
git add path/to/postandgit commit -m "Adding a blog post about something or other"will commit it to your local copy (on your laptop). -
git push origin masterwill push it to your clone on GitHub (assuming you've added your fork on GitHub as a remote calledorigin). - Go to GitHub and issue a pull request from your clone to
swcarpentry/website, then assign it to@gvwilsonor@amyrbrownfor proof-reading.
Available Commands
-
authors: list all blog post authors. -
biblio: make HTML and PDF of bibliography. -
cache_verb: collect bootcamp information from GitHub and store in local cache (verbose). -
cache: collect bootcamp information from GitHub and store in local cache. - `categories : list all blog category names.
-
check: build locally into _site directory for checking. -
clean: clean up. -
commands: show all commands (the default). -
dev: build into development directory on server. -
install: build into installation directory on server. -
links: check links. -
sterile: really clean up. -
valid: check validity of HTML.
The Details
make check, make dev, and make install do the following:
- Run
bin/preprocess.pyto create the./_config.ymlfile required by Jekyll and the_includes/recent_blog_posts.htmlfile containing excerpts of recent blog posts. This tool collects metadata about blog posts and bootcamps and combines it with static configuration information. - Run Jekyll to build the web site.
- Run
bin/make_rss_feed.pyto generate the RSS feed filefeed.xml. - Run
bin/make_calendar.pyto generate the ICal calendar filebootcamps.ics. - Copy
./_htaccessto create the.htaccessfile for the web site.
Badges
Software Carpentry uses Open Badges to recognize people's skills and accomplishments. To create badges, you must install PyPNG module:
~~~ $ pip install pypng ~~~
Use bin/badge-create.py to create a new badge:
~~~ $ python bin/badge-create.py --username abbrev.name --email name@site.com --kind instructor ~~~
The badges scripts in bin should be compatible with Python2 and Python3.
To bake the badge we use bin/badgebakery.py which was provided by the Open Badge Team.
To validate a badge:
- Build this repository.
- Setup a local copy of Open Badges Validator.
- Setup a virtual server that responde to http://software-carpentry.org with the
content of
_site. - Add "127.0.1.1 software-carpentry.org localhost" to
/etc/hosts. - Open your local copy of Open Badges Validator with a web browser and follow the steps.
Owner
- Name: Bernhard Konrad
- Login: BernhardKonrad
- Kind: user
- Location: Munich, Germany
- Repositories: 59
- Profile: https://github.com/BernhardKonrad
Citation (CITATION)
To reference Software Carpentry in publications, please cite both of the following:
Greg Wilson: "Software Carpentry: Getting Scientists to Write Better
Code by Making Them More Productive". Computing in Science &
Engineering, Nov-Dec 2006.
Greg Wilson: "Software Carpentry: Lessons Learned". arXiv:1307.5448,
July 2013.
@article{wilson-software-carpentry-2006,
author = {Greg Wilson},
title = {Software Carpentry: Getting Scientists to Write Better Code by Making Them More Productive},
journal = {Computing in Science \& Engineering},
month = {November--December},
year = {2006},
}
@online{wilson-software-carpentry-2013,
author = {Greg Wilson},
title = {Software Carpentry: Lessons Learned},
version = {1},
date = {2013-07-20},
eprinttype = {arxiv},
eprint = {1307.5448}
}
GitHub Events
Total
Last Year
Committers
Last synced: over 1 year ago
Top Committers
| Name | Commits | |
|---|---|---|
| Greg Wilson | g****n@t****m | 334 |
| Amy Brown | a****a@g****m | 51 |
| Anthony Scopatz | s****z@g****m | 20 |
| Abigail Cabunoc | a****c@o****a | 19 |
| Raniere Silva | r****e@i****r | 17 |
| Mike Jackson | m****k@g****m | 11 |
| Aleksandra Pawlik | a****k@g****m | 10 |
| Jon Pipitone | j****e@u****a | 9 |
| Damien Irving | d****g@y****u | 7 |
| Ethan White | e****n@w****g | 7 |
| Matt Davis | j****b@g****m | 5 |
| Bernhard Konrad | k****e@m****a | 5 |
| Katy Huff | k****f@g****m | 5 |
| shreddd | s****s@g****m | 5 |
| Randy Olson | r****o@r****m | 4 |
| David Rio Deiros | d****s@g****m | 3 |
| Michael Selik | m****e@s****g | 3 |
| joryschossau | j****y@m****u | 3 |
| Damien Irving | d****g@s****u | 2 |
| Lauren A. Michael | l****l@w****u | 2 |
| Aron Ahmadia | a****n@a****t | 2 |
| Andrew Walker | a****r@b****k | 1 |
| BernhardKonrad | b****t@g****m | 1 |
| Gavin Simpson | u****s@g****m | 1 |
| Joshua Ryan Smith | j****h@g****m | 1 |
| Julian Garcia | j****a@p****m | 1 |
| Michael Hansen | h****e@g****m | 1 |
| Neil Chue Hong | N****g@s****k | 1 |
| Preston Holmes | p****n@p****m | 1 |
| Steven Koenig | w****r@k****e | 1 |
| and 4 more... | ||
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: about 1 year ago
All Time
- Total issues: 0
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 0
- Total pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- PyYAML *
- requests >=2