{"action":"created","comment":{"url":"https://api.github.com/repos/NativeScript/docs/pulls/comments/38553453","id":38553453,"diff_hunk":"@@ -0,0 +1,300 @@\n+## Building the UI\n+\n+Before you start coding the Groceries app it's important to understand a NativeScript app's folder structure. It'll help you understand where to place new files, as well as a bit of what's going on with NativeScript under the hood.\n+\n+Go ahead and open your app's `sample-Groceries` folder in your text editor of choice and let's dig in.\n+\n+### Directory structure\n+\n+To keep things simple, let's start by looking at the outer structure of the Groceries app:\n+\n+```\n+.\n+└── sample-Groceries\n+    ├── app\n+    │   └── ...\n+    ├── package.json\n+    └── platforms\n+        ├── android\n+        └── ios\n+```\n+\n+Here's what these various files and folders do:\n+\n+- **app**: This folder contains all the development resources you need to build your app. You'll be spending most of your time editing the files in here.\n+- **package.json**: This file contains your app's configuration details, such as your app id, the version of NativeScript you're using, and also which npm modules your app uses. We'll take a closer look at how to use this file when we talk about using npm modules in [chapter 5](#plugins-and-npm-modules).\n+- **platforms**: This folder contains the platform-specific code NativeScript needs to build native iOS and Android apps. For example in the `android` folder you'll find things like your project's `AndroidManifest.xml` and .apk executable files. Similarly, the `ios` folder contains the Groceries' Xcode project and .ipa executables.\n+\n+The NativeScript CLI manages the `platforms` folder for you as you develop and run your app; it's a best practice to treat the `platforms` folder as generated code. The Groceries app includes the `platforms` folder in its `.gitignore` to exclude its files from source control.\n+\n+Next, let's dig into the `app` folder, as that's where you'll be spending the majority of your time.\n+\n+```\n+.\n+└── sample-Groceries\n+    ├── app\n+    │   ├── App_Resources\n+    │   │   ├── Android\n+    │   │   └── iOS\n+    │   ├── shared\n+    │   │   └── ...\n+    │   ├── tns_modules\n+    │   │   └── ...\n+    │   ├── views\n+    │   │   └── login\n+    │   │       ├── login.js\n+    │   │       └── login.xml\n+    │   ├── app.css\n+    │   ├── app.js\n+    │   └── ...\n+    └── ...\n+```\n+Here's what these various files and folders do:\n+\n+- **App_Resources**: This folder contains platform-specific resources such as icons, splash screens, and configuration files. The NativeScript CLI takes care of injecting these resources into the appropriate places in the `platforms` folder when you execute `tns run`.\n+- **shared**: This folder, specific to the Groceries app, contains any files you need to share across views in your app. In the Groceries app, you'll find a few view model objects and a `config.js` file used to share configuration variables like API keys.\n+- **tns_modules**: This folder contains the NativeScript-provided modules you'll use to build your app. Each module contains the platform-specific code needed to implement some feature—the camera, http calls, the file system, and so forth—exposed through a platform-agnostic API (e.g. `http.getJSON()`). We'll look at some examples momentarily.\n+- **views**: This folder contains the code to build your app's views, each of which will have a subfolder in `views`. Each view is made up of an XML file, a JavaScript file, and an optional CSS file. The groceries app contains three folders for its three views.\n+- **app.css**: This file contains global styles for your app. We'll dig into app styling in [section 2.3](#css).\n+- **app.js**: This file sets up your application's starting module and initializes the app.\n+\n+Let's start with `app/app.js`, as it's the starting point for NativeScript apps. Your `app.js` contains the three lines below: \n+\n+``` JavaScript\n+var applicationModule = require(\"application\");\n+applicationModule.mainModule = \"./views/login/login\";\n+applicationModule.start();\n+```\n+\n+Here, you're requiring, or importing, the [NativeScript application module](http://docs.nativescript.org/ApiReference/application/HOW-TO). Then, you set its `mainModule`, or the starting screen of your app to be the login screen, which lives in your app's `views/login` folder.\n+\n+> **TIP**: JavaScript modules in NativeScript follow the [CommonJS specification](http://wiki.commonjs.org/wiki/CommonJS). This means you can use the [`require()` method](http://wiki.commonjs.org/wiki/Modules/1.1#Module_Context) to import modules, as is done above, as well as use the `export` keyword to expose a module's properties and methods, which we'll look at later in this chapter. These are the same constructs Node.js uses for JavaScript modules, so if you already know how to use Node.js modules, you already know how to use NativeScript modules.\n+\n+Now that your app is ready for development, let's add some UI components to make your login screen show more than some basic text.\n+\n+### Adding UI components\n+\n+Let's dig into the files used to create your app's UI, which reside in the `app/views` folder. Each folder in `app/views` contains the code for one of the three pages in Groceries: `list`, `login`, and `register`. If you look in the `app/views/login` folder, you'll see three files: `login.css`, `login.js`, and the `login.xml` file we updated in the previous chapter. When you open `login.xml` again you should see the following code:\n+\n+``` XML\n+<Page>\n+    <Label text=\"hello NativeScript\" />\n+</Page>\n+```\n+\n+This page currently contains two UI components: a `<Page>` and a `<Label>`. To make this page look more like a login page, let's add a few additional components, namely two `<TextField>` elements and two `<Button>` elements.\n+\n+<h4 class=\"exercise-start\">\n+    <b>Exercise</b>: Add UI components to <code>login.xml</code>\n+</h4>\n+\n+Open `app/views/login/login.xml` and replace the existing `<Label>` with the following code:\n+\n+``` XML\n+<TextField hint=\"Email Address\" keyboardType=\"email\" />\n+<TextField secure=\"true\" hint=\"Password\" />\n+\n+<Button text=\"Sign in\" />\n+<Button text=\"Sign up for Groceries\" />\n+```\n+\n+<div class=\"exercise-end\"></div>\n+\n+NativeScript UI components provide attributes to let you configure their behavior and appearance. The code you just added uses the following attributes:\n+\n+- `<TextField>`\n+    - `hint`: Used to show placeholder text in the TextField to tell the user what to type.\n+    - `secure`: A boolean attribute that determines whether the TextField's text should be masked, which is commonly done on password fields.\n+    - `keyboardType`: The type of keyboard to present to the user for input. `keyboardType=\"email\"` shows a keyboard optimized for entering email addresses. NativeScript currently supports [five types of keyboards](http://docs.nativescript.org/ApiReference/ui/enums/KeyboardType/README) for text fields.\n+- `<Button>`\n+    - `text`: Controls the text displayed within the button.\n+\n+After you [run your app](#development-workflow) with this change, you will see a single `<Button>` component on the screen:\n+\n+![login 1](img/cli-getting-started/chapter2/ios/1.png)\n+![login 1](img/cli-getting-started/chapter2/android/1.png)\n+\n+You need to tell NativeScript how to layout the UI components in your page. Let's look at how to use NativeScript layouts to arrange these components on the screen.\n+\n+> **TIP**: The NativeScript docs include a [full list of the UI components and attributes](http://docs.nativescript.org/ui-with-xml) with which you can build your apps. You can even [build your own, custom UI components](https://docs.nativescript.org/ui-with-xml#custom-components).\n+\n+### Layouts \n+\n+NativeScript provides several different layout containers that allow you to place UI components precisely where you want them to appear. \n+\n+- The [Absolute Layout](https://docs.nativescript.org/ApiReference/ui/layouts/absolute-layout/HOW-TO.html) lets you position elements using explicit x and y coordinates. This is useful when you need to place elements in exact locations, for example showing an activity indicator widget in the top-left corner of your app.\n+- The [Dock Layout](https://docs.nativescript.org/ApiReference/ui/layouts/dock-layout/HOW-TO.html) is useful for placing UI elements at the outer edges of your app. For example, a container docked at the bottom of the screen would be a good location for an ad.\n+- The [Grid Layout](https://docs.nativescript.org/ApiReference/ui/layouts/grid-layout/HOW-TO.html) lets you divide your interface into a series of rows and columns, much like a `<table>` in HTML markup.\n+- The [Stack Layout](https://docs.nativescript.org/ApiReference/ui/layouts/stack-layout/HOW-TO.html) lets you stack child UI components either vertically or horizontally.\n+- The [Wrap Layout](https://docs.nativescript.org/ApiReference/ui/layouts/wrap-layout/HOW-TO.html) allows child UI components to flow from one row or column to the next when space is filled.\n+\n+For your login screen, all you need is a simple `<StackLayout>` to stack the UI components on top of each other. In later sections, you'll use some of the more advanced layouts.\n+\n+<h4 class=\"exercise-start\">\n+    <b>Exercise</b>: Add a stack layout to the login screen\n+</h4>\n+\n+In `login.xml`, add the `<StackLayout>` component below directly within the `<Page>` component. `login.xml` should look like this:\n+\n+``` XML\n+<Page>\n+    <StackLayout orientation=\"vertical\">\n+\n+        <TextField hint=\"Email Address\" keyboardType=\"email\" />\n+        <TextField secure=\"true\" hint=\"Password\" />\n+\n+        <Button text=\"Sign in\" />\n+        <Button text=\"Sign up for Groceries\" />\n+\n+    </StackLayout>\n+</Page>\n+```\n+\n+<div class=\"exercise-end\"></div>\n+\n+The stack layout is a UI component, and as such, it has attributes just like the `<TextField>` and `<Button>` components you used in the previous section. Here, the `orientation=\"vertical\"` attribute tells the stack layout to arrange its child components vertically.\n+\n+After you run your app with this change, you'll see that your login page's UI components stack up:\n+\n+![login 2](img/cli-getting-started/chapter2/ios/2.png)\n+![login 2](img/cli-getting-started/chapter2/android/2.png)\n+\n+Although the UI components are in the correct order, they could use some spacing and a bit of color to make the app look a bit nicer. To do that let's look at another NativeScript feature: CSS.\n+\n+> **TIP**:\n+> * For a simple introduction to the other NativeScript layout elements, check out Jen Looper's article on [demystifying NativeScript layouts](https://www.nativescript.org/blog/demystifying-nativescript-layouts).\n+> * Refer to the NativeScript docs for a [more detailed look at how NativeScript layouts work](http://docs.nativescript.org/layouts) and the various things you can do to configure them.\n+\n+### CSS\n+\n+NativeScript uses a [subset of CSS](http://docs.nativescript.org/styling) to change the visual appearance of your app. You can use three mechanisms to add CSS properties to UI components: [application-wide CSS](http://docs.nativescript.org/styling#application-wide-css) (`app.css`), [page-specific CSS](http://docs.nativescript.org/styling#page-specific-css), and an [inline `style` attribute](http://docs.nativescript.org/styling#inline-css).\n+\n+> **TIP**:\n+> * Place CSS rules that should apply to all pages in your `app.css`, and CSS rules that apply to a single page in a page-specific CSS file (e.g. `login.css`). \n+> * Although inline styles are great for quick testing—e.g. `<Page style=\"background-color: green;\">` you should avoid them in general because the `style` attributes tend to clutter up XML files especially if/when you need to apply multiple rules.\n+\n+Let's start by adding a few application-wide CSS rules.\n+\n+<h4 class=\"exercise-start\">\n+    <b>Exercise</b>: Create global styles\n+</h4>\n+\n+Paste the following code in `app.css` file:\n+\n+``` CSS\n+Page {\n+    background-color: white;\n+    font-size: 17;\n+}\n+TextField {\n+    margin: 10;\n+    padding: 10;\n+}\n+Image {\n+    margin-top: 20;\n+    margin-left: 0;\n+    margin-right: 0;\n+    margin-bottom: 80;\n+}\n+Button {\n+    margin: 10;\n+    padding: 10;\n+}\n+```\n+\n+<div class=\"exercise-end\"></div>\n+\n+If you've done any web development before, the syntax should feel familiar here. You select four UI components (Page, TextField, Image, and Button) by their tag name, and then apply a handful of CSS rules as name/value pairs. NativeScript does not support all CSS properties because it is not possible to replicate some of them in native apps without causing performance issues. A [full list of the CSS properties that are supported](http://docs.nativescript.org/styling#supported-properties) are listed in the NativeScript docs.\n+\n+Let's make one more change. Although oftentimes you want CSS rules to apply equally to your iOS and Android app, occasionally it makes sense to apply a CSS rule to only one platform. For example, iOS text fields frequently have borders around them, but Android text fields do not. Let's look at how to make platform-specific style changes in NativeScript.\n+\n+<h4 class=\"exercise-start\">\n+    <b>Exercise</b>: Add platform-specific CSS\n+</h4>\n+\n+Add the following as the first line of your app's `app.css` file:\n+\n+``` CSS\n+@import { url('~/platform.css') };\n+```\n+> **IMPORTANT**: NativeScript is consistent with browser implementations, in that `@import` statements must precede all other CSS rules in a file.\n+\n+Next, add a `cssClass=\"link\"` attribute to the sign up button in `login.xml`. The button's markup should look like this:\n+\n+``` XML\n+<Button text=\"Sign up for Groceries\" cssClass=\"link\" />\n+```\n+\n+<div class=\"exercise-end\"></div>\n+\n+Let's break down what just happened. First, NativeScript supports CSS's `@import` statement for importing one CSS file into another. So this new line of code imports the CSS rules from `platform.css` into `app.css`. But, you might have noticed that Groceries does not have a file named `platform.css`—only `app/platform.android.css` and `app/platform.ios.css` exist. So what's going on here?\n+\n+When you execute `tns run`, or `tns livesync`, the NativeScript CLI takes your code from the `app` folder and places it in the native projects located in the `platforms/ios` and `platforms/android` folders. Here the naming convention comes in: while moving files, the CLI intelligently selects `.android.*` and `.ios.*` files. To give a specific example, the CLI moves `platform.ios.css` into `platforms/ios` and renames it to `platform.css`; similarly, the CLI moves `platform.android.css` into `platforms/android`, and again renames it to `platform.css`. This convention provides a convenient way to branch your code to handle iOS and Android separately, and it's supported for any type of file in NativeScript—not just CSS files. You'll see a few more examples of this convention later in this guide.\n+\n+There's one other change here we need to discuss, and that's the `cssClass` attribute you added to this button:\n+\n+```\n+<Button text=\"Sign up for Groceries\" cssClass=\"link\" />\n+```\n+\n+NativeScript uses the `cssClass` attribute for adding CSS class names to UI components. The class name is used to give the sign up button a slightly different look than the sign in button. You can find the CSS rules associated with this class name in `platform.ios.css` and `platform.android.css`:\n+\n+``` CSS\n+/* From platform.android.css */\n+.link {\n+    background-color: transparent;\n+}\n+\n+/* From platform.ios.css */\n+.link {\n+    border-width: 0;\n+}\n+```\n+\n+> **Tip**: NativeScript also supports selecting elements by the `id` attribute. Refer to the docs for [a full list of the supported selectors](http://docs.nativescript.org/styling#supported-selectors).\n+\n+With these changes in place, you'll notice that the app looks halfway decent now, and also has a distinctly different look on iOS and Android:\n+\n+![login 1](img/cli-getting-started/chapter2/ios/3.png)\n+![login 1](img/cli-getting-started/chapter2/android/3.png)\n+\n+Feel free to take some time to play with the look of this app before moving on. You can try adding some additional CSS class names, or adding some page-specific styles in your `login.css` file. When you're ready, let's move on and add an image to this login screen.\n+\n+### Images\n+\n+In NativeScript you use the `<Image>` UI component and its `src` attribute to add images to your pages. The `src` attribute allows you to specify your image in three ways. The first (and simplest) way is to point at the URL of an image:\n+\n+``` XML\n+<Image src=\"https://www.nativescript.org/images/default-source/landingpages/logo.png\" />\n+```\n+\n+The second way is to point at an image that lives within your app's `app` folder. For example if you have an image at `app/images/logo.png`, you can use it with:\n+\n+``` XML\n+<Image src=\"~/images/logo.png\" />\n+```\n+\n+The third way, and the one Groceries uses, is to use platform-specific image resources. Let's add an image to the login screen and then discuss exactly what's happening.\n+\n+<h4 class=\"exercise-start\">\n+    <b>Exercise</b>: Add a logo\n+</h4>\n+\n+In `login.xml`, add the `<Image>` below as the first child of the existing `<StackLayout>` tag:\n+\n+``` XML\n+<Image src=\"res://logo\" stretch=\"none\" horizontalAlignment=\"center\" />\n+```\n+\n+<div class=\"exercise-end\"></div>\n+\n+The `res://` syntax tells NativeScript to use a platform-specific resource, in this case an image. You might recall from before that platform-specific resources go in your app's `app/App_Resources` folder, and if you look there you'll find a few different image files, several of which are named `logo.png`.\n+\n+Although more complex than putting an image directly in the `app` folder, using platform-specific images gives you more control over image display on different device dimensions. For example iOS lets you use provide three different image files for devices with different pixel densities. As such you'll find logos named `logo.png`, `logo@2x.png`, and `logo@3x.png` in your `App_Resources/iOS` folder. For Android you'll find similar image files in `App_Resources/Android/drawable-hdpi` (for \"high\" dpi, or high dots-per-inch), `App_Resources/Android/drawable-mdpi` (for medium-dpi), and `App_Resources/Android/drawable-ldpi` (for low-dpi).","path":"getting-started/chapter-2.md","position":293,"original_position":293,"commit_id":"869c82b06861f8f0f38699225ee21ab103ea221d","original_commit_id":"869c82b06861f8f0f38699225ee21ab103ea221d","user":{"login":"ikoevska","id":3539221,"avatar_url":"https://avatars.githubusercontent.com/u/3539221?v=3","gravatar_id":"","url":"https://api.github.com/users/ikoevska","html_url":"https://github.com/ikoevska","followers_url":"https://api.github.com/users/ikoevska/followers","following_url":"https://api.github.com/users/ikoevska/following{/other_user}","gists_url":"https://api.github.com/users/ikoevska/gists{/gist_id}","starred_url":"https://api.github.com/users/ikoevska/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ikoevska/subscriptions","organizations_url":"https://api.github.com/users/ikoevska/orgs","repos_url":"https://api.github.com/users/ikoevska/repos","events_url":"https://api.github.com/users/ikoevska/events{/privacy}","received_events_url":"https://api.github.com/users/ikoevska/received_events","type":"User","site_admin":false},"body":"About the dpi, I meant that you don't need to explain the abbreviation in the (for high dpi, or high dots-per-inch). You can just use dpi :)","created_at":"2015-09-02T16:27:57Z","updated_at":"2015-09-02T16:27:57Z","html_url":"https://github.com/NativeScript/docs/pull/134#discussion_r38553453","pull_request_url":"https://api.github.com/repos/NativeScript/docs/pulls/134","_links":{"self":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/comments/38553453"},"html":{"href":"https://github.com/NativeScript/docs/pull/134#discussion_r38553453"},"pull_request":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/134"}}},"pull_request":{"url":"https://api.github.com/repos/NativeScript/docs/pulls/134","id":43871913,"html_url":"https://github.com/NativeScript/docs/pull/134","diff_url":"https://github.com/NativeScript/docs/pull/134.diff","patch_url":"https://github.com/NativeScript/docs/pull/134.patch","issue_url":"https://api.github.com/repos/NativeScript/docs/issues/134","number":134,"state":"open","locked":false,"title":"Split quick start","user":{"login":"tjvantoll","id":544280,"avatar_url":"https://avatars.githubusercontent.com/u/544280?v=3","gravatar_id":"","url":"https://api.github.com/users/tjvantoll","html_url":"https://github.com/tjvantoll","followers_url":"https://api.github.com/users/tjvantoll/followers","following_url":"https://api.github.com/users/tjvantoll/following{/other_user}","gists_url":"https://api.github.com/users/tjvantoll/gists{/gist_id}","starred_url":"https://api.github.com/users/tjvantoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjvantoll/subscriptions","organizations_url":"https://api.github.com/users/tjvantoll/orgs","repos_url":"https://api.github.com/users/tjvantoll/repos","events_url":"https://api.github.com/users/tjvantoll/events{/privacy}","received_events_url":"https://api.github.com/users/tjvantoll/received_events","type":"User","site_admin":false},"body":"Ping @ikoevska @jlooper \r\n\r\nI split things up for sanity, and put this in a new PR so we can actually open this. Are there any outstanding issues from https://github.com/NativeScript/docs/pull/128 that we need to address?","created_at":"2015-09-01T12:56:22Z","updated_at":"2015-09-02T16:27:57Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0240c27c9d62d667f7625e122fb44cff4ceb6e5c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/NativeScript/docs/pulls/134/commits","review_comments_url":"https://api.github.com/repos/NativeScript/docs/pulls/134/comments","review_comment_url":"https://api.github.com/repos/NativeScript/docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/NativeScript/docs/issues/134/comments","statuses_url":"https://api.github.com/repos/NativeScript/docs/statuses/869c82b06861f8f0f38699225ee21ab103ea221d","head":{"label":"tjvantoll:split-quick-start","ref":"split-quick-start","sha":"869c82b06861f8f0f38699225ee21ab103ea221d","user":{"login":"tjvantoll","id":544280,"avatar_url":"https://avatars.githubusercontent.com/u/544280?v=3","gravatar_id":"","url":"https://api.github.com/users/tjvantoll","html_url":"https://github.com/tjvantoll","followers_url":"https://api.github.com/users/tjvantoll/followers","following_url":"https://api.github.com/users/tjvantoll/following{/other_user}","gists_url":"https://api.github.com/users/tjvantoll/gists{/gist_id}","starred_url":"https://api.github.com/users/tjvantoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjvantoll/subscriptions","organizations_url":"https://api.github.com/users/tjvantoll/orgs","repos_url":"https://api.github.com/users/tjvantoll/repos","events_url":"https://api.github.com/users/tjvantoll/events{/privacy}","received_events_url":"https://api.github.com/users/tjvantoll/received_events","type":"User","site_admin":false},"repo":{"id":20927953,"name":"docs","full_name":"tjvantoll/docs","owner":{"login":"tjvantoll","id":544280,"avatar_url":"https://avatars.githubusercontent.com/u/544280?v=3","gravatar_id":"","url":"https://api.github.com/users/tjvantoll","html_url":"https://github.com/tjvantoll","followers_url":"https://api.github.com/users/tjvantoll/followers","following_url":"https://api.github.com/users/tjvantoll/following{/other_user}","gists_url":"https://api.github.com/users/tjvantoll/gists{/gist_id}","starred_url":"https://api.github.com/users/tjvantoll/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tjvantoll/subscriptions","organizations_url":"https://api.github.com/users/tjvantoll/orgs","repos_url":"https://api.github.com/users/tjvantoll/repos","events_url":"https://api.github.com/users/tjvantoll/events{/privacy}","received_events_url":"https://api.github.com/users/tjvantoll/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tjvantoll/docs","description":"Docs, API Reference and Code Snippets for NativeScript","fork":true,"url":"https://api.github.com/repos/tjvantoll/docs","forks_url":"https://api.github.com/repos/tjvantoll/docs/forks","keys_url":"https://api.github.com/repos/tjvantoll/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tjvantoll/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tjvantoll/docs/teams","hooks_url":"https://api.github.com/repos/tjvantoll/docs/hooks","issue_events_url":"https://api.github.com/repos/tjvantoll/docs/issues/events{/number}","events_url":"https://api.github.com/repos/tjvantoll/docs/events","assignees_url":"https://api.github.com/repos/tjvantoll/docs/assignees{/user}","branches_url":"https://api.github.com/repos/tjvantoll/docs/branches{/branch}","tags_url":"https://api.github.com/repos/tjvantoll/docs/tags","blobs_url":"https://api.github.com/repos/tjvantoll/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tjvantoll/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tjvantoll/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/tjvantoll/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tjvantoll/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/tjvantoll/docs/languages","stargazers_url":"https://api.github.com/repos/tjvantoll/docs/stargazers","contributors_url":"https://api.github.com/repos/tjvantoll/docs/contributors","subscribers_url":"https://api.github.com/repos/tjvantoll/docs/subscribers","subscription_url":"https://api.github.com/repos/tjvantoll/docs/subscription","commits_url":"https://api.github.com/repos/tjvantoll/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/tjvantoll/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/tjvantoll/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/tjvantoll/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/tjvantoll/docs/contents/{+path}","compare_url":"https://api.github.com/repos/tjvantoll/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tjvantoll/docs/merges","archive_url":"https://api.github.com/repos/tjvantoll/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tjvantoll/docs/downloads","issues_url":"https://api.github.com/repos/tjvantoll/docs/issues{/number}","pulls_url":"https://api.github.com/repos/tjvantoll/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/tjvantoll/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/tjvantoll/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tjvantoll/docs/labels{/name}","releases_url":"https://api.github.com/repos/tjvantoll/docs/releases{/id}","created_at":"2014-06-17T15:01:41Z","updated_at":"2015-02-11T21:12:43Z","pushed_at":"2015-09-01T13:12:23Z","git_url":"git://github.com/tjvantoll/docs.git","ssh_url":"git@github.com:tjvantoll/docs.git","clone_url":"https://github.com/tjvantoll/docs.git","svn_url":"https://github.com/tjvantoll/docs","homepage":null,"size":6197,"stargazers_count":0,"watchers_count":0,"language":null,"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":"NativeScript:master","ref":"master","sha":"6e5f9cb58331dbb7a9e7fb38d1424e557516eb6f","user":{"login":"NativeScript","id":7392261,"avatar_url":"https://avatars.githubusercontent.com/u/7392261?v=3","gravatar_id":"","url":"https://api.github.com/users/NativeScript","html_url":"https://github.com/NativeScript","followers_url":"https://api.github.com/users/NativeScript/followers","following_url":"https://api.github.com/users/NativeScript/following{/other_user}","gists_url":"https://api.github.com/users/NativeScript/gists{/gist_id}","starred_url":"https://api.github.com/users/NativeScript/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NativeScript/subscriptions","organizations_url":"https://api.github.com/users/NativeScript/orgs","repos_url":"https://api.github.com/users/NativeScript/repos","events_url":"https://api.github.com/users/NativeScript/events{/privacy}","received_events_url":"https://api.github.com/users/NativeScript/received_events","type":"Organization","site_admin":false},"repo":{"id":20398807,"name":"docs","full_name":"NativeScript/docs","owner":{"login":"NativeScript","id":7392261,"avatar_url":"https://avatars.githubusercontent.com/u/7392261?v=3","gravatar_id":"","url":"https://api.github.com/users/NativeScript","html_url":"https://github.com/NativeScript","followers_url":"https://api.github.com/users/NativeScript/followers","following_url":"https://api.github.com/users/NativeScript/following{/other_user}","gists_url":"https://api.github.com/users/NativeScript/gists{/gist_id}","starred_url":"https://api.github.com/users/NativeScript/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NativeScript/subscriptions","organizations_url":"https://api.github.com/users/NativeScript/orgs","repos_url":"https://api.github.com/users/NativeScript/repos","events_url":"https://api.github.com/users/NativeScript/events{/privacy}","received_events_url":"https://api.github.com/users/NativeScript/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/NativeScript/docs","description":"Docs, API Reference and Code Snippets for NativeScript","fork":false,"url":"https://api.github.com/repos/NativeScript/docs","forks_url":"https://api.github.com/repos/NativeScript/docs/forks","keys_url":"https://api.github.com/repos/NativeScript/docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NativeScript/docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NativeScript/docs/teams","hooks_url":"https://api.github.com/repos/NativeScript/docs/hooks","issue_events_url":"https://api.github.com/repos/NativeScript/docs/issues/events{/number}","events_url":"https://api.github.com/repos/NativeScript/docs/events","assignees_url":"https://api.github.com/repos/NativeScript/docs/assignees{/user}","branches_url":"https://api.github.com/repos/NativeScript/docs/branches{/branch}","tags_url":"https://api.github.com/repos/NativeScript/docs/tags","blobs_url":"https://api.github.com/repos/NativeScript/docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NativeScript/docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NativeScript/docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/NativeScript/docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NativeScript/docs/statuses/{sha}","languages_url":"https://api.github.com/repos/NativeScript/docs/languages","stargazers_url":"https://api.github.com/repos/NativeScript/docs/stargazers","contributors_url":"https://api.github.com/repos/NativeScript/docs/contributors","subscribers_url":"https://api.github.com/repos/NativeScript/docs/subscribers","subscription_url":"https://api.github.com/repos/NativeScript/docs/subscription","commits_url":"https://api.github.com/repos/NativeScript/docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/NativeScript/docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/NativeScript/docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/NativeScript/docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/NativeScript/docs/contents/{+path}","compare_url":"https://api.github.com/repos/NativeScript/docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NativeScript/docs/merges","archive_url":"https://api.github.com/repos/NativeScript/docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NativeScript/docs/downloads","issues_url":"https://api.github.com/repos/NativeScript/docs/issues{/number}","pulls_url":"https://api.github.com/repos/NativeScript/docs/pulls{/number}","milestones_url":"https://api.github.com/repos/NativeScript/docs/milestones{/number}","notifications_url":"https://api.github.com/repos/NativeScript/docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NativeScript/docs/labels{/name}","releases_url":"https://api.github.com/repos/NativeScript/docs/releases{/id}","created_at":"2014-06-02T09:28:14Z","updated_at":"2015-08-17T18:48:49Z","pushed_at":"2015-09-01T13:12:24Z","git_url":"git://github.com/NativeScript/docs.git","ssh_url":"git@github.com:NativeScript/docs.git","clone_url":"https://github.com/NativeScript/docs.git","svn_url":"https://github.com/NativeScript/docs","homepage":null,"size":7735,"stargazers_count":219,"watchers_count":219,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":47,"mirror_url":null,"open_issues_count":21,"forks":47,"open_issues":21,"watchers":219,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/134"},"html":{"href":"https://github.com/NativeScript/docs/pull/134"},"issue":{"href":"https://api.github.com/repos/NativeScript/docs/issues/134"},"comments":{"href":"https://api.github.com/repos/NativeScript/docs/issues/134/comments"},"review_comments":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/134/comments"},"review_comment":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/NativeScript/docs/pulls/134/commits"},"statuses":{"href":"https://api.github.com/repos/NativeScript/docs/statuses/869c82b06861f8f0f38699225ee21ab103ea221d"}}}}