Science Score: 18.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
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.0%) to scientific vocabulary
Repository
Software Carpentry web site.
Basic Info
- Host: GitHub
- Owner: anelda
- License: other
- Language: HTML
- Default Branch: master
- Size: 99.1 MB
Statistics
- Stars: 0
- Watchers: 0
- 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. Lessons are not stored in this repository: please see the lessons page for links to their repositories.
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.
Setting Up
Rebuilding the web site locally to check changes requires:
We use Jekyll because it's what GitHub uses; we use Python because most of our volunteers speak it. The Python packages we depend on can be installed using:
~~~ $ pip3 install -r requirements.txt ~~~
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.githubusercontent.com/Homebrew/install/master/install)" brew install ruby gem install jekyll gem install RedCloth ~~~
Building
The commands used to rebuild the website are stored in Makefile.
- Type
makeon its own to see a list of all available commands. - Type
make cleanto get rid of generated files. - Type
make cacheto rebuild cached information about workshops and repositories. You only need to do this once a day or so, since that information changes relatively infrequently, but you do need to do it at least once before you can preview the website. (Depending on your machine, this takes 15-30 seconds.) - Type
make siteto build everything in_sitefor testing. (Depending on your machine, this takes about 10-15 seconds.) You can then open_site/index.htmland other pages in_siteto see what your changes will look like.
Note: You must have Jekyll 2.5 or later. If you have an older version installed, you can update it with:
~~~ gem update ~~~
Note: Disqus comments will not load properly, since you'll be on your machine rather than our server.
Blogging
The simplest way to create a new blog post is to mail the text to Greg Wilson, who will format it and post it for you. If you'd like to submit your post as a pull request, then:
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. (The directoriesYYYYandYYYY/MMwill already exist unless you're the first person to blog this month or this year.)Fill in the metadata at the top of the file (or if you have copied an existing blog post, edit the values):
-
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 clock time, such as 09:30. Every post must have a unique timestamp so that posts can be ordered. -
categorymust be a list of category identifiers, e.g.,["Euphoric State University", "Assessment"]You can use an empty list if you want, and we'll fill in categories for you.
-
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 refer to another post, or something else on the site, use
{{page.root}}/path/to/file.
- 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.
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/site, then assign it togvwilsonfor proof-reading.
Adding a Workshop
Email the workshop's URL to the administrators so that they can add it to our database. The workshop will then show up on the main website the next time it is rebuilt(which typically happens hourly).
For More Advanced Users
make site (and its partners 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 workshops 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 fileworkshops.ics.Copy
./_htaccessto create the.htaccessfile for the web site.
bin/preprocess.py needs two generated files to work properly:
_workshop_cache.yml: stores information about recent and upcoming workshops. This file is created bybin/get_workshop_info.py._dashboard_cache.yml: stores information about Software Carpentry's GitHub projects. This file is created bybin/make-dashboard.py.
The tool used to rebuild the dashboard cache requires credentials in order to run, since use of GitHub's API is throttled for unauthenticated users and programs. If you wish to regenerate these files:
Get a GitHub API token.
Save it in a file called
git-token.txtin the root directory of this site. (This file is ignored by Git, since tokens should not be shared between people.)
After that,
you can run make cache to re-create the two files.
Please do not commit them.
Badges
Software Carpentry uses Open Badges to recognize people's skills and accomplishments. To create badges, you must install PyPNG module:
~~~ $ pip3 install pypng ~~~
Use bin/badge-create.py to create a new badge, e.g.:
~~~ $ python3 bin/badge-create.py username email instructor ~~~
To bake the badge we use bin/badgebakery.py which was provided by the Open Badge Team.
Owner
- Name: Anelda van der Walt
- Login: anelda
- Kind: user
- Location: Cape Town, South Africa
- Company: Talarify
- Website: http://www.talarify.co.za
- Repositories: 152
- Profile: https://github.com/anelda
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
Dependencies
- PyGithub *
- PyYAML *
- requests >=2
- RedCloth >= 0
- jekyll >= 0
- RedCloth 4.2.9
- blankslate 2.1.2.4
- classifier 1.3.4
- colorator 0.1
- commander 4.1.5
- fast-stemmer 1.0.2
- ffi 1.9.3
- highline 1.6.20
- jekyll 1.4.3
- liquid 2.5.5
- listen 1.3.1
- maruku 0.7.1
- parslet 1.5.0
- posix-spawn 0.3.8
- pygments.rb 0.5.4
- rb-fsevent 0.9.4
- rb-inotify 0.9.3
- rb-kqueue 0.2.0
- redcarpet 2.3.0
- safe_yaml 0.9.7
- toml 0.1.0
- yajl-ruby 1.1.0