Merge pull request #3 from atom/master

更新一下啊
This commit is contained in:
王雪 2015-09-11 18:38:10 +08:00
commit a1cd806955
34 changed files with 344 additions and 109 deletions

View file

@ -29,6 +29,7 @@ possible with your report. If you can, please include:
* Include screenshots and animated GIFs in your pull request whenever possible.
* Follow the CoffeeScript, JavaScript, C++ and Python [coding style defined in docs](/docs/development/coding-style.md).
* Write documentation in [Markdown](https://daringfireball.net/projects/markdown).
See the [Documentation Styleguide](/docs/styleguide.md).
* Use short, present tense commit messages. See [Commit Message Styleguide](#git-commit-messages-styleguide).
## Styleguides

View file

@ -49,6 +49,10 @@ Electron을 빌드 하는 방법과 프로젝트에 기여하는 방법도 문
## 커뮤니티
[Atom 포럼내의 `electron` 카테고리](http://discuss.atom.io/category/electron)와 Freenode `#atom-shell` 채팅 채널에서 활발하게 토론이 이어지고 있습니다.
다음 링크를 통해 커뮤니티에 질문을 올리거나 토론을 나누실 수 있습니다:
- Atom 포럼의 [`electron`](http://discuss.atom.io/category/electron) 카테고리
- Freenode 채팅의 `#atom-shell` 채널
- Slack의 [`Atom`](http://atom-slack.herokuapp.com/) 채널
[awesome-electron](https://github.com/sindresorhus/awesome-electron) 프로젝트엔 커뮤니티가 운영중인 유용한 예제 어플리케이션과 도구, 리소스가 있으니 한번 참고해 보시기 바랍니다.

View file

@ -4,7 +4,7 @@
'product_name%': 'Electron',
'company_name%': 'GitHub, Inc',
'company_abbr%': 'github',
'version%': '0.32.1',
'version%': '0.32.2',
},
'includes': [
'filenames.gypi',

View file

@ -17,7 +17,7 @@
<key>CFBundleIconFile</key>
<string>atom.icns</string>
<key>CFBundleVersion</key>
<string>0.32.1</string>
<string>0.32.2</string>
<key>LSMinimumSystemVersion</key>
<string>10.8.0</string>
<key>NSMainNibFile</key>

View file

@ -56,8 +56,8 @@ END
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION 0,32,1,0
PRODUCTVERSION 0,32,1,0
FILEVERSION 0,32,2,0
PRODUCTVERSION 0,32,2,0
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
@ -74,12 +74,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "GitHub, Inc."
VALUE "FileDescription", "Electron"
VALUE "FileVersion", "0.32.1"
VALUE "FileVersion", "0.32.2"
VALUE "InternalName", "electron.exe"
VALUE "LegalCopyright", "Copyright (C) 2015 GitHub, Inc. All rights reserved."
VALUE "OriginalFilename", "electron.exe"
VALUE "ProductName", "Electron"
VALUE "ProductVersion", "0.32.1"
VALUE "ProductVersion", "0.32.2"
VALUE "SquirrelAwareVersion", "1"
END
END

View file

@ -7,7 +7,7 @@
#define ATOM_MAJOR_VERSION 0
#define ATOM_MINOR_VERSION 32
#define ATOM_PATCH_VERSION 1
#define ATOM_PATCH_VERSION 2
#define ATOM_VERSION_IS_RELEASE 1

View file

@ -2,7 +2,7 @@
* [어플리케이션 배포](tutorial/application-distribution.md)
* [어플리케이션 패키징](tutorial/application-packaging.md)
* [네이티브 node 모듈 사용하기](tutorial/using-native-node-modules.md)
* [네이티브 Node 모듈 사용하기](tutorial/using-native-node-modules.md)
* [메인 프로세스 디버깅하기](tutorial/debugging-main-process.md)
* [Selenium 과 WebDriver 사용하기](tutorial/using-selenium-and-webdriver.md)
* [개발자 콘솔 확장기능](tutorial/devtools-extension.md)
@ -12,25 +12,25 @@
* [시작하기](tutorial/quick-start.md)
* [데스크톱 환경 통합](tutorial/desktop-environment-integration.md)
* [온라인/오프라인 이벤트](tutorial/online-offline-events.md)
* [온라인/오프라인 이벤트 감지](tutorial/online-offline-events.md)
## API 레퍼런스
* [개요](api/synopsis.md)
* [process](api/process.md)
* [크롬 Command-Line 스위치 지원](api/chrome-command-line-switches.md)
* [Process 객체](api/process.md)
* [크롬 Command Line 스위치 지원](api/chrome-command-line-switches.md)
커스텀 DOM elements:
### 커스텀 DOM elements:
* [`File` 객체](api/file-object.md)
* [`<webview>` 태그](api/web-view-tag.md)
* [`window.open` 메서드](api/window-open.md)
* [`window.open` 함수](api/window-open.md)
메인 프로세스를 위한 모듈들:
### 메인 프로세스를 위한 모듈들:
* [app](api/app.md)
* [app (0% 번역됨)](api/app.md)
* [auto-updater](api/auto-updater.md)
* [browser-window](api/browser-window.md)
* [browser-window (0% 번역됨)](api/browser-window.md)
* [content-tracing](api/content-tracing.md)
* [dialog](api/dialog.md)
* [global-shortcut](api/global-shortcut.md)
@ -41,16 +41,16 @@
* [power-save-blocker](api/power-save-blocker.md)
* [protocol](api/protocol.md)
* [session](api/session.md)
* [webContents](api/web-contents.md)
* [web-contents (0% 번역됨)](api/web-contents.md)
* [tray](api/tray.md)
랜더러 프로세스를 위한 모듈들 (웹 페이지):
### 랜더러 프로세스를 위한 모듈들 (웹 페이지):
* [ipc (renderer)](api/ipc-renderer.md)
* [remote](api/remote.md)
* [web-frame](api/web-frame.md)
두 프로세스에서 모두 사용 가능한 모듈들:
### 두 프로세스에서 모두 사용 가능한 모듈들:
* [clipboard](api/clipboard.md)
* [crash-reporter](api/crash-reporter.md)

View file

@ -38,7 +38,7 @@ Squirrel은 응답을 분석해야 할 책임이 있기 때문에 `Accept: appli
버전 식별자와 다른 기준을 특정하는 업데이트 요청 폼을 서버로 전달하기 위한 공통적인 방법으로 쿼리 인자를 사용하는 방법이 있습니다:
```javascript
// On the main process
// In the main process
var app = require('app');
var autoUpdater = require('auto-updater');
autoUpdater.setFeedUrl('http://mycompany.com/myapp/latest?version=' + app.getVersion());

View file

@ -6,7 +6,7 @@
## 메시지 전송
물론 메인 프로세스에서 랜더러 프로세스로 메시지를 보내는 것도 가능합니다.
자세한 내용은 [WebContents.send](browser-window.md#webcontentssendchannel-args)를 참고하세요.
자세한 내용은 [WebContents.send](web-contents.md#webcontentssendchannel-args)를 참고하세요.
- 메시지를 전송할 때 이벤트 이름은 `channel`이 됩니다.
- 메시지에 동기로 응답할 땐 반드시 `event.returnValue`를 설정해야 합니다.

View file

@ -17,7 +17,7 @@ var win = new BrowserWindow({ width: 800, height: 600 });
win.loadUrl('https://github.com');
```
**참고:** 반대로 메인 프로세스에서 랜더러 프로세스에 접근 하려면 [webContents.executeJavascript](browser-window.md#webcontents-executejavascript-code) 메서드를 사용하면 됩니다.
**참고:** 반대로 메인 프로세스에서 랜더러 프로세스에 접근 하려면 [webContents.executeJavascript](web-contents.md#webcontentsexecutejavascriptcode-usergesture) 메서드를 사용하면 됩니다.
## Remote 객체

View file

@ -0,0 +1,187 @@
# session
`session` 객체는 [`BrowserWindow`](browser-window.md)의 [`webContents`](web-contents.md)의 프로퍼티입니다.
다음과 같이 `BrowserWindow` 인스턴스에서 접근할 수 있습니다:
```javascript
var BrowserWindow = require('browser-window');
var win = new BrowserWindow({ width: 800, height: 600 });
win.loadUrl("http://github.com");
var session = win.webContents.session
```
## Events
### Event: 'will-download'
* `event` Event
* `item` Object
* `url` String
* `filename` String
* `mimeType` String
* `hasUserGesture` Boolean
* `webContents` [WebContents](web-contents.md)
Electron의 `webContents`에서 `item`을 다운로드할 때 발생하는 이벤트입니다.
`event.preventDefault()` 메서드를 호출하면 다운로드를 취소합니다.
```javascript
session.on('will-download', function(event, item, webContents) {
event.preventDefault();
require('request')(item.url, function(data) {
require('fs').writeFileSync('/somewhere', data);
});
});
```
## Methods
`session` 객체는 다음과 같은 메서드와 속성을 가지고 있습니다:
### `session.cookies`
`cookies` 속성은 쿠키를 조작하는 방법을 제공합니다. 예를 들어 다음과 같이 할 수 있습니다:
```javascript
var BrowserWindow = require('browser-window');
var win = new BrowserWindow({ width: 800, height: 600 });
win.loadUrl('https://github.com');
win.webContents.on('did-finish-load', function() {
// 모든 쿠키를 가져옵니다.
win.webContents.session.cookies.get({}, function(error, cookies) {
if (error) throw error;
console.log(cookies);
});
// Url에 관련된 쿠키를 모두 가져옵니다.
win.webContents.session.cookies.get({ url : "http://www.github.com" },
function(error, cookies) {
if (error) throw error;
console.log(cookies);
});
// 지정한 쿠키 데이터를 설정합니다.
// 동일한 쿠키가 있으면 해당 쿠키를 덮어씁니다.
win.webContents.session.cookies.set(
{ url : "http://www.github.com", name : "dummy_name", value : "dummy"},
function(error, cookies) {
if (error) throw error;
console.log(cookies);
});
});
```
### `session.cookies.get(details, callback)`
`details` Object, properties:
* `url` String - `url`에 관련된 쿠키를 가져옵니다. 이 속성을 비워두면 모든 url의 쿠키를 가져옵니다.
* `name` String - 이름을 기준으로 쿠키를 필터링합니다.
* `domain` String - `domain`과 일치하는 도메인과 서브 도메인에 대한 쿠키를 가져옵니다.
* `path` String - `path`와 일치하는 경로에 대한 쿠키를 가져옵니다.
* `secure` Boolean - 보안 속성을 기준으로 쿠키를 필터링합니다.
* `session` Boolean - 세션 또는 영구 쿠키를 필터링합니다.
* `callback` Function - function(error, cookies)
* `error` Error
* `cookies` Array - `cookie` 객체의 배열, 속성은 다음과 같습니다:
* `name` String - 쿠키의 이름.
* `value` String - 쿠키의 값.
* `domain` String - 쿠키의 도메인.
* `host_only` String - 쿠키가 호스트 전용인가에 대한 여부.
* `path` String - 쿠키의 경로.
* `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부. (일반적으로 HTTPS)
* `http_only` Boolean - 쿠키가 HttpOnly로 표시되는지에 대한 여부.
* `session` Boolean - 쿠키가 세션 쿠키 또는 만료일이 있는 영구 쿠키인지에 대한 여부.
* `expirationDate` Double - (Option) UNIX 시간으로 표시되는 쿠키의 만료일에 대한 초 단위 시간. 세션 쿠키는 지원되지 않음.
### `session.cookies.set(details, callback)`
`details` Object, properties:
* `url` String - `url`에 관련된 쿠키를 가져옵니다.
* `name` String - 쿠키의 이름입니다. 기본적으로 비워두면 생략됩니다.
* `value` String - 쿠키의 값입니다. 기본적으로 비워두면 생략됩니다.
* `domain` String - 쿠키의 도메인입니다. 기본적으로 비워두면 생략됩니다.
* `path` String - 쿠키의 경로입니다. 기본적으로 비워두면 생략됩니다.
* `secure` Boolean - 쿠키가 안전한 것으로 표시되는지에 대한 여부입니다. 기본값은 false입니다.
* `session` Boolean - 쿠키가 HttpOnly로 표시되는지에 대한 여부입니다. 기본값은 false입니다.
* `expirationDate` Double - UNIX 시간으로 표시되는 쿠키의 만료일에 대한 초 단위 시간입니다. 생략하면 쿠키는 세션 쿠키가 됩니다.
* `callback` Function - function(error)
* `error` Error
### `session.cookies.remove(details, callback)`
* `details` Object, proprties:
* `url` String - 쿠키와 관련된 URL입니다.
* `name` String - 지울 쿠키의 이름입니다.
* `callback` Function - function(error)
* `error` Error
### `session.clearCache(callback)`
* `callback` Function - 작업이 완료되면 호출됩니다.
세션의 HTTP 캐시를 비웁니다.
### `session.clearStorageData([options, ]callback)`
* `options` Object (optional), proprties:
* `origin` String - `scheme://host:port`와 같은 `window.location.origin` 규칙을 따르는 origin 문자열.
* `storages` Array - 비우려는 스토리지의 종류, 다음과 같은 타입을 포함할 수 있습니다:
`appcache`, `cookies`, `filesystem`, `indexdb`, `local storage`,
`shadercache`, `websql`, `serviceworkers`
* `quotas` Array - 비우려는 할당의 종류, 다음과 같은 타입을 포함할 수 있습니다:
`temporary`, `persistent`, `syncable`.
* `callback` Function - 작업이 완료되면 호출됩니다.
웹 스토리지의 데이터를 비웁니다.
### `session.setProxy(config, callback)`
* `config` String
* `callback` Function - 작업이 완료되면 호출됩니다.
세션에 사용할 프록시 `config`를 분석하고 프록시를 적용합니다.
```
config = scheme-proxies[";"<scheme-proxies>]
scheme-proxies = [<url-scheme>"="]<proxy-uri-list>
url-scheme = "http" | "https" | "ftp" | "socks"
proxy-uri-list = <proxy-uri>[","<proxy-uri-list>]
proxy-uri = [<proxy-scheme>"://"]<proxy-host>[":"<proxy-port>]
예시:
"http=foopy:80;ftp=foopy2" -- use HTTP proxy "foopy:80" for http://
URLs, and HTTP proxy "foopy2:80" for
ftp:// URLs.
"foopy:80" -- use HTTP proxy "foopy:80" for all URLs.
"foopy:80,bar,direct://" -- use HTTP proxy "foopy:80" for all URLs,
failing over to "bar" if "foopy:80" is
unavailable, and after that using no
proxy.
"socks4://foopy" -- use SOCKS v4 proxy "foopy:1080" for all
URLs.
"http=foopy,socks5://bar.com -- use HTTP proxy "foopy" for http URLs,
and fail over to the SOCKS5 proxy
"bar.com" if "foopy" is unavailable.
"http=foopy,direct:// -- use HTTP proxy "foopy" for http URLs,
and use no proxy if "foopy" is
unavailable.
"http=foopy;socks=foopy2 -- use HTTP proxy "foopy" for http URLs,
and use socks4://foopy2 for all other
URLs.
```
### `session.setDownloadPath(path)`
* `path` String - 다운로드 위치
다운로드 저장 위치를 지정합니다. 기본 다운로드 위치는 각 어플리케이션 데이터 디렉터리의 `Downloads` 폴더입니다.

View file

@ -139,7 +139,7 @@
`webview` 태그는 다음과 같은 메서드를 가지고 있습니다:
**참고:** Webview 메서드는 페이지 로드가 끝난 뒤에만 사용할 수 있습니다.
**참고:** <webview> 태그 객체의 메서드는 페이지 로드가 끝난 뒤에만 사용할 수 있습니다.
**예제**
```javascript
@ -248,15 +248,15 @@ webview.addEventListener("dom-ready", function() {
### `<webview>.openDevTools()`
페이지에 대한 개발자 을 엽니다.
페이지에 대한 개발자 콘솔을 엽니다.
### `<webview>.closeDevTools()`
페이지에 대한 개발자 을 닫습니다.
페이지에 대한 개발자 콘솔을 닫습니다.
### `<webview>.isDevToolsOpened()`
페이지에 대한 개발자 이 열려있는지 확인합니다. 불린 값을 반환합니다.
페이지에 대한 개발자 콘솔이 열려있는지 확인합니다. 불린 값을 반환합니다.
### `<webview>.inspectElement(x, y)`
@ -267,7 +267,7 @@ webview.addEventListener("dom-ready", function() {
### `<webview>.inspectServiceWorker()`
Service worker에 대한 개발자 을 엽니다.
Service worker에 대한 개발자 콘솔을 엽니다.
### `<webview>.undo()`
@ -333,7 +333,7 @@ Webview 페이지를 PDF 형식으로 인쇄합니다. `webContents.printToPDF(o
`channel`을 통해 페이지에 `args` 비동기 메시지를 보냅니다.
페이지에선 `ipc` 모듈의 `channel` 이벤트를 사용하면 이 메시지를 받을 수 있습니다.
예제는 [WebContents.send](browser-window.md#webcontentssendchannel-args)를 참고하세요.
예제는 [WebContents.send](web-contents.md#webcontentssendchannel-args)를 참고하세요.
## DOM 이벤트
@ -360,6 +360,7 @@ Returns:
* `errorCode` Integer
* `errorDescription` String
* `validatedUrl` String
`did-finish-load`와 비슷합니다. 하지만 이 이벤트는 `window.stop()`과 같은 무언가로 인해 로드에 실패했을 때 발생하는 이벤트입니다.

View file

@ -1,6 +1,6 @@
# `window.open` 메서드
# `window.open` 함수
`window.open` 메서드가 호출되면 새 창을 생성하고 `url` 페이지를 불러옵니다.
`window.open` 함수가 호출되면 새 창을 생성하고 `url` 페이지를 불러옵니다.
이 창은 지정한 `url`을 로드하여 만들어진 `BrowserWindow`의 새 인스턴스이며 본래 창 객체 대신 페이지의 컨트롤이 제한된 프록시 객체를 반환합니다.
프록시 객체는 브라우저의 웹 페이지 창과 호환될 수 있도록 일부 제한된 표준 기능만 가지고 있습니다.

View file

@ -1,6 +1,6 @@
# Electron 문서 스타일 가이드
[Electron 문서 읽기](#) 와 [Electron 문서 작성하기](#) 중 적당히 필요한 부분을 찾아 참고하세요:
[Electron 문서 읽기](#electron-문서-읽기) 와 [Electron 문서 작성하기](#electron-문서-작성하기) 중 이해가 필요한 부분을 찾아 참고하세요:
## Electron 문서 작성하기
@ -22,6 +22,19 @@ Electron 문서를 작성하는 규칙은 다음과 같습니다.
- 문장의 길이는 한 줄당 80 칸을 유지합니다.
- 플랫폼 특정 메서드 헤더는 이탈릭체로 표시합니다.
- ```### `method(foo, bar)` _OS X_```
- 'on' 표현 대신 'in the ___ process' 형식의 표현을 지향합니다.
### 번역된 참조 문서
번역된 Electron의 참조 문서는 `docs-translations` 디렉터리에 있습니다.
아직 번역되지 않은 언어를 추가하려면 (일부분 포함):
- 언어의 약어(예: en, ja, ko등)로 서브 디렉터리를 만듭니다.
- 서브 디렉터리에 `docs` 디렉터리를 복사합니다. 파일 이름과 디렉터리 구조는 모두 유지합니다.
- 문서를 번역합니다.
- `README.md`에 번역한 문서의 링크를 추가하고 업데이트 합니다.
- 메인 Electron의 [README](https://github.com/atom/electron#documentation-translations)에 번역된 디렉터리의 링크를 추가합니다.
## Electron 문서 읽기

View file

@ -1,4 +1,4 @@
# 온라인/오프라인 이벤트
# 온라인/오프라인 이벤트 감지
온라인/오프라인 이벤트는 다음 예제와 같이 랜더러 프로세스에서 표준 HTML5 API를 이용하여 구현할 수 있습니다.

View file

@ -19,13 +19,14 @@ Node v0.11.x 버전부터는 V8 API의 중대한 변경이 있었습니다. 하
### 쉬운 방법
[`electron-rebuild`](https://github.com/paulcbetts/electron-rebuild) 패키지를 사용하면 빠르고 간단하게 네이티브 모듈을 다시 빌드할 수 있습니다.
간단한 절차를 통해 자동으로 헤더를 다운로드하고 네이티브 모듈을 빌드할 수 있습니다:
다음 예제는 `electron-rebuild`를 통해 자동으로 모듈의 헤더를 다운로드하고 네이티브 모듈을 빌드합니다:
```sh
npm install --save-dev electron-rebuild
# 필요한 네이티브 모듈을 `npm install`로 설치한 후 다음 명령을 실행하세요:
./node_modules/.bin/electron-rebuild
node ./node_modules/.bin/electron-rebuild
```
### node-gyp을 이용한 방법

View file

@ -1,32 +1,32 @@
## Guides
* [Application distribution](tutorial/application-distribution.md)
* [Application packaging](tutorial/application-packaging.md)
* [Using native node modules](tutorial/using-native-node-modules.md)
* [Debugging main process](tutorial/debugging-main-process.md)
* [Application Distribution](tutorial/application-distribution.md)
* [Application Packaging](tutorial/application-packaging.md)
* [Using Native Node Modules](tutorial/using-native-node-modules.md)
* [Debugging Main Process](tutorial/debugging-main-process.md)
* [Using Selenium and WebDriver](tutorial/using-selenium-and-webdriver.md)
* [DevTools extension](tutorial/devtools-extension.md)
* [Using pepper flash plugin](tutorial/using-pepper-flash-plugin.md)
* [DevTools Extension](tutorial/devtools-extension.md)
* [Using Pepper Flash Plugin](tutorial/using-pepper-flash-plugin.md)
## Tutorials
* [Quick start](tutorial/quick-start.md)
* [Desktop environment integration](tutorial/desktop-environment-integration.md)
* [Online/offline event detection](tutorial/online-offline-events.md)
* [Quick Start](tutorial/quick-start.md)
* [Desktop Environment Integration](tutorial/desktop-environment-integration.md)
* [Online/Offline Event Detection](tutorial/online-offline-events.md)
## API references
## API References
* [Synopsis](api/synopsis.md)
* [Process object](api/process.md)
* [Supported Chrome command line switches](api/chrome-command-line-switches.md)
* [Process Object](api/process.md)
* [Supported Chrome Command Line Switches](api/chrome-command-line-switches.md)
Custom DOM elements:
### Custom DOM Elements:
* [`File` object](api/file-object.md)
* [`<webview>` tag](api/web-view-tag.md)
* [`window.open` function](api/window-open.md)
* [`File` Object](api/file-object.md)
* [`<webview>` Tag](api/web-view-tag.md)
* [`window.open` Function](api/window-open.md)
Modules for the main process:
### Modules for the Main Process:
* [app](api/app.md)
* [auto-updater](api/auto-updater.md)
@ -41,16 +41,16 @@ Modules for the main process:
* [power-save-blocker](api/power-save-blocker.md)
* [protocol](api/protocol.md)
* [session](api/session.md)
* [webContents](api/web-contents.md)
* [web-contents](api/web-contents.md)
* [tray](api/tray.md)
Modules for the renderer process (web page):
### Modules for the Renderer Process (Web Page):
* [ipc (renderer)](api/ipc-renderer.md)
* [remote](api/remote.md)
* [web-frame](api/web-frame.md)
Modules for both processes:
### Modules for Both Processes:
* [clipboard](api/clipboard.md)
* [crash-reporter](api/crash-reporter.md)
@ -60,11 +60,11 @@ Modules for both processes:
## Development
* [Coding style](development/coding-style.md)
* [Source code directory structure](development/source-code-directory-structure.md)
* [Technical differences to NW.js (formerly node-webkit)](development/atom-shell-vs-node-webkit.md)
* [Build system overview](development/build-system-overview.md)
* [Build instructions (Mac)](development/build-instructions-osx.md)
* [Build instructions (Windows)](development/build-instructions-windows.md)
* [Build instructions (Linux)](development/build-instructions-linux.md)
* [Setting up symbol server in debugger](development/setting-up-symbol-server.md)
* [Coding Style](development/coding-style.md)
* [Source Code Directory Structure](development/source-code-directory-structure.md)
* [Technical Differences to NW.js (formerly node-webkit)](development/atom-shell-vs-node-webkit.md)
* [Build System Overview](development/build-system-overview.md)
* [Build Instructions (Mac)](development/build-instructions-osx.md)
* [Build Instructions (Windows)](development/build-instructions-windows.md)
* [Build Instructions (Linux)](development/build-instructions-linux.md)
* [Setting Up Symbol Server in debugger](development/setting-up-symbol-server.md)

View file

@ -152,7 +152,7 @@ Emitted when the gpu process crashes.
The `app` object has the following methods:
**Note** Some methods are only available on specific operating systems and are labeled as such.
**Note:** Some methods are only available on specific operating systems and are labeled as such.
### `app.quit()`

View file

@ -53,7 +53,7 @@ server that you are requesting updates from. A common approach is to use query
parameters, like this:
```javascript
// On the main process
// In the main process
var app = require('app');
var autoUpdater = require('auto-updater');
autoUpdater.setFeedUrl('http://mycompany.com/myapp/latest?version=' + app.getVersion());

View file

@ -117,7 +117,7 @@ Properties `width` and `height` are required.
The `BrowserWindow` object emits the following events:
+**Note** Some events are only available on specific operating systems and are labeled as such.
**Note:** Some events are only available on specific operating systems and are labeled as such.
### Event: 'page-title-updated'
@ -224,15 +224,15 @@ Emitted when the window leaves full screen state triggered by html api.
### Event: 'devtools-opened'
Emitted when devtools is opened.
Emitted when DevTools is opened.
### Event: 'devtools-closed'
Emitted when devtools is closed.
Emitted when DevTools is closed.
### Event: 'devtools-focused'
Emitted when devtools is focused / opened.
Emitted when DevTools is focused / opened.
### Event: 'app-command' _Windows_
@ -263,7 +263,7 @@ Returns the window that is focused in this application.
### `BrowserWindow.fromWebContents(webContents)`
* `webContents` [WebContents](#webcontents)
* `webContents` [WebContents](web-contents.md)
Find a window according to the `webContents` it owns.
@ -277,7 +277,7 @@ Find a window according to its ID.
* `path` String
Adds devtools extension located at `path`, and returns extension's name.
Adds DevTools extension located at `path`, and returns extension's name.
The extension will be remembered so you only need to call this API once, this
API is not for programming use.
@ -286,13 +286,11 @@ API is not for programming use.
* `name` String
Remove the devtools extension whose name is `name`.
Remove the DevTools extension whose name is `name`.
## Instance Methods
## Instance Properties
Objects created with `new BrowserWindow` have the following instance methods:
+**Note** Some methods are only available on specific operating systems and are labeled as such.
Objects created with `new BrowserWindow` have the following properties:
```javascript
var BrowserWindow = require('browser-window');
@ -302,7 +300,7 @@ var win = new BrowserWindow({ width: 800, height: 600 });
```
### `win.webContents()`
### `win.webContents`
The `WebContents` object this window owns, all web page related events and
operations will be done via it.
@ -313,16 +311,30 @@ events.
**Note:** Users should never store this object because it may become `null`
when the renderer process (web page) has crashed.
### `win.devToolsWebContents()`
### `win.devToolsWebContents`
Get the `WebContents` of devtools for this window.
Get the `WebContents` of DevTools for this window.
**Note:** Users should never store this object because it may become `null`
when the devtools has been closed.
when the DevTools has been closed.
### `win.id()`
### `win.id`
Get the unique ID of this window.
The unique ID of this window.
## Instance Methods
Objects created with `new BrowserWindow` have the following instance methods:
**Note:** Some methods are only available on specific operating systems and are labeled as such.
```javascript
var BrowserWindow = require('browser-window');
// In this example `win` is our instance
var win = new BrowserWindow({ width: 800, height: 600 });
```
### `win.destroy()`
@ -577,7 +589,7 @@ Whether the window's document has been edited.
### `win.openDevTools([options])`
* `options` Object (optional). Properties:
* `detach` Boolean - opens devtools in a new window
* `detach` Boolean - opens DevTools in a new window
Opens the developer tools.

View file

@ -4,7 +4,7 @@ The `global-shortcut` module can register/unregister a global keyboard shortcut
with the operating system so that you can customize the operations for various
shortcuts.
**Note**: The shortcut is global; it will work even if the app does
**Note:** The shortcut is global; it will work even if the app does
not have the keyboard focus. You should not use this module until the `ready`
event of the app module is emitted.

View file

@ -7,7 +7,7 @@ a renderer will be emitted to this module.
## Sending Messages
It is also possible to send messages from the main process to the renderer
process, see [WebContents.send](browser-window.md#webcontentssendchannel-args)
process, see [WebContents.send](web-contents.md#webcontentssendchannel-args)
for more information.
- When sending a message, the event name is the `channel`.

View file

@ -4,7 +4,7 @@ The `ipc` module provides a few methods so you can send synchronous and
asynchronous messages from the render process (web page) to the main process.
You can also receive replies from the main process.
**Note**: If you want to make use of modules in the main process from the renderer
**Note:** If you want to make use of modules in the main process from the renderer
process, you might consider using the [remote](remote.md) module.
See [ipc (main process)](ipc-main-process.md) for code examples.
@ -13,7 +13,7 @@ See [ipc (main process)](ipc-main-process.md) for code examples.
The `ipc` module has the following methods for sending messages:
**Note**: When using these methods to send a `message` you must also listen
**Note:** When using these methods to send a `message` you must also listen
for it in the main process with [`ipc (main process)`](ipc-main-process.md).
### `ipc.send(channel[, arg1][, arg2][, ...])`

View file

@ -74,7 +74,7 @@ mixed with other content to create the desired final appearance.
The most common case is to use template images for a menu bar icon so it can
adapt to both light and dark menu bars.
**Note**: Template image is only supported on OS X.
**Note:** Template image is only supported on OS X.
To mark an image as a template image, its filename should end with the word
`Template`. For example:

View file

@ -1,7 +1,7 @@
# power-monitor
The `power-monitor` module is used to monitor power state changes. You can
only use it on the main process. You should not use this module until the `ready`
only use it in the main process. You should not use this module until the `ready`
event of the `app` module is emitted.
For example:

View file

@ -20,8 +20,8 @@ var win = new BrowserWindow({ width: 800, height: 600 });
win.loadUrl('https://github.com');
```
**Note**: for the reverse (access the renderer process from the main process),
you can use [webContents.executeJavascript](browser-window.md#webcontents-executejavascript-code).
**Note:** for the reverse (access the renderer process from the main process),
you can use [webContents.executeJavascript](web-contents.md#webcontentsexecutejavascriptcode-usergesture).
## Remote Objects

View file

@ -6,7 +6,7 @@ position, etc. You should not use this module until the `ready` event of the
`screen` is an [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter).
**Note**: In the renderer / DevTools, `window.screen` is a reserved
**Note:** In the renderer / DevTools, `window.screen` is a reserved
DOM property, so writing `var screen = require('screen')` will not work. In our
examples below, we use `atomScreen` as the variable name instead.

View file

@ -5,13 +5,13 @@ Electron and third-party node modules also fully supported as well (including
the [native modules](../tutorial/using-native-node-modules.md)).
Electron also provides some extra built-in modules for developing native
desktop applications. Some modules are only available on the main process, some
desktop applications. Some modules are only available in the main process, some
are only available in the renderer process (web page), and some can be used in
both processes.
The basic rule is: if a module is
[GUI](https://en.wikipedia.org/wiki/Graphical_user_interface) or low-level
system related, then it should be only available on the main process. You need
system related, then it should be only available in the main process. You need
to be familiar with the concept of
[main process vs. renderer process](../tutorial/quick-start.md#the-main-process)
scripts to be able to use those modules.

View file

@ -123,7 +123,7 @@ Emitted when dragged files are dropped in the tray icon.
The `Tray` module has the following methods:
**Note**: Some methods are only available on specific operating systems and are
**Note:** Some methods are only available on specific operating systems and are
labeled as such.
### `Tray.destroy()`

View file

@ -427,13 +427,13 @@ win.webContents.on("did-finish-load", function() {
* `path` String
Adds the specified path to devtools workspace.
Adds the specified path to DevTools workspace.
### `webContents.removeWorkSpace(path)`
* `path` String
Removes the specified path from devtools workspace.
Removes the specified path from DevTools workspace.
### `webContents.send(channel[, args...])`
@ -446,7 +446,7 @@ page can handle it by listening to the `channel` event of the `ipc` module.
An example of sending messages from the main process to the renderer process:
```javascript
// On the main process.
// In the main process.
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
@ -473,6 +473,6 @@ app.on('ready', function() {
**Note:**
1. The IPC message handler in web pages does not have an `event` parameter,
which is different from the handlers on the main process.
which is different from the handlers in the main process.
2. There is no way to send synchronous messages from the main process to a
renderer process, because it would be very easy to cause dead locks.

View file

@ -153,7 +153,7 @@ value will fail with a DOM exception.
The `webview` tag has the following methods:
**Note**: The webview element must be loaded before using the methods.
**Note:** The webview element must be loaded before using the methods.
**Example**
```javascript
@ -260,15 +260,15 @@ user action, can take advantage of this option for automation.
### `<webview>.openDevTools()`
Opens a devtools window for guest page.
Opens a DevTools window for guest page.
### `<webview>.closeDevTools()`
Closes the devtools window of guest page.
Closes the DevTools window of guest page.
### `<webview>.isDevToolsOpened()`
Returns a boolean whether guest page has a devtools window attached.
Returns a boolean whether guest page has a DevTools window attached.
### `<webview>.inspectElement(x, y)`
@ -279,7 +279,7 @@ Starts inspecting element at position (`x`, `y`) of guest page.
### `<webview>.inspectServiceWorker()`
Opens the devtools for the service worker context present in the guest page.
Opens the DevTools for the service worker context present in the guest page.
### `<webview>.setAudioMuted(muted)`
@ -355,7 +355,7 @@ Prints webview's web page as PDF, Same with `webContents.printToPDF(options, cal
Send `args..` to guest page via `channel` in asynchronous message, the guest
page can handle it by listening to the `channel` event of `ipc` module.
See [WebContents.send](browser-window.md#webcontentssendchannel-args) for
See [WebContents.send](web-contents.md#webcontentssendchannel-args) for
examples.
## DOM events

View file

@ -1,7 +1,7 @@
# Electron Documentation Styleguide
Find the appropriate section for your task: [reading Electron documentation](#)
or [writing Electron documentation](#).
Find the appropriate section for your task: [reading Electron documentation](#reading-electron-documentation)
or [writing Electron documentation](#writing-electron-documentation).
## Writing Electron Documentation
@ -25,6 +25,22 @@ These are the ways that we construct the Electron documentation.
- Line length is 80-column wrapped.
- Platform specific methods are noted in italics following method header.
- ```### `method(foo, bar)` _OS X_```
- Prefer 'in the ___ process' over 'on'
### Documentation Translations
Translations of the Electron docs are located within the `docs-translations`
directory.
To add another set (or partial set):
- Create a subdirectory named by language abbreviation.
- Within that subdirectory, duplicate the `docs` directory, keeping the
names of directories and files same.
- Translate the files.
- Update the `README.md` within your language directory to link to the files
you have translated.
- Add a link to your translation directory on the main Electron [README](https://github.com/atom/electron#documentation-translations).
## Reading Electron Documentation

View file

@ -1,6 +1,6 @@
# Debugging the Main Process
The browser window devtools can only debug the renderer process scripts (i.e.
The browser window DevTools can only debug the renderer process scripts (i.e.
the web pages). In order to provide a way to debug the scripts from the main
process, Electron has provided the `--debug` and `--debug-brk` switches.

View file

@ -31,7 +31,7 @@ which handles the manual steps of downloading headers and building native module
npm install --save-dev electron-rebuild
# Every time you run npm install, run this
./node_modules/.bin/electron-rebuild
node ./node_modules/.bin/electron-rebuild
```
### The node-gyp Way