Code documentation written as code! How novel and totally my idea!
Go to file
Adam Bard 4c7c47cb8f Merge pull request #1343 from VeerpalB/VeerpalB-patch-1
[python3/en]Add step parameter to range function
2015-10-05 22:53:41 +08:00
cs-cz Add lang: to header of Python3 cs-cz file. 2015-10-01 09:39:00 -05:00
de-de Put demonstrative condition into ternary expression 2015-10-04 21:56:24 +02:00
el-gr fix some sentences left in english 2015-08-16 23:26:23 +03:00
es-es Merge pull request #1332 from JesusTinoco/master 2015-10-04 20:44:15 +02:00
fa-ir [javascript/*] typeof is an operand and not a function/method - fix usage / remove parens 2014-08-09 21:41:12 +02:00
fr-fr Put demonstrative condition into ternary expression 2015-10-04 21:56:24 +02:00
hu-hu fixed orthographic and grammar mistakes 2014-03-07 07:38:07 +01:00
id-id Fix #1289 2015-10-04 22:44:34 +02:00
it-it Merge pull request #1240 from kino90/coffeescript 2015-09-19 20:20:22 -06:00
ja-jp [julia/ja] Added missing lang: ja-jp 2015-01-13 09:29:15 +09:00
ko-kr Capitalize language names for translations. 2014-10-12 14:24:42 -07:00
nl-nl Merge pull request #820 from Jell-E/master 2014-10-28 23:03:03 +02:00
no-nb translating done 2015-04-26 16:22:36 +02:00
pl-pl [brainfuck/pl] translated from en 2015-09-02 14:41:50 +02:00
pt-br Merge pull request #1335 from davelima/master 2015-10-04 21:32:35 +02:00
pt-pt Fixing some typos in Git pt-pt translation 2015-02-04 13:15:42 -02:00
ro-ro line length tweaking.. 2015-08-07 12:50:36 +03:00
ru-ru Update ruby-ru.html.markdown 2015-10-05 15:31:46 +05:30
tr-tr Put demonstrative condition into ternary expression 2015-10-04 21:56:24 +02:00
vi-vn Fix Vietnamese Git guide typo and update content 2014-10-25 09:59:01 +07:00
zh-cn Put demonstrative condition into ternary expression 2015-10-04 21:56:24 +02:00
amd.html.markdown Attempt at fixing amd file's markdown on site. 2014-10-18 13:19:07 -05:00
asymptotic-notation.html.markdown Renamed Big-Oh to more prevalent notation, Big-O. 2015-03-04 17:48:10 -06:00
bash.html.markdown [bash/en] Improved descriptions 2015-10-02 22:08:27 +08:00
brainfuck.html.markdown Change link format 2015-03-24 22:24:49 +02:00
c.html.markdown replaced scanf with fscanf. 2015-10-05 00:52:47 +05:30
c++.html.markdown Grammar 2015-10-05 00:32:34 +05:30
chapel.html.markdown Fix usage of "it's" in example comment for chapel 2015-10-03 19:40:02 -06:00
clojure-macros.html.markdown Fixed spelling of 'arithmetic' in Clojure Macros tutorial. 2015-04-19 14:03:21 -07:00
clojure.html.markdown Update clojure.html.markdown 2015-05-13 11:00:57 +02:00
coffeescript.html.markdown Fixed very small spelling mistake 2014-09-14 13:18:43 -06:00
common-lisp.html.markdown fixed the comment format 2015-10-05 00:35:49 +05:30
compojure.html.markdown Use keywords in POST/PUT examples 2015-05-30 11:43:37 -06:00
csharp.html.markdown Put demonstrative condition into ternary expression 2015-10-04 16:44:24 +02:00
css.html.markdown Added some Further Reading Links for CSS 2015-10-04 18:53:55 -06:00
d.html.markdown Use c highlighting in D article for now. 2015-09-28 00:10:50 +08:00
dart.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
elisp.html.markdown editorial revert of a change, remove trailing whitespace 2015-05-22 23:05:37 +02:00
elixir.html.markdown Fix typo in elixer 2015-06-24 10:50:39 -07:00
erlang.html.markdown Fix poor formatting and typos 2015-10-04 13:18:06 +02:00
file.erb Added filename parameter 2013-06-29 20:19:14 -07:00
forth.html.markdown Update forth.html.markdown 2015-01-02 20:33:47 +00:00
fsharp.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
git.html.markdown Add Udemy's new git tutorial as a resource. 2015-09-19 11:07:26 -05:00
go.html.markdown Fallthrough 2015-04-23 00:02:33 +10:00
groovy.html.markdown update the groovy web site link in some docs 2015-06-16 22:42:55 +08:00
hack.html.markdown [hack/en] Fixed some typos 2015-10-04 11:57:41 -03:00
haml.html.markdown Added info on indentation and escaping html, typos 2014-10-18 12:25:42 +01:00
haskell.html.markdown change haskell's operator $ description wording 2015-07-06 10:40:05 +02:00
haxe.html.markdown [haxe/en] Adding colon after comments 2015-05-20 14:29:05 +02:00
hy.html.markdown Changed function name to match function call 2014-12-16 22:33:08 +05:30
java.html.markdown Merge pull request #1300 from dhwanishah/javaPageChange 2015-10-04 17:13:51 -05:00
javascript.html.markdown [javascript] Fix for issue 1248 2015-10-01 18:34:11 -05:00
json.html.markdown Correct usage of "it's" in javascript doc 2015-10-03 19:35:42 -06:00
julia.html.markdown [julia/en] Update for Julia 0.3 and fix a few typos 2015-05-02 22:26:12 -07:00
livescript.html.markdown Update livescript.html.markdown 2014-12-24 10:38:16 +01:00
lua.html.markdown Capitalize language names. See #137 2014-10-12 12:24:52 -07:00
make.html.markdown can't use % stems in the recipe itself. 2015-09-22 08:39:33 +00:00
markdown.html.markdown fixed missing ! to create an actual comment 2015-10-02 13:50:07 -05:00
matlab.html.markdown Update matlab.html.markdown 2015-07-16 18:43:13 +03:00
neat.html.markdown Fixed up so it builds 2013-09-08 22:52:09 -07:00
nim.html.markdown Fix copy-paste typo. 2015-05-18 14:19:46 +05:00
objective-c.html.markdown Fixes #1196 2015-08-12 06:38:17 +09:00
ocaml.html.markdown [ocaml/en] Fix typo 2015-02-12 17:02:16 +08:00
paren.html.markdown link to racket 2014-05-26 18:04:02 +02:00
perl6.html.markdown Update perl6.html.markdown 2015-09-23 00:04:02 -04:00
perl.html.markdown Fixed misinfo regarding sigils 2015-06-19 23:11:38 +02:00
pets.csv Create pets.csv 2013-06-29 03:38:34 -04:00
php.html.markdown Merge pull request #1300 from dhwanishah/javaPageChange 2015-10-04 17:13:51 -05:00
pogo.html.markdown Fixed typo at the end 2014-12-22 13:26:30 +01:00
purescript.html.markdown Learn Purescript in Y minutes 2014-08-31 23:26:56 +02:00
python3.html.markdown Add step parameter to range function 2015-10-04 19:41:13 -04:00
python.html.markdown Removed random "r" 2015-10-02 14:00:54 -04:00
r.html.markdown Add definition of parakeet in r.html.markdown 2015-01-28 23:27:09 -06:00
racket.html.markdown detailed explanation of eq?, eqv?, and equal? 2015-03-13 14:04:20 -04:00
README.markdown Update README.markdown 2014-12-08 23:42:24 +01:00
red.html.markdown update "further reading" links 2015-08-09 22:43:10 -07:00
ruby-ecosystem.html.markdown [ruby-ecosystem/en] Fix typo 2015-09-19 10:59:04 +02:00
ruby.html.markdown Add #push to Array besides shovel operator 2015-08-26 03:15:36 -03:00
rust.html.markdown Merge pull request #1138 from jin/patch-1 2015-09-25 06:36:17 +08:00
scala.html.markdown scala: consistent code format 2015-08-03 15:58:36 +07:00
self.html.markdown Update self.html.markdown 2014-10-31 00:44:24 +02:00
standard-ml.html.markdown Fix indentation 2015-06-06 12:53:33 -04:00
swift.html.markdown Println deprecated in Swift 2, added name 2015-08-03 23:11:44 -04:00
tcl.html.markdown Tcl. Fix mid-page rendering error 2015-09-01 14:46:01 +02:00
tmux.html.markdown Update tmux.html.markdown 2015-04-19 10:59:11 +08:00
typescript.html.markdown [typescript/en] Fix typo 2015-04-21 23:01:08 +03:00
visualbasic.html.markdown Fix incorrect "its" to "it is" in visual basic doc 2015-10-03 19:41:52 -06:00
whip.html.markdown Little typos fixed. 2014-08-12 20:35:42 -05:00
xml.html.markdown Fixed the description of attributes and elements. 2015-09-30 11:36:34 -06:00
yaml.html.markdown [yaml/cn]: add last translation 2014-06-01 09:39:22 -07: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 are 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). Send a pull request or open an issue any time of day or night.

Please tag your issues pull requests with [language/lang-code] at the beginning (e.g. [python/en] for English Python). This will help everyone pick out things they care about.

We're happy for any contribution in any form, but if you're making more than one major change (i.e. translations for two different languages) it would be super cool of you to make a separate pull request for each one so that someone can review them more effectively and/or individually.

Style Guidelines

  • Keep lines under 80 chars
  • Prefer example to exposition
  • Eschew surplusage
  • Use UTF-8

Long version:

  • 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, and try to leave out the byte-order-mark at the start of the file. (:set nobomb in Vim)

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.

Here's an example header for an Esperanto translation of Ruby:

---
language: ruby
filename: learnruby-epo.ruby
contributors:
    - ["Doktor Esperanto", "http://example.com/"]
    - ["Someone else", "http://someoneelseswebsite.com/"]
lang: ep-ep
---

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.