Code documentation written as code! How novel and totally my idea!
Go to file
Rob Hoelz 6c53c05dcc Clarify self-referential local functions
The current language used implies that `local function f() ... end`
does not allow f to invoke itself.  This has been clarified via the
addition of an example of a local function that may *not* invoke
itself.
2013-09-04 11:39:15 +02:00
de-de translated javascript-tutorial 2013-08-30 17:37:33 +02:00
es-es From robot to human, corrected gender, some clojure idioms reverted to 2013-09-03 00:25:40 +02:00
fr-fr Merge pull request #246 from GRoguelon/new-coffeescript-fr 2013-08-17 09:42:19 -07:00
hu-hu Fixed typo 2013-08-30 07:38:22 +02:00
ko-kr fixed merge errors 2013-08-29 13:15:38 +09:00
pt-br Edits 2013-08-16 09:44:22 -07:00
ru-ru Merge pull request #268 from y-gagar1n/master 2013-08-27 20:57:31 -07:00
tr-tr regular quotes instead of `. 2013-08-23 09:55:56 +03:00
zh-cn Edits 2013-08-27 21:23:09 -07:00
bash.html.markdown Update bash.html.markdown 2013-08-31 17:05:04 +05:30
brainfuck.html.markdown Tutorial for the Brainfuck programming language. 2013-08-31 18:38:33 -07:00
c.html.markdown Added explanation of size_t 2013-08-21 00:02:33 +01:00
clojure.html.markdown Update clojure.html.markdown 2013-08-14 10:58:19 -04:00
coffeescript.html.markdown Started on the addition of coffeescript 2013-07-31 19:13:11 -05:00
common-lisp.html.markdown [minor] s/Paul Khoung/Paul Khuong/g 2013-09-03 02:05:43 +02:00
csharp.html.markdown C#: interfaces 2013-08-17 23:28:55 +02:00
dart.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
elisp.html.markdown Merged Bastien's changes 2013-07-29 10:33:45 -07:00
elixir.html.markdown Fixed typos 2013-07-08 23:37:41 -07:00
erlang.html.markdown Spelling error one of the comments in erlang.html.markdown 2013-07-28 10:17:54 -04:00
file.erb Added filename parameter 2013-06-29 20:19:14 -07:00
fsharp.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
git.html.markdown Edits 2013-08-27 21:23:09 -07:00
go.html.markdown Piddly things 2013-08-13 19:59:19 -07:00
groovy.html.markdown Another way of checking List.contains and some headers 2013-09-02 13:02:53 +01:00
haskell.html.markdown Update haskell.html.markdown 2013-08-12 11:17:37 -04:00
haxe.html.markdown Edits 2013-08-27 21:23:09 -07:00
java.html.markdown Update java.html.markdown 2013-08-16 12:37:40 +02:00
javascript.html.markdown Fixed a grammatical error 2013-08-19 15:19:48 -07:00
julia.html.markdown Fixed typo in Julia document 2013-08-24 12:23:41 +01:00
livescript.html.markdown Fix 2013-07-23 07:52:21 -07:00
lua.html.markdown Clarify self-referential local functions 2013-09-04 11:39:15 +02:00
matlab.html.markdown Added MATLAB as a new language 2013-08-25 01:32:33 -04:00
objective-c.html.markdown Corrected Array Object NSLog Call 2013-08-17 18:06:23 -04:00
perl.html.markdown Few words about subs and file i/o 2013-08-22 08:16:54 +06:00
pets.csv Create pets.csv 2013-06-29 03:38:34 -04:00
php.html.markdown Merge pull request #284 from ipscott/master 2013-08-31 23:11:05 -07:00
python.html.markdown regular quotes instead of `. 2013-08-23 09:54:21 +03:00
r.html.markdown Merge pull request #183 from isomorphisms/patch-4 2013-08-11 12:05:55 -07:00
racket.html.markdown Fix hygienic macro example in racket.html.markdown 2013-07-28 21:43:21 -03:00
README.markdown Fixes 2013-08-20 08:57:08 -07:00
ruby-ecosystem.html.markdown Spelling, capatability -> compatibility 2013-08-17 13:17:21 +02:00
ruby.html.markdown Adding explanation about variables scope and naming 2013-08-30 21:58:23 -03:00
scala.html.markdown fixed some broken / missing markdown links and added a resource 2013-08-07 17:31:49 -04:00
visualbasic.html.markdown An assortment 2013-08-01 11:24:23 -07:00
whip.html.markdown Updated documentation for new language behaivour 2013-08-18 10:10:40 -05:00

Learn X in Y minutes

Whirlwind tours of (several, hopefully many someday) popular and ought-to-be-more-popular programming languages, presented as valid, commented code and explained as they go.

We need YOU!...

... to write more inline code tutorials. Just grab an existing file from this repo and copy the formatting (don't worry, it's all very simple). Make a new file, send a pull request, and if it passes muster I'll get it up pronto. Remember to fill in the "contributors" fields so you get credited properly!

Contributing

All contributions welcome, from the tiniest typo to a brand new article. Translations in all languages are welcome (or, for that matter, original articles in any language).

Style Guidelines

  • Try to keep line length in code blocks to 80 characters or fewer, or they'll overflow and look odd.

  • Try to use as few words as possible. Code examples are preferred over exposition in all cases.

  • We welcome newcomers, but the target audience for this site is programmers with some experience. So, try to avoid explaining basic concepts except for those specific to the language in question, to keep articles succinct and scannable. We all know how to use google here.

  • For translations (or english articles with non-ASCII characters), please make sure your file is utf-8 encoded.

Header configuration

The actual site uses Middleman to generate HTML files from these markdown ones. Middleman, or at least the custom scripts underpinning the site, required that some key information be defined in the header.

The following fields are necessary for english articles about programming languages:

  • language The programming language in question
  • contributors A list of [author, url] lists to credit

Other fields:

  • filename: The filename for this article's code. It will be fetched, mashed together, and made downloadable. For non-english articles, filename should have a language-specific suffix.
  • lang: For translations, the human language this article is in. For categorization, mostly.

License

Contributors retain copyright to their work, and can request removal at any time. By uploading a doc here, you agree to publish your work under the default Creative Commons Attribution-ShareAlike 3.0 Unported licensing included on each doc page.

Anything not covered by the above -- basically, this README -- you can use as you wish, I guess.