Code documentation written as code! How novel and totally my idea!
Go to file
2014-11-28 11:36:41 +03:00
de-de
es-es
fa-ir
fr-fr
hu-hu
id-id
it-it
ja-jp
ko-kr
nl-nl
pl-pl
pt-br
pt-pt
ro-ro
ru-ru [perl/ru] Russian translation for Perl 5 2014-11-28 11:36:41 +03:00
tr-tr
vi-vn
zh-cn
amd.html.markdown
bash.html.markdown
brainfuck.html.markdown
c.html.markdown fix #873 2014-11-24 17:37:55 +01:00
c++.html.markdown correcting the setName method 2014-10-27 09:06:43 +05:30
clojure-macros.html.markdown
clojure.html.markdown
coffeescript.html.markdown
common-lisp.html.markdown
compojure.html.markdown Merge pull request #762 from matthiasn/patch-2 2014-09-12 13:15:06 -05:00
csharp.html.markdown fix typo -> re(s)pository pattern 2014-10-07 20:38:14 +02:00
css.html.markdown
dart.html.markdown Authors -> Contributors 2013-07-03 22:59:13 -07:00
elisp.html.markdown
elixir.html.markdown
erlang.html.markdown
file.erb
forth.html.markdown
fsharp.html.markdown
git.html.markdown
go.html.markdown [go] Fix no new variables on left side of := 2014-09-22 12:11:49 +00:00
groovy.html.markdown
haml.html.markdown
haskell.html.markdown
haxe.html.markdown
hy.html.markdown
java.html.markdown
javascript.html.markdown
json.html.markdown
julia.html.markdown Capitalize language names. See #137 2014-10-12 12:24:52 -07: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 Capitalize language names. See #137 2014-10-12 12:24:52 -07:00
markdown.html.markdown
matlab.html.markdown Temp fix for Matlab syntax highlighting 2014-11-18 10:19:11 +00:00
neat.html.markdown
nim.html.markdown
objective-c.html.markdown
ocaml.html.markdown
paren.html.markdown
perl6.html.markdown 0 // 5 = 0 2014-11-16 12:16:26 -05:00
perl.html.markdown
pets.csv
php.html.markdown
pogo.html.markdown
purescript.html.markdown
python3.html.markdown
python.html.markdown
r.html.markdown
racket.html.markdown Fix typos from issue 447. 2014-03-20 12:37:13 -05:00
README.markdown
red.html.markdown
ruby-ecosystem.html.markdown
ruby.html.markdown
rust.html.markdown
scala.html.markdown Some work on the Scala page 2014-11-14 15:01:16 -08:00
self.html.markdown
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
tmux.html.markdown
typescript.html.markdown
visualbasic.html.markdown
whip.html.markdown Little typos fixed. 2014-08-12 20:35:42 -05:00
xml.html.markdown
yaml.html.markdown

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.

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.