doc: Separate pages into sub directories.
This commit is contained in:
parent
6b81070f67
commit
92241b91ce
21 changed files with 20 additions and 20 deletions
46
docs/development/build-instructions-mac.md
Normal file
46
docs/development/build-instructions-mac.md
Normal file
|
@ -0,0 +1,46 @@
|
|||
# Build instructions (Mac)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Mac OS X >= 10.7
|
||||
* [Xcode](https://developer.apple.com/technologies/tools/)
|
||||
* [node.js](http://nodejs.org)
|
||||
|
||||
## Getting the code
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/atom/atom-shell.git
|
||||
```
|
||||
|
||||
## Bootstrapping
|
||||
|
||||
The bootstrap script will download all necessary build dependencies and create
|
||||
build project files. Notice that we're using `ninja` to build `atom-shell` so
|
||||
there is no Xcode project generated.
|
||||
|
||||
```bash
|
||||
$ cd atom-shell
|
||||
$ ./script/bootstrap.py
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
Build both `Release` and `Debug` targets:
|
||||
|
||||
```bash
|
||||
$ ./script/build.py
|
||||
```
|
||||
|
||||
You can also only build the `Debug` target:
|
||||
|
||||
```bash
|
||||
$ ./script/build.py -c Debug
|
||||
```
|
||||
|
||||
After building is done, you can find `Atom.app` under `out/Debug`.
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
$ ./script/test.py
|
||||
```
|
60
docs/development/build-instructions-windows.md
Normal file
60
docs/development/build-instructions-windows.md
Normal file
|
@ -0,0 +1,60 @@
|
|||
# Build instructions (Windows)
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Windows 7 or later
|
||||
* Visual Studio 2010 Express or higher
|
||||
* [Python 2.7](http://www.python.org/download/releases/2.7/)
|
||||
* [node.js](http://nodejs.org/)
|
||||
* [git](http://git-scm.com)
|
||||
|
||||
The instructions bellow are executed under [cygwin](http://www.cygwin.com),
|
||||
but it's not a requirement, you can also build atom-shell under Windows's
|
||||
console or other terminals.
|
||||
|
||||
The building of atom-shell is done entirely with command line scripts, so you
|
||||
can use any editor you like to develop atom-shell, but it also means you can
|
||||
not use Visual Studio for the development. Support of building with Visual
|
||||
Studio will come in future.
|
||||
|
||||
**Note:** Even though Visual Studio is not used for building, it's still
|
||||
**required because we need the build toolchains it provided.
|
||||
|
||||
## Getting the code
|
||||
|
||||
```bash
|
||||
$ git clone https://github.com/atom/atom-shell.git
|
||||
```
|
||||
|
||||
## Bootstrapping
|
||||
|
||||
The bootstrap script will download all necessary build dependencies and create
|
||||
build project files. Notice that we're using `ninja` to build atom-shell so
|
||||
there is no Visual Studio project generated.
|
||||
|
||||
```bash
|
||||
$ cd atom-shell
|
||||
$ python script/bootstrap.py
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
Build both Release and Debug targets:
|
||||
|
||||
```bash
|
||||
$ python script/build.py
|
||||
```
|
||||
|
||||
You can also only build the Debug target:
|
||||
|
||||
```bash
|
||||
$ python script/build.py -c Debug
|
||||
```
|
||||
|
||||
After building is done, you can find `atom.exe` under `out\Debug`.
|
||||
|
||||
## Tests
|
||||
|
||||
```bash
|
||||
$ python script/test.py
|
||||
```
|
28
docs/development/coding-style.md
Normal file
28
docs/development/coding-style.md
Normal file
|
@ -0,0 +1,28 @@
|
|||
# Coding style
|
||||
|
||||
## C++ and Python
|
||||
|
||||
For C++ and Python, we just follow Chromium's [Coding
|
||||
Style](http://www.chromium.org/developers/coding-style), there is also a
|
||||
script `script/cpplint.py` to check whether all files confirm.
|
||||
|
||||
The python's version we are using now is Python 2.7.
|
||||
|
||||
## CoffeeScript
|
||||
|
||||
For CoffeeScript, we follow GitHub's [Style
|
||||
Guide](https://github.com/styleguide/javascript), and also following rules:
|
||||
|
||||
* Files should **NOT** end with new line, because we want to match Google's
|
||||
styles.
|
||||
* File names should be concatenated with `-` instead of `_`, e.g.
|
||||
`file-name.coffee` rather than `file_name.coffee`, because in
|
||||
[github/atom](https://github.com/github/atom) module names are usually in
|
||||
the `module-name` form, this rule only apply to `.coffee` files.
|
||||
|
||||
## API Names
|
||||
|
||||
When creating a new API, we should prefer getters and setters instead of
|
||||
jQuery's one-function style, for example, `.getText()` and `.setText(text)`
|
||||
are preferred to `.text([text])`. There is a
|
||||
[discussion](https://github.com/atom/atom-shell/issues/46) of this.
|
47
docs/development/source-code-directory-structure.md
Normal file
47
docs/development/source-code-directory-structure.md
Normal file
|
@ -0,0 +1,47 @@
|
|||
# Source code directory structure
|
||||
|
||||
## Overview
|
||||
|
||||
The source code of atom-shell is separated into a few parts, and we are mostly
|
||||
following Chromium on the separation conventions.
|
||||
|
||||
You may need to become familiar with [Chromium's multi-process
|
||||
architecture](http://dev.chromium.org/developers/design-documents/multi-process-architecture)
|
||||
to understand the source code better.
|
||||
|
||||
## Structure of source code
|
||||
|
||||
* **app** - Contains system entry code, this is the most basic level of the
|
||||
program.
|
||||
* **browser** - The frontend including the main window, UI, and all browser
|
||||
side things. This talks to the renderer to manage web pages.
|
||||
* **ui** - Implementation of UI stuff for different platforms.
|
||||
* **atom** - Initializes the javascript environment of browser.
|
||||
* **default_app** - The default page to show when atom-shell is started
|
||||
without providing an app.
|
||||
* **api** - The implementation of browser side APIs.
|
||||
* **lib** - Javascript part of the API implementation.
|
||||
* **renderer** - Code that runs in renderer.
|
||||
* **api** - The implementation of renderer side APIs.
|
||||
* **lib** - Javascript part of the API implementation.
|
||||
* **common** - Code that used by both browser and renderer, including some
|
||||
utility functions and code to integrate node's message loop into Chromium's message loop.
|
||||
* **api** - The implementation of common APIs, and foundations of
|
||||
atom-shell's built-in modules.
|
||||
* **lib** - Javascript part of the API implementation.
|
||||
* **spec** - Automatic tests.
|
||||
* **script** - Scripts for building atom-shell.
|
||||
|
||||
## Structure of other directories
|
||||
|
||||
* **vendor** - Build dependencies.
|
||||
* **tools** - Helper scripts to build atom-shell.
|
||||
* **node_modules** - Third party node modules used for building or running
|
||||
specs.
|
||||
* **out** - Output directory for `ninja`.
|
||||
* **dist** - Temporary directory created by `script/create-dist.py` script
|
||||
when creating an distribution.
|
||||
* **node** - Downloaded node binary, it's built from
|
||||
https://github.com/atom/node/tree/chromium-v8.
|
||||
* **frameworks** - Downloaded third-party binaries of frameworks (only on
|
||||
Mac).
|
Loading…
Add table
Add a link
Reference in a new issue