From d4ab4bee93a428700b7bd0448c955f73bac05097 Mon Sep 17 00:00:00 2001 From: Plusb Preco Date: Fri, 3 Jun 2016 18:37:46 +0900 Subject: [PATCH] :memo: Update Korean docs as upstream [ci skip] --- docs-translations/ko-KR/api/web-contents.md | 35 ++++++++++++++++ .../ko-KR/tutorial/application-distribution.md | 47 ++++++++++++++++++++++ 2 files changed, 82 insertions(+) diff --git a/docs-translations/ko-KR/api/web-contents.md b/docs-translations/ko-KR/api/web-contents.md index b1b4a4e..4159201 100644 --- a/docs-translations/ko-KR/api/web-contents.md +++ b/docs-translations/ko-KR/api/web-contents.md @@ -360,6 +360,41 @@ Returns: 새로운 컨텍스트 메뉴의 제어가 필요할 때 발생하는 이벤트입니다. +### Event: 'select-bluetooth-device' + +Returns: + +* `event` Event +* `devices` [Objects] + * `deviceName` String + * `deviceId` String +* `callback` Function + * `deviceId` String + +`navigator.bluetooth.requestDevice`의 호출에 의해 블루투스 기기가 선택되어야 할 때 +발생하는 이벤트입니다. `navigator.bluetooth` API를 사용하려면 `webBluetooth`가 +활성화되어 있어야 합니다. 만약 `event.preventDefault`이 호출되지 않으면, 첫 번째로 +사용 가능한 기기가 선택됩니다. `callback`은 반드시 선택될 `deviceId`와 함께 +호출되어야 하며, 빈 문자열을 `callback`에 보내면 요청이 취소됩니다. + +```javascript +app.commandLine.appendSwitch('enable-web-bluetooth') + +app.on('ready', () => { + webContents.on('select-bluetooth-device', (event, deviceList, callback) => { + event.preventDefault() + let result = deviceList.find((device) => { + return device.deviceName === 'test' + }) + if (!result) { + callback('') + } else { + callback(result.deviceId) + } + }) +}) +``` + ## Instance Methods `webContents`객체는 다음과 같은 인스턴스 메서드들을 가지고 있습니다. diff --git a/docs-translations/ko-KR/tutorial/application-distribution.md b/docs-translations/ko-KR/tutorial/application-distribution.md index 501de4d..fedd613 100644 --- a/docs-translations/ko-KR/tutorial/application-distribution.md +++ b/docs-translations/ko-KR/tutorial/application-distribution.md @@ -145,3 +145,50 @@ Electron의 소스 코드를 수정하고 다시 빌드하는 작업은 상당 이 툴을 사용하면 자동으로 `.gyp`파일을 수정하고 다시 빌드합니다. 그리고 어플리케이션의 네이티브 Node 모듈 또한 새로운 실행파일 이름으로 일치시킵니다. + +### Electron 커스텀 포크 만들기 + +Electron의 커스텀 포크를 만드는 것은 거의 확실히 앱을 만드는데 있어서 필요한 작업이 +아닐 수 있으며, 심지어 "제품 등급"의 어플리케이션이라도 필요하지 않습니다. +`electron-packager` 또는 `electron-builder`와 같은 도구를 사용하면 다른 특별한 +과정 없이 Electron을 "Rebrand" 할 수 있습니다. + +업스트림 단에서 추가될 수 없는 기능이나 이미 공식 버전에서 거부된 기능을 Electron에 +직접적으로 패치하기 위해 커스텀 C++를 추가해야 한다면 Electron을 포크해야 합니다. +Electron의 개발자로써, Electron을 매우 많은 시나리오에서도 작동하도록 만들려고 +합니다. 따라서 가능한한 변경 사항을 공식 버전의 Electron에 추가할 수 있도록 시도해 +주길 바라며, 당신에겐 아주 아주 쉬운 작업일 것이고 이러한 당신의 도움에 대해 감사하게 +생각합니다. + +#### surf-build와 함께 커스텀 릴리즈 만들기 + +1. npm을 통해 [Surf](https://github.com/surf-build/surf)를 설치합니다: + `npm install -g surf-build@latest` + +2. 새로운 S3 bucket을 만들고 다음과 같은 빈 디렉토리 구조를 만듭니다: + +``` +- atom-shell/ + - symbols/ + - dist/ +``` + +3. 다음의 환경 변수들을 설정합니다: + +* `ELECTRON_GITHUB_TOKEN` - GitHub에 릴리즈를 만들 수 있는 토큰. +* `ELECTRON_S3_ACCESS_KEY`, `ELECTRON_S3_BUCKET`, `ELECTRON_S3_SECRET_KEY` - + node.js 헤더 뿐만 아니라 심볼을 업로드할 장소. +* `ELECTRON_RELEASE` - `true`로 지정하고 업로드 부분이 실행되면, 설정되지 않은 + 부분을 남기고 `surf-build`가 CI-type 확인을 실행합니다. 모든 pull request를 + 실행할 때 적합합니다. +* `CI` - `true` 또는 다른 것을 지정하면 실패합니다. +* `GITHUB_TOKEN` - `ELECTRON_GITHUB_TOKEN`와 같게 설정 +* `SURF_TEMP` - Windows에선 `C:\Temp`로 설정하면 긴 경로 문제를 해결할 수 있습니다. +* `TARGET_ARCH` - `ia32` 또는 `x64`를 지정. + +4. Electron에 기여를 하는 기여자라면, _반드시_ `script/upload.py`에서 포크를 위해 + `ELECTRON_REPO`를 설정해야 합니다. (`MYORG/electron`) + +5. `surf-build -r https://github.com/MYORG/electron -s YOUR_COMMIT -n 'surf-PLATFORM-ARCH'` + +6. 빌드가 완료될 때까지 아주 아주 긴 시간을 기다립니다. -- 2.7.4