{"action":"created","comment":{"url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/comments/29328195","id":29328195,"diff_hunk":"@@ -0,0 +1,401 @@\n+---\n+\n+language: kotlin\n+contributors:\n+\n+filename: LearnKotlin.py\n+\n+---\n+\n+Kotlin is a staticaly-typed programming language that runs on the Java Virtual \n+Machine and also can be compiled to JavaScript source code.\n+[Read more here.](http://kotlinlang.org/docs/reference/faq.html)\n+\n+```java\n+\n+// Single-line comments start with //\n+\n+/*\n+Multi-line comments look like this.\n+*/\n+\n+// Package specification should be at the top of the source file, but need not\n+// match the directory structure.\n+package my.demo\n+\n+// Importing packages from java\n+import java.util.ArrayList\n+import java.security.*\n+\n+// import foo.Bar // Bar is accessible\n+// import bar.Bar as bBar // bBar stands for 'bar.Bar'\n+\n+// _____________________________________________________________________ BASICS\n+\n+fun kotlinBasics(name: String) {\n+\n+  // ---- Literals ----\n+  \n+  println(\"Decimal:\\t\" + 1000\n+          + \"\\nHex 0x100:\\t\" + 0x100\n+          + \"\\nLong value, denoted with capital L 100L:\\t\" + 100L\n+          + \"\\nBinary 0b00000100:\\t\" + 0b00000100\n+          + \"\\nOctal literal not supported!\"\n+          + \"\\nFloating-point, Double by default 123.5:\\t\" + 123.5\n+          + \"\\nFloating-point, Double by default 123.5e10:\\t\" + 123.5e10\n+          + \"\\nFloat tagged with F 123.5f:\\t\" + 123.5f\n+  )\n+\n+  // String literal, denoted by double quotes. Strings are iterable\n+  for (c in \"Hello, world!\\n\")\n+      println(c)\n+\n+  // Characters are not numbers, the following produces error:\n+  // val c: Char = 'c'\n+  // c == 1 // ERROR\n+\n+  // Boolean\n+  val b0: Boolean = true\n+  val b1: Boolean = false\n+  println(\n+          \"Boolean And (true && false):\\t\" + (b0 && b1)\n+          + \"\\nBoolean Or (true || false):\\t\" + (b0 || b1)\n+  )\n+\n+  // Arrays\n+  val x: IntArray = intArray(1, 2, 3)\n+  // Translates to x.set(0, x.get(1) + x.get(2))\n+  x[0] = x[1] + x[2]\n+  // arrays have size(), get(), set(), iterator() by default.\n+  // [more about array class](http://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-array/index.html)\n+  println(\n+          \"array size():\\t\" + x.size()\n+          + \"\\nget(0):\\t\" + x.get(0)\n+  )\n+\n+  // Templates in strings. i.e. pieces of code that are evaluated and whose\n+  // results are concatenated into the string.\n+  val i = 10\n+  val sDemo = \"abc\"\n+  println(\"i = $i\") // evaluates to \"i = 10\"\n+  println(\"$sDemo.length is ${sDemo.length}\") // \"abc.length is 3\"\n+\n+\n+  // ---- Variables Definition ----\n+\n+  \n+  // Local read-only variable.\n+  val a: Int = 1\n+  val b = 1\n+  val c: Int // Type required when no initializer is provided\n+  c = 1\n+  \n+  // The following line generates compiler error\n+  // a += 1\n+\n+  // Local mutable value, its type is computed.\n+  var x = 5\n+  x += 1\n+\n+  // Ranges\n+  for (i in 1..100) { \n+    println(i)\n+  }\n+  \n+  // Read-only list.\n+  val list = listOf(\"a\", \"b\", \"c\")\n+  println(list[0])\n+\n+  // Read-only map\n+  val map = mapOf(\"a\" to 1, \"b\" to 2, \"c\" to 3)\n+  println(map[\"s\"])\n+}\n+\n+// _________________________________________________________________ FUNCTIONS\n+\n+// A function with no args, and return type not specified.\n+fun funDemo() {\n+  return 42\n+}\n+\n+// Function with both parameter and return type Int.\n+fun funDemoSum(a: Int, b: Int): Int {\n+  return a + b\n+}\n+\n+// Return type automatically inferred. But such a fuction is not visible \n+// outside the module.\n+fun funDemoMax(a: Int, b: Int) = if (a > b) a else b\n+\n+// Returning no meaningful value, Unit keyword can be omitted.\n+fun funDemoPrintSum0(a: Int, b: Int): Unit {\n+  print(a + b)\n+}\n+fun funDemoPrintSum1(a: Int, b: Int) {\n+  print(a + b)\n+}\n+\n+// Default value\n+fun funDemoDefaultVal(a: Int = 0, b: String = \"\") { \n+  println(a)\n+  println(b)\n+}\n+\n+// ______________________________________________________________ CONDITIONALS\n+// Testing if value is in range\n+fun conditionalRange(x: Int, y: Int) {\n+  if (x in 1..y-1)\n+    print(\"OK\")\n+}\n+\n+fun conditionalIf(x: Int) {\n+  // if branches can be blocks, and the last expression is the value of a block:\n+  a = 9\n+  b = 2\n+  val max = if (a > b) { \n+    print(\"Choose a\") \n+    a \n+  } \n+  else { \n+    print(\"Choose b\") \n+    b \n+  }\n+  \n+  if (x > 0)\n+    return x\n+  else\n+    return 0\n+}\n+\n+fun conditionalWhen(obj: Any) {\n+  when (obj) {\n+    1          -> print(\"One\")\n+    \"Hello\"    -> print(\"Greeting\")\n+    is Long    -> print(\"Long\")\n+    !is String -> print(\"Not a string\")\n+    else       -> print(\"Unknown\")\n+  }\n+}\n+\n+// _____________________________________________________________________ LOOPS\n+\n+fun loopDemo(args: Array<String>) {\n+  print(\"for-each\")\n+  for (arg in args)\n+    print(arg)\n+\n+  print(\"for i\")\n+  for (i in args.indices)\n+    print(args[i])\n+\n+  print(\"while\")\n+  var i = 0\n+  while (i < args.size())\n+    print(args[i++])\n+    \n+  print(\"do while\")\n+  i = args.size() - 1\n+  do {\n+    println(args[i])\n+  } while(i >= 0)\n+  \n+  // Break and continue are supported\n+  var loopCount = 0\n+  for (j in 0..20)\n+    if (j.mod(2) == 0)\n+      continue\n+    else if(j == 11)\n+      break\n+    else\n+      loopCount++\n+  println(\"From 0 to 20, skipping even numbers and breaking at 11,\" +\n+      \" the loop counted $loopCount times.\")\n+  \n+}\n+\n+// _________________________________________________________ RETURNS AND jUMPS\n+\n+/**\n+ * Any expression in Kotlin may be marked with a label. Labels have the form \n+ * of the @ sign followed by an identifier, for example: @abc, @fooBar\n+ */\n+fun breakWitLabels() {\n+  @loop for (i in 1..100) {\n+    for (j in 1..100) {\n+      if ((i % j) == 0)\n+        // jumps to the execution point right after the loop marked with the \n+        // label. A continue would instead proceed to the next iteration of \n+        // the loop\n+        break@loop\n+    }\n+  }\n+  \n+}\n+\n+/**\n+ * @TODO [Return at Labels](http://kotlinlang.org/docs/reference/returns.html)\n+ */\n+\n+// ____________________________________ NULL SAFETY AND AUTOMATIC TYPE CASTING\n+\n+// References are non-null by default. If otherwise, they must be marked.\n+\n+// Type checking and automatic casting. Notice the `Any` type.\n+fun nullChecking0(obj: Any): Int? { // Because of `?`, null may be returned.\n+  if (obj is String) {\n+    // `obj` is automatically cast to `String` in this branch\n+    return obj.length\n+  }\n+  \n+  // else returns null\n+}\n+\n+// Type checking and automatic casting, version2\n+fun nullChecking1(obj: Any): Int? {\n+  if (obj !is String)\n+    return null\n+    \n+  // Automatic cast to `String`! we may use obj.length now.\n+  return obj.length\n+}\n+\n+// Automatic cast for right-hand side of `&&`\n+fun nullChecking2(obj: Any): Int? {\n+  if (obj is String && obj.length > 0)\n+    return obj.length\n+}\n+\n+// *If not null* shorthand \n+fun nullChecking3(obj: Any?): Int? {\n+  println(obj?.length)\n+}\n+\n+// *If not null* shorthand with else\n+fun nullChecking4(obj: Any?): Int? {\n+  println(obj?.size ?: \"empty\")\n+}\n+\n+// The block inside let is executed only of obj is not null. No casting.\n+fun nullChecking5(obj: Any): Int? {\n+  object?.let {\n+    return 42\n+  }\n+}\n+\n+// _______________________________________________________________ COLLECTIONS\n+\n+fun collectionIter() {\n+  names = listOf(\"foo\", \"bar\", \"baz\")\n+  \n+  // Iterating over collection items.\n+  for (name in names)\n+    println(name)\n+\n+  // Checking if collection contains an item.\n+  // names.contains(text) is called automatically.\n+  if (text in names) \n+    print(\"Yes\")\n+\n+  // Function literals.\n+  names filter { it.startsWith(\"A\") } \n+    sortBy { it } \n+    map { it.toUpperCase() } \n+    forEach { print(it) }\n+}\n+\n+// ___________________________________________________________________ CLASSES\n+\n+/**\n+ * General class declaration syntax\n+ *\n+ * Note that *EVERYTHING* except class keyword and class name is optional!\n+ *\n+ * // @TODO other than private?\n+ *\n+ * class <NAME> [private] (PrimaryConstructorArgs) : someSuperType(ArgsIfAny) {\n+ *   // init blocks, like so:\n+ *   // secondary constructors.\n+ *   // functions\n+ *   // properties\n+ *   // Nested and Inner Classes\n+ *   // Object Declarations\n+ * }\n+ *\n+ * Classes with no super type implicitly inherit from `Any`, but `Any` is not\n+ * same as `java.lang.object`.\n+ *\n+ * [More about classes](http://kotlinlang.org/docs/reference/classes.html)\n+ */\n+\n+// An empty class, no curly braces needed.\n+class Empty\n+\n+/**\n+ * A class with one primary constructors and more secondary constructors. A \n+ * primary constructor is defined inline.\n+ * Both primary and secondary constructors are optional, but secondaries must \n+ * directly or indirectly (through other constructors) call the primary.\n+ */\n+public class LearnKotlin(firstName: String) {\n+\n+  // The code for primary constructor should be defined in init block. If it\n+  // has any parameters, they will be available.\n+  init {\n+    logger.info(\"class initialized with value ${firstName}\")\n+  }\n+  \n+  // firstName from primary constructor available in initializer.\n+  val myName = firstName.toUpperCase()\n+  \n+  // Secondary constructors are prefixed with *constructor*.\n+  // Calling other constructors with *this* keyword.\n+  constructor(val firstName: String, val lastName) this(firstName) {","path":"kotlin.html.markdown","position":352,"original_position":352,"commit_id":"e88917a765a70b1765a311a48800d67dce46d9ff","original_commit_id":"e88917a765a70b1765a311a48800d67dce46d9ff","user":{"login":"yole","id":46553,"avatar_url":"https://avatars.githubusercontent.com/u/46553?v=3","gravatar_id":"","url":"https://api.github.com/users/yole","html_url":"https://github.com/yole","followers_url":"https://api.github.com/users/yole/followers","following_url":"https://api.github.com/users/yole/following{/other_user}","gists_url":"https://api.github.com/users/yole/gists{/gist_id}","starred_url":"https://api.github.com/users/yole/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yole/subscriptions","organizations_url":"https://api.github.com/users/yole/orgs","repos_url":"https://api.github.com/users/yole/repos","events_url":"https://api.github.com/users/yole/events{/privacy}","received_events_url":"https://api.github.com/users/yole/received_events","type":"User","site_admin":false},"body":"Only primary constructor parameters can be marked as 'var' or 'val'. Hint: edit the code part of your file in IntelliJ IDEA and make sure it doesn't highlight any errors or warnings.","created_at":"2015-04-29T11:45:59Z","updated_at":"2015-04-29T11:45:59Z","html_url":"https://github.com/adambard/learnxinyminutes-docs/pull/1074#discussion_r29328195","pull_request_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074","_links":{"self":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/comments/29328195"},"html":{"href":"https://github.com/adambard/learnxinyminutes-docs/pull/1074#discussion_r29328195"},"pull_request":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074"}}},"pull_request":{"url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074","id":34256416,"html_url":"https://github.com/adambard/learnxinyminutes-docs/pull/1074","diff_url":"https://github.com/adambard/learnxinyminutes-docs/pull/1074.diff","patch_url":"https://github.com/adambard/learnxinyminutes-docs/pull/1074.patch","issue_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/1074","number":1074,"state":"open","locked":false,"title":"[kotlin/en]  Add Kotlin-lang","user":{"login":"loolooyyyy","id":3070413,"avatar_url":"https://avatars.githubusercontent.com/u/3070413?v=3","gravatar_id":"","url":"https://api.github.com/users/loolooyyyy","html_url":"https://github.com/loolooyyyy","followers_url":"https://api.github.com/users/loolooyyyy/followers","following_url":"https://api.github.com/users/loolooyyyy/following{/other_user}","gists_url":"https://api.github.com/users/loolooyyyy/gists{/gist_id}","starred_url":"https://api.github.com/users/loolooyyyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loolooyyyy/subscriptions","organizations_url":"https://api.github.com/users/loolooyyyy/orgs","repos_url":"https://api.github.com/users/loolooyyyy/repos","events_url":"https://api.github.com/users/loolooyyyy/events{/privacy}","received_events_url":"https://api.github.com/users/loolooyyyy/received_events","type":"User","site_admin":false},"body":"I would definitely complete it but before it happens, it would be nice to have someone take a look at it. Some parts are probably unnecessary and unfit for learnxinyminutes. Bad English and grammar mistakes must be checked too :D\r\n\r\nThere wasn't anything mentioned about this on learnxinyminutes-docs: Should an article be fully authored before committing to main branch, or is it okay to commit it now? ","created_at":"2015-04-28T11:20:09Z","updated_at":"2015-04-29T11:45:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"aa6e0e441b28056358ca105589e2fe01a755eca0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074/commits","review_comments_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074/comments","review_comment_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/1074/comments","statuses_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/statuses/e88917a765a70b1765a311a48800d67dce46d9ff","head":{"label":"loolooyyyy:master","ref":"master","sha":"e88917a765a70b1765a311a48800d67dce46d9ff","user":{"login":"loolooyyyy","id":3070413,"avatar_url":"https://avatars.githubusercontent.com/u/3070413?v=3","gravatar_id":"","url":"https://api.github.com/users/loolooyyyy","html_url":"https://github.com/loolooyyyy","followers_url":"https://api.github.com/users/loolooyyyy/followers","following_url":"https://api.github.com/users/loolooyyyy/following{/other_user}","gists_url":"https://api.github.com/users/loolooyyyy/gists{/gist_id}","starred_url":"https://api.github.com/users/loolooyyyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loolooyyyy/subscriptions","organizations_url":"https://api.github.com/users/loolooyyyy/orgs","repos_url":"https://api.github.com/users/loolooyyyy/repos","events_url":"https://api.github.com/users/loolooyyyy/events{/privacy}","received_events_url":"https://api.github.com/users/loolooyyyy/received_events","type":"User","site_admin":false},"repo":{"id":34619532,"name":"learnxinyminutes-docs","full_name":"loolooyyyy/learnxinyminutes-docs","owner":{"login":"loolooyyyy","id":3070413,"avatar_url":"https://avatars.githubusercontent.com/u/3070413?v=3","gravatar_id":"","url":"https://api.github.com/users/loolooyyyy","html_url":"https://github.com/loolooyyyy","followers_url":"https://api.github.com/users/loolooyyyy/followers","following_url":"https://api.github.com/users/loolooyyyy/following{/other_user}","gists_url":"https://api.github.com/users/loolooyyyy/gists{/gist_id}","starred_url":"https://api.github.com/users/loolooyyyy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/loolooyyyy/subscriptions","organizations_url":"https://api.github.com/users/loolooyyyy/orgs","repos_url":"https://api.github.com/users/loolooyyyy/repos","events_url":"https://api.github.com/users/loolooyyyy/events{/privacy}","received_events_url":"https://api.github.com/users/loolooyyyy/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/loolooyyyy/learnxinyminutes-docs","description":"Code documentation written as code! How novel and totally my idea!","fork":true,"url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs","forks_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/forks","keys_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/teams","hooks_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/hooks","issue_events_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/issues/events{/number}","events_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/events","assignees_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/assignees{/user}","branches_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/branches{/branch}","tags_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/tags","blobs_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/languages","stargazers_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/stargazers","contributors_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/contributors","subscribers_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/subscribers","subscription_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/subscription","commits_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/contents/{+path}","compare_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/merges","archive_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/downloads","issues_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/issues{/number}","pulls_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/labels{/name}","releases_url":"https://api.github.com/repos/loolooyyyy/learnxinyminutes-docs/releases{/id}","created_at":"2015-04-26T16:12:32Z","updated_at":"2015-04-28T20:45:28Z","pushed_at":"2015-04-28T20:45:28Z","git_url":"git://github.com/loolooyyyy/learnxinyminutes-docs.git","ssh_url":"git@github.com:loolooyyyy/learnxinyminutes-docs.git","clone_url":"https://github.com/loolooyyyy/learnxinyminutes-docs.git","svn_url":"https://github.com/loolooyyyy/learnxinyminutes-docs","homepage":"http://learnxinyminutes.com/","size":11267,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"adambard:master","ref":"master","sha":"f4beb3bea956775664c64cb8f1973a816fbac224","user":{"login":"adambard","id":515720,"avatar_url":"https://avatars.githubusercontent.com/u/515720?v=3","gravatar_id":"","url":"https://api.github.com/users/adambard","html_url":"https://github.com/adambard","followers_url":"https://api.github.com/users/adambard/followers","following_url":"https://api.github.com/users/adambard/following{/other_user}","gists_url":"https://api.github.com/users/adambard/gists{/gist_id}","starred_url":"https://api.github.com/users/adambard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambard/subscriptions","organizations_url":"https://api.github.com/users/adambard/orgs","repos_url":"https://api.github.com/users/adambard/repos","events_url":"https://api.github.com/users/adambard/events{/privacy}","received_events_url":"https://api.github.com/users/adambard/received_events","type":"User","site_admin":false},"repo":{"id":10974951,"name":"learnxinyminutes-docs","full_name":"adambard/learnxinyminutes-docs","owner":{"login":"adambard","id":515720,"avatar_url":"https://avatars.githubusercontent.com/u/515720?v=3","gravatar_id":"","url":"https://api.github.com/users/adambard","html_url":"https://github.com/adambard","followers_url":"https://api.github.com/users/adambard/followers","following_url":"https://api.github.com/users/adambard/following{/other_user}","gists_url":"https://api.github.com/users/adambard/gists{/gist_id}","starred_url":"https://api.github.com/users/adambard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adambard/subscriptions","organizations_url":"https://api.github.com/users/adambard/orgs","repos_url":"https://api.github.com/users/adambard/repos","events_url":"https://api.github.com/users/adambard/events{/privacy}","received_events_url":"https://api.github.com/users/adambard/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/adambard/learnxinyminutes-docs","description":"Code documentation written as code! How novel and totally my idea!","fork":false,"url":"https://api.github.com/repos/adambard/learnxinyminutes-docs","forks_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/forks","keys_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/teams","hooks_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/hooks","issue_events_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/events{/number}","events_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/events","assignees_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/assignees{/user}","branches_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/branches{/branch}","tags_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/tags","blobs_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/languages","stargazers_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/stargazers","contributors_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/contributors","subscribers_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/subscribers","subscription_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/subscription","commits_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/contents/{+path}","compare_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/merges","archive_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/downloads","issues_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues{/number}","pulls_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/labels{/name}","releases_url":"https://api.github.com/repos/adambard/learnxinyminutes-docs/releases{/id}","created_at":"2013-06-26T17:58:34Z","updated_at":"2015-04-29T07:07:44Z","pushed_at":"2015-04-28T20:45:28Z","git_url":"git://github.com/adambard/learnxinyminutes-docs.git","ssh_url":"git@github.com:adambard/learnxinyminutes-docs.git","clone_url":"https://github.com/adambard/learnxinyminutes-docs.git","svn_url":"https://github.com/adambard/learnxinyminutes-docs","homepage":"http://learnxinyminutes.com/","size":11267,"stargazers_count":2373,"watchers_count":2373,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":781,"mirror_url":null,"open_issues_count":50,"forks":781,"open_issues":50,"watchers":2373,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074"},"html":{"href":"https://github.com/adambard/learnxinyminutes-docs/pull/1074"},"issue":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/1074"},"comments":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/issues/1074/comments"},"review_comments":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074/comments"},"review_comment":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/pulls/1074/commits"},"statuses":{"href":"https://api.github.com/repos/adambard/learnxinyminutes-docs/statuses/e88917a765a70b1765a311a48800d67dce46d9ff"}}}}