Code documentation written as code! How novel and totally my idea!
Go to file
Pierre-Arnaud Baciocchini 79f7d3100f Fixed typo
2014-09-18 16:01:42 +02:00
de-de [javascript/*] typeof is an operand and not a function/method - fix usage / remove parens 2014-08-09 21:41:12 +02:00
es-es [bash/es] created 2014-08-13 09:12:50 -05: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 Fixed typo 2014-09-18 16:01:42 +02:00
hu-hu fixed orthographic and grammar mistakes 2014-03-07 07:38:07 +01:00
id-id fix syntax error 2014-03-14 18:19:06 +00:00
it-it Merge pull request #566 from slavni96/master 2014-03-11 16:28:01 +01:00
ja-jp just an update of Japanese introduction part 2014-07-23 15:20:24 +09:00
ko-kr [javascript/*] typeof is an operand and not a function/method - fix usage / remove parens 2014-08-09 21:41:12 +02:00
pt-br translating Markdown to pt-br 2014-07-23 16:26:54 -03:00
pt-pt Fixed typo 2013-12-04 11:34:42 +00:00
ro-ro fixed typos, a little bit of formatting 2014-05-07 18:53:23 +02:00
ru-ru links fixes 2014-05-06 20:51:09 +04:00
tr-tr some updates on brainfuck/tr . i missed out "not capitalized except at the start of a sentence" about brainfuck 2013-09-20 14:19:16 +03:00
vi-vn Updates 2013-10-27 22:17:56 -07:00
zh-cn [javascript/*] typeof is an operand and not a function/method - fix usage / remove parens 2014-08-09 21:41:12 +02:00
bash.html.markdown Added two new ways to use for loops. 2014-08-08 18:24:43 +01:00
brainfuck.html.markdown make explanation richer 2013-09-21 05:01:47 +09:00
c.html.markdown Made learnc's switch statement clearer 2014-07-17 20:37:52 +01:00
clojure-macros.html.markdown Added Clojure macros 2014-01-19 20:33:06 -08:00
clojure.html.markdown pointless change to test auto-deploy 2013-10-27 22:42:13 -07:00
coffeescript.html.markdown removed little book on coffeescript 2014-05-12 14:12:39 -07:00
common-lisp.html.markdown Fix typo in Common Lisp introduction. 2014-04-03 10:45:19 +02:00
csharp.html.markdown MethodSignature -> MethodSignatures 2014-07-07 16:38:17 +05:30
css.html.markdown Update css.html.markdown 2014-05-01 13:02:04 -04:00
dart.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
elisp.html.markdown Syntax errors. Regexp needs to be greedier. 2014-04-29 22:10:55 +02:00
elixir.html.markdown Update elixir.html.markdown 2014-06-07 07:45:57 -07:00
erlang.html.markdown erlang: add content about concurrency 2014-05-19 15:31:09 +08: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 Translating GIT and JSON to pt-br. Added link to further information 2014-06-14 01:28:20 -03:00
go.html.markdown Merge pull request #707 from jcbohin/patch-1 2014-08-08 10:50:01 +02:00
groovy.html.markdown Another way of checking List.contains and some headers 2013-09-02 13:02:53 +01:00
haskell.html.markdown [haskell/en] Fixes issue #510 2014-02-03 17:09:52 -06:00
haxe.html.markdown Update haxe.html.markdown 2014-02-15 23:10:35 +03:00
hy.html.markdown [hy/en] Introductory tutorial to hy language 2014-01-11 12:48:56 +05:30
java.html.markdown Spelling error 2014-08-07 09:55:27 +03:00
javascript.html.markdown [javascript/*] typeof is an operand and not a function/method - fix usage / remove parens 2014-08-09 21:41:12 +02:00
json.html.markdown Merge pull request #643 from marcoms/patch-1 2014-06-18 23:11:09 -05:00
julia.html.markdown Tiny typo fix 2014-06-05 12:20:54 -04:00
livescript.html.markdown Remove references to hash and hashtag in favor of number symbol 2014-04-14 11:15:08 -07:00
lua.html.markdown normalised lua doc to 80 chars per line 2014-03-03 15:49:12 +00:00
markdown.html.markdown Update markdown.html.markdown 2014-06-11 17:36:16 -04:00
matlab.html.markdown Small correction: "flipl" should be "fliplr" 2014-07-17 15:45:53 +02:00
neat.html.markdown Fixed up so it builds 2013-09-08 22:52:09 -07:00
objective-c.html.markdown Remove duplicate Categories section. 2014-03-19 12:49:51 -05:00
paren.html.markdown link to racket 2014-05-26 18:04:02 +02:00
perl6.html.markdown Update perl6 to fix some of its quirks 2014-08-14 21:35:14 +02:00
perl.html.markdown Shortens line lengths of comments in Perl guide 2014-06-10 10:06:08 -07:00
pets.csv Create pets.csv 2013-06-29 03:38:34 -04:00
php.html.markdown php: typo 2014-01-17 14:38:24 +08:00
pogo.html.markdown added javascript highlighting 2013-09-20 12:43:05 +02:00
python3.html.markdown Merge https://github.com/adambard/learnxinyminutes-docs 2014-08-06 23:45:44 +03:00
python.html.markdown Merge https://github.com/adambard/learnxinyminutes-docs 2014-08-06 23:45:44 +03:00
r.html.markdown Minor typo 2014-05-29 16:51:24 +02:00
racket.html.markdown Fix typos from issue 447. 2014-03-20 12:37:13 -05:00
README.markdown Update README.markdown 2013-09-05 10:52:17 -07:00
red.html.markdown Update red.html.markdown 2014-02-07 20:34:08 +01:00
ruby-ecosystem.html.markdown [ruby-ecosystem/en] 'ruby' -> 'Ruby' (cont. cont.) 2014-07-07 21:50:27 +01:00
ruby.html.markdown fixed space 2014-03-10 18:06:44 -04:00
rust.html.markdown add &str explanation; add section on vectors 2014-07-01 15:24:08 +12:00
scala.html.markdown [ADDED] Output to additional println's. 2014-08-16 18:21:49 +02:00
standard-ml.html.markdown [standard-ml/en-en] Some format fixing, variable renaming, some more about exceptions 2013-12-16 21:42:15 +01:00
swift.html.markdown Update swift to beta3 2014-07-16 12:20:57 +02:00
visualbasic.html.markdown An assortment 2013-08-01 11:24:23 -07:00
whip.html.markdown Little typos fixed. 2014-08-12 20:35:42 -05:00
xml.html.markdown remove white space at the end of both xml files 2014-05-31 15:18:05 -07: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 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.

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.