πŸ—’ codebar's tutorials
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
_includes/post Use https for twitter Nov 14, 2018
_layouts Follow 301 redirects Nov 17, 2018
assets amend to tutorial homepage Feb 8, 2017
coaches updated coach guide with lesson 7 Oct 30, 2018
command-line/introduction edit instruction line on mv Oct 18, 2018
examples Follow 301 redirects Nov 17, 2018
general/setup Follow 301 redirects Nov 17, 2018
html Remove dead link Nov 17, 2018
javascripts-dev Normalise http://site to http://site/ Nov 17, 2018
javascripts Update the downloader bundle Sep 24, 2016
js Follow 301 redirects Nov 17, 2018
php/lesson1 Minor improvements to the PHP tutorial 1 May 15, 2016
python Add a declaration for variable number. Jun 19, 2018
ruby Update link for PDF of the Poignant Guide Nov 17, 2018
stylesheets amend to tutorial homepage Feb 8, 2017
version-control Follow 301 redirects Nov 17, 2018
.gitignore Follow 301 redirects Nov 17, 2018
.ruby-version Add ruby version file Nov 30, 2015
CNAME setting up DNS Mar 31, 2014
Gemfile Normalise http://site to http://site/ Nov 17, 2018
Gemfile.lock Fix security vulnerability in jekyll Oct 6, 2018
README.md Normalise http://site to http://site/ Nov 17, 2018
_config.yml Update Jekyll version and add Livereload plugin Aug 19, 2017
favicon.ico Linkify codebar.io text on index page, add favicon Nov 16, 2016
gulpfile.js Add the main and the bundle of all files for production May 21, 2016
index.html Follow 301 redirects Nov 17, 2018
index.pt.html removing any mentions of nitrous and replacing it with cloud9 May 2, 2017
package.json Add gulp to concat/minify JS and serve the specs page May 21, 2016
params.json Follow 301 redirects Nov 17, 2018

README.md

This is the source code for http://tutorials.codebar.io/

Getting started

This is a GitHub Pages repo, so you can render the pages with Jekyll. First make sure to install the version of Ruby indicated in .ruby-version, as well as the bundler gem. Then:

  1. bundle install, which will install Jekyll
  2. bundle exec jekyll serve --watch
  3. go to http://localhost:4000/

(you could also use your favourite manager, chruby, rbenv, rvm, etc. See instructions for rvm at the end of this README)

If you are just updating or adding new tutorials, follow steps 1 to 3 only.

If you also want to make changes to the structure of the site (i.e. if you want to modify the site's Javascript files) and run the tests, you need to install Node (follow the link for installation instructions). Then:

$ npm install
$ gulp

and go to http://localhost:4000/test/specrunner.html to run the tests. Tests should be green.

Gulp is only used for development, not in production. In your local copy of this repo, it will concatenate and minify the files inside the javascripts-dev folder, as well as watch for changes in that folder. The concatenated and minified JS file will be generated inside the javascripts folder. You can push both folders when you are finished with your changes. GitHub pages will then generate the site in production with whatever is inside the javascripts folder.

Getting in Touch

You can go to the general codebar Slack channel here or the dedicated tutorials channel here. Use it to get in touch and chat to other codebar students/coaches, or if you need help.

If you are not on Slack use this link to get an invite.

Contributing

We encourage you to contribute with your suggestions and corrections. Head to our issues page and open a new issue or help on the existing ones.

General tutorial rule
  1. All tutorials get the students to build something that they are able to show around at the end of the workshop.

  2. All tutorials follow a structure:

    • Objectives - "In this tutorial we are going to look at..."
    • Goals - "By the end of this tutorial you will have..."
    • Then the exercises.
      • Bonus - This is not always required but if you feel there is something that could be added then please include it.
      • Further reading - Again this is not always required but if you feel there was something in the tutorials that could be covered in more depth then please include any good reading materials/videos or extra tutorials.
  3. Repetition is good. A tutorial can contain multiple exercises that ask the students to take similar steps (e.g. for HTTP Requests one exercise introduces GET, another has GET and POST etc).

  4. Explaining and getting the students to focus on one new thing at a time, presenting students with lots of new content and usage examples can be confusing.

  5. Before starting to write a new tutorial please speak with someone from codebar to see whether it is of interest to students.

To add downloadable files to a new or existing tutorial:
  • Add a folder with your exercise files inside the tutorial folder. For example, for Javascript lesson 3:
js/lesson3/
β”œβ”€β”€ assets/
β”œβ”€β”€ files/
β”‚   β”œβ”€β”€ index.html
β”‚   β”œβ”€β”€ jquery.js
β”‚   β”œβ”€β”€ script.js
β”‚   └── style.css
└── tutorial.md
  • Add a frontmatter variable files to the tutorial page with a list of the files you added, including folder name:
---
layout: page
title: Introduction to jQuery
files:
  - files/index.html
  - files/jquery.js
  - files/script.js
  - files/style.css
---
  • In the copy of the tutorial, add your link to the files, making it point to just download:
Download the files that you will need to work through the example
[here](download).

And you're done. Commit and push as usual.

RVM

Another way of installing the project dependencies is via RVM. Follow the quick installation guide and then run:

$ rvm install 2.2.1  # inside `codebar/tutorials` folder
$ rvm gemset use codebar-tutorial --create
$ gem install bundler
$ bundle install
$ jekyll serve  # go to http://127.0.0.1:4000/

If you also want to make changes to the JavaScript of the site, you'll need to have Node installed. This can be done with a tool like NVM.

License

codebar Tutorials are released under the Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).