From ed081c8834915d69a892289a5fdb34e3627f8ef5 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Thu, 3 Nov 2016 13:53:40 -0700 Subject: [PATCH 1/8] WIP --- docs/glossary.md | 109 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 docs/glossary.md diff --git a/docs/glossary.md b/docs/glossary.md new file mode 100644 index 00000000000..ea290913b8a --- /dev/null +++ b/docs/glossary.md @@ -0,0 +1,109 @@ +# Glossary + +This page defines some terminology that is commonly used in Electron development. + +## ASAR + +ASAR stands for Atom Shell Archive Format. An [asar][asar] archive is a simple +`tar`-like format that concatenates files into a single file. Electron can read +arbitrary files from it without unpacking the whole file. + +The ASAR format was created primarily to improve performance on Windows... TODO + +## Brightray + +Brightray is a static library that makes [libchromiumcontent] easier to use in +applications. It was created specifically for Electron, but can be used to +enable Chromium's renderer in native apps that are not based on Electron. + +Brightray is a low-level dependency of Electron that does not concern the +majority of Electron users. + +## IPC + +IPC stands for Inter-Process Communication. Electron uses IPC to send +serialized JSON messages between the [main] and [renderer] processes. + +## libchromiumcontent + +A single, shared library that includes the Chromium Content module and all its +dependencies (e.g., Blink, [V8], etc.). + +## Main Process + +The main process, commonly a file named `main.js`, is the entry point to every +Electron app. It controls the life of the app, from open to close. It also +manages native elements such as the Menu, Menu Bar, Dock, Tray, etc. The +main process is responsible for creating each new renderer process in the app. +The full Node API is built in. + +Every app's main process file is specified in the `main` property in +`package.json`. This is how `electron .` knows what file to execute at startup. + +## MAS + +Acronym for Apple's Mac App Store. For details on submitting your app to the +MAS, see the [Mac App Store Submission Guide]. + +## Native Modules + +Native Modules (also called [addons] in +Node.js) are modules written in C or C++ that can be loaded into Node.js or +Electron using the require() function, and used just as if they were an +ordinary Node.js module. They are used primarily to provide an interface +between JavaScript running in Node.js and C/C++ libraries. + +Native Node modules are supported by Electron, but since Electron is very +likely to use a different V8 version from the Node binary installed in your +system, you have to manually specify the location of Electron’s headers when +building native modules. + +See also [Using Native Node Modules] + +## Renderer Process + +The renderer process is a browser window in your app. Unlike the main process, +there can be multiple of these and each is run in a separate process. +They can also be hidden. + +In normal browsers, web pages usually run in a sandboxed environment and are not +allowed access to native resources. Electron users, however, have the power to +use Node.js APIs in web pages allowing lower level operating system +interactions. + +## Squirrel + +Squirrel is an open-source framework that enables Electron apps to update +automatically as new versions are released. See the [autoUpdater] API for +info about getting started with Squirrel. + +## userland + +This term originated in the Unix community, where "userland" or "userspace" +referred to programs that run outside of the operating system kernel. More +recently, the term has been popularized in the Node and npm community to +distinguish between the features available in "Node core" versus packages +published to the npm registry by the much larger "user" community. + +Just like Node, Electron is focused on having a small set of APIs that provide +all the necessary primitives for developing multi-platform Desktop applications. +This design philosophy allows Electron to remain a flexible tool without being +overly prescriptive about how it should be used. Userland enables users to +create and share tools that provide additional functionality on top of what is +available in "core". + +## V8 + +V8 is Google's open source JavaScript engine. It is written in C++ and is +used in Google Chrome, the open source browser from Google. V8 can run +standalone, or can be embedded into any C++ application. + +[addons]: https://nodejs.org/api/addons.html +[autoUpdater]: api/auto-updater.md +[libchromiumcontent]: #libchromiumcontent +[Mac App Store Submission Guide]: tutorials/mac-app-store-submission-guide.md +[main]: #main-process +[renderer]: #renderer-process +[Using Native Node Modules]: tutorial/using-native-node-modules.md +[userland]: #userland +[V8]: #v8 From 4e8c21549b4cd26632b067a492c8f4c11791656d Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Fri, 4 Nov 2016 11:24:41 -0700 Subject: [PATCH 2/8] define process and webview --- docs/glossary.md | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index ea290913b8a..d885d58601a 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -29,7 +29,7 @@ serialized JSON messages between the [main] and [renderer] processes. A single, shared library that includes the Chromium Content module and all its dependencies (e.g., Blink, [V8], etc.). -## Main Process +## main process The main process, commonly a file named `main.js`, is the entry point to every Electron app. It controls the life of the app, from open to close. It also @@ -45,9 +45,9 @@ Every app's main process file is specified in the `main` property in Acronym for Apple's Mac App Store. For details on submitting your app to the MAS, see the [Mac App Store Submission Guide]. -## Native Modules +## native modules -Native Modules (also called [addons] in +Native modules (also called [addons] in Node.js) are modules written in C or C++ that can be loaded into Node.js or Electron using the require() function, and used just as if they were an ordinary Node.js module. They are used primarily to provide an interface @@ -58,9 +58,20 @@ likely to use a different V8 version from the Node binary installed in your system, you have to manually specify the location of Electron’s headers when building native modules. -See also [Using Native Node Modules] +See also [Using Native Node Modules]. -## Renderer Process +# process + +A process is an instance of a computer program that is being executed. Electron +apps that make use of the [main] and one or many [renderer] process are +actually running several programs simultaneously. + +In Node.js and Electron, each running process has a `process` object. This +object is a global that provides information about, and control over, the +current process. As a global, it is always available to applications without +using require(). + +## renderer process The renderer process is a browser window in your app. Unlike the main process, there can be multiple of these and each is run in a separate process. @@ -98,6 +109,15 @@ V8 is Google's open source JavaScript engine. It is written in C++ and is used in Google Chrome, the open source browser from Google. V8 can run standalone, or can be embedded into any C++ application. +## webview + +`webview` tags are used to embed 'guest' content (such as external web pages) in +your Electron app. They are similar to `iframe`s, but differ in that each +webview runs in a separate process. It doesn't have the same +permissions as your web page and all interactions between your app and +embedded content will be asynchronous. This keeps your app safe from the +embedded content. + [addons]: https://nodejs.org/api/addons.html [autoUpdater]: api/auto-updater.md [libchromiumcontent]: #libchromiumcontent From ead5275d6389333125b5d95b06dc9eafdab3e166 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Fri, 4 Nov 2016 11:28:46 -0700 Subject: [PATCH 3/8] fix heading level --- docs/glossary.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/glossary.md b/docs/glossary.md index d885d58601a..fc375e22ac2 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -60,7 +60,7 @@ building native modules. See also [Using Native Node Modules]. -# process +## process A process is an instance of a computer program that is being executed. Electron apps that make use of the [main] and one or many [renderer] process are From a39dc1b78a1dce1616704019336f1b572c7d4fff Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Fri, 4 Nov 2016 11:28:59 -0700 Subject: [PATCH 4/8] :art: --- docs/glossary.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index fc375e22ac2..be249e378a1 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -2,7 +2,7 @@ This page defines some terminology that is commonly used in Electron development. -## ASAR +### ASAR ASAR stands for Atom Shell Archive Format. An [asar][asar] archive is a simple `tar`-like format that concatenates files into a single file. Electron can read @@ -10,7 +10,7 @@ arbitrary files from it without unpacking the whole file. The ASAR format was created primarily to improve performance on Windows... TODO -## Brightray +### Brightray Brightray is a static library that makes [libchromiumcontent] easier to use in applications. It was created specifically for Electron, but can be used to @@ -19,17 +19,17 @@ enable Chromium's renderer in native apps that are not based on Electron. Brightray is a low-level dependency of Electron that does not concern the majority of Electron users. -## IPC +### IPC IPC stands for Inter-Process Communication. Electron uses IPC to send serialized JSON messages between the [main] and [renderer] processes. -## libchromiumcontent +### libchromiumcontent A single, shared library that includes the Chromium Content module and all its dependencies (e.g., Blink, [V8], etc.). -## main process +### main process The main process, commonly a file named `main.js`, is the entry point to every Electron app. It controls the life of the app, from open to close. It also @@ -40,12 +40,12 @@ The full Node API is built in. Every app's main process file is specified in the `main` property in `package.json`. This is how `electron .` knows what file to execute at startup. -## MAS +### MAS Acronym for Apple's Mac App Store. For details on submitting your app to the MAS, see the [Mac App Store Submission Guide]. -## native modules +### native modules Native modules (also called [addons] in Node.js) are modules written in C or C++ that can be loaded into Node.js or @@ -60,7 +60,7 @@ building native modules. See also [Using Native Node Modules]. -## process +### process A process is an instance of a computer program that is being executed. Electron apps that make use of the [main] and one or many [renderer] process are @@ -71,7 +71,7 @@ object is a global that provides information about, and control over, the current process. As a global, it is always available to applications without using require(). -## renderer process +### renderer process The renderer process is a browser window in your app. Unlike the main process, there can be multiple of these and each is run in a separate process. @@ -82,13 +82,13 @@ allowed access to native resources. Electron users, however, have the power to use Node.js APIs in web pages allowing lower level operating system interactions. -## Squirrel +### Squirrel Squirrel is an open-source framework that enables Electron apps to update automatically as new versions are released. See the [autoUpdater] API for info about getting started with Squirrel. -## userland +### userland This term originated in the Unix community, where "userland" or "userspace" referred to programs that run outside of the operating system kernel. More @@ -103,13 +103,13 @@ overly prescriptive about how it should be used. Userland enables users to create and share tools that provide additional functionality on top of what is available in "core". -## V8 +### V8 V8 is Google's open source JavaScript engine. It is written in C++ and is used in Google Chrome, the open source browser from Google. V8 can run standalone, or can be embedded into any C++ application. -## webview +### webview `webview` tags are used to embed 'guest' content (such as external web pages) in your Electron app. They are similar to `iframe`s, but differ in that each From f1692f3274a3875579e7af605e287ec8f4aca985 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Fri, 4 Nov 2016 11:32:53 -0700 Subject: [PATCH 5/8] lint to glossary from docs readme --- docs/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/README.md b/docs/README.md index e1cd9540500..d2c7651a2bc 100644 --- a/docs/README.md +++ b/docs/README.md @@ -16,6 +16,7 @@ an issue: ## Guides +* [Glossary of Terms](glossary.md) * [Supported Platforms](tutorial/supported-platforms.md) * [Security](tutorial/security.md) * [Electron Versioning](tutorial/electron-versioning.md) From a098bf30d4ca5f6db9b87996f86c84e263860f08 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Sat, 5 Nov 2016 20:07:36 -0700 Subject: [PATCH 6/8] add DMG and NSIS to glossary --- docs/glossary.md | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/glossary.md b/docs/glossary.md index be249e378a1..1684b86f7a4 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -19,6 +19,12 @@ enable Chromium's renderer in native apps that are not based on Electron. Brightray is a low-level dependency of Electron that does not concern the majority of Electron users. +### DMG + +An Apple Disk Image is a packaging format used by macOS. DMG files are +commonly used for distributing application "installers". [electron-builder] +supports `dmg` as a build target. + ### IPC IPC stands for Inter-Process Communication. Electron uses IPC to send @@ -60,6 +66,14 @@ building native modules. See also [Using Native Node Modules]. +## NSIS + +Nullsoft Scriptable Install System is a script-driven Installer +authoring tool for Microsoft Windows. It is released under a combination of +free software licenses, and is a widely-used alternative to commercial +proprietary products like InstallShield. [electron-builder] supports NSIS +as a build target. + ### process A process is an instance of a computer program that is being executed. Electron @@ -96,8 +110,8 @@ recently, the term has been popularized in the Node and npm community to distinguish between the features available in "Node core" versus packages published to the npm registry by the much larger "user" community. -Just like Node, Electron is focused on having a small set of APIs that provide -all the necessary primitives for developing multi-platform Desktop applications. +Like Node, Electron is focused on having a small set of APIs that provide +all the necessary primitives for developing multi-platform desktop applications. This design philosophy allows Electron to remain a flexible tool without being overly prescriptive about how it should be used. Userland enables users to create and share tools that provide additional functionality on top of what is @@ -120,6 +134,7 @@ embedded content. [addons]: https://nodejs.org/api/addons.html [autoUpdater]: api/auto-updater.md +[electron-builder]: https://github.com/electron-userland/electron-builder [libchromiumcontent]: #libchromiumcontent [Mac App Store Submission Guide]: tutorials/mac-app-store-submission-guide.md [main]: #main-process From e57cb713b2d1b59fbc8e63c28b5d8380d0fe44d6 Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Wed, 23 Nov 2016 11:20:56 -0800 Subject: [PATCH 7/8] link process annotations to glossary --- docs-translations/pt-BR/api/power-save-blocker.md | 2 +- docs/api/app.md | 2 +- docs/api/auto-updater.md | 2 +- docs/api/browser-window-proxy.md | 2 +- docs/api/browser-window.md | 4 ++-- docs/api/client-request.md | 2 +- docs/api/clipboard.md | 2 +- docs/api/content-tracing.md | 2 +- docs/api/cookies.md | 2 +- docs/api/crash-reporter.md | 2 +- docs/api/debugger.md | 2 +- docs/api/desktop-capturer.md | 2 +- docs/api/dialog.md | 2 +- docs/api/download-item.md | 2 +- docs/api/global-shortcut.md | 2 +- docs/api/incoming-message.md | 2 +- docs/api/ipc-main.md | 2 +- docs/api/ipc-renderer.md | 2 +- docs/api/menu-item.md | 2 +- docs/api/menu.md | 2 +- docs/api/native-image.md | 4 ++-- docs/api/net.md | 2 +- docs/api/power-monitor.md | 2 +- docs/api/power-save-blocker.md | 2 +- docs/api/process.md | 2 +- docs/api/protocol.md | 2 +- docs/api/remote.md | 2 +- docs/api/screen.md | 2 +- docs/api/session.md | 4 ++-- docs/api/shell.md | 2 +- docs/api/system-preferences.md | 2 +- docs/api/tray.md | 2 +- docs/api/web-contents.md | 4 ++-- docs/api/web-frame.md | 2 +- docs/api/web-request.md | 2 +- 35 files changed, 39 insertions(+), 39 deletions(-) diff --git a/docs-translations/pt-BR/api/power-save-blocker.md b/docs-translations/pt-BR/api/power-save-blocker.md index efed0c1c7f3..fd9eed1da2a 100644 --- a/docs-translations/pt-BR/api/power-save-blocker.md +++ b/docs-translations/pt-BR/api/power-save-blocker.md @@ -2,7 +2,7 @@ > loquear o sistema de entrar no modo de pouca energia (suspenso). -Processo: [Main](../tutorial/quick-start.md#main-process) +Processo: [Main](../glossary.md#main-process) Por exemplo: diff --git a/docs/api/app.md b/docs/api/app.md index 081c6dc2ab8..e473f720cfd 100644 --- a/docs/api/app.md +++ b/docs/api/app.md @@ -2,7 +2,7 @@ > Control your application's event lifecycle. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The following example shows how to quit the application when the last window is closed: diff --git a/docs/api/auto-updater.md b/docs/api/auto-updater.md index 720e2896915..219e1eb2138 100644 --- a/docs/api/auto-updater.md +++ b/docs/api/auto-updater.md @@ -2,7 +2,7 @@ > Enable apps to automatically update themselves. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The `autoUpdater` module provides an interface for the [Squirrel](https://github.com/Squirrel) framework. diff --git a/docs/api/browser-window-proxy.md b/docs/api/browser-window-proxy.md index a6d57299cfd..2bf5a15f748 100644 --- a/docs/api/browser-window-proxy.md +++ b/docs/api/browser-window-proxy.md @@ -2,7 +2,7 @@ > Manipulate the child browser window -Process: [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Renderer](../glossary.md#renderer-process) The `BrowserWindowProxy` object is returned from `window.open` and provides limited functionality with the child window. diff --git a/docs/api/browser-window.md b/docs/api/browser-window.md index 2b57a46d161..e88cae5717c 100644 --- a/docs/api/browser-window.md +++ b/docs/api/browser-window.md @@ -2,7 +2,7 @@ > Create and control browser windows. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) ```javascript // In the main process. @@ -111,7 +111,7 @@ child.once('ready-to-show', () => { > Create and control browser windows. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `BrowserWindow` is an [EventEmitter](http://nodejs.org/api/events.html#events_class_events_eventemitter). diff --git a/docs/api/client-request.md b/docs/api/client-request.md index bcde94dd8d8..0b722f2f09d 100644 --- a/docs/api/client-request.md +++ b/docs/api/client-request.md @@ -2,7 +2,7 @@ > Make HTTP/HTTPS requests. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `ClientRequest` implements the [Writable Stream](https://nodejs.org/api/stream.html#stream_writable_streams) interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). diff --git a/docs/api/clipboard.md b/docs/api/clipboard.md index d648b22c029..932a1da7b2c 100644 --- a/docs/api/clipboard.md +++ b/docs/api/clipboard.md @@ -2,7 +2,7 @@ > Perform copy and paste operations on the system clipboard. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) The following example shows how to write a string to the clipboard: diff --git a/docs/api/content-tracing.md b/docs/api/content-tracing.md index 36a85ff0353..a1c76d88070 100644 --- a/docs/api/content-tracing.md +++ b/docs/api/content-tracing.md @@ -3,7 +3,7 @@ > Collect tracing data from Chromium's content module for finding performance bottlenecks and slow operations. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) This module does not include a web interface so you need to open `chrome://tracing/` in a Chrome browser and load the generated file to view the diff --git a/docs/api/cookies.md b/docs/api/cookies.md index 7a9151e97ac..35759aaee1e 100644 --- a/docs/api/cookies.md +++ b/docs/api/cookies.md @@ -2,7 +2,7 @@ > Query and modify a session's cookies. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) Instances of the `Cookies` class are accessed by using `cookies` property of a `Session`. diff --git a/docs/api/crash-reporter.md b/docs/api/crash-reporter.md index 3fc85f94849..013a3377677 100644 --- a/docs/api/crash-reporter.md +++ b/docs/api/crash-reporter.md @@ -2,7 +2,7 @@ > Submit crash reports to a remote server. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) The following is an example of automatically submitting a crash report to a remote server: diff --git a/docs/api/debugger.md b/docs/api/debugger.md index a0e20277c26..1be33833ed8 100644 --- a/docs/api/debugger.md +++ b/docs/api/debugger.md @@ -2,7 +2,7 @@ > An alternate transport for Chrome's remote debugging protocol. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) Chrome Developer Tools has a [special binding][rdp] available at JavaScript runtime that allows interacting with pages and instrumenting them. diff --git a/docs/api/desktop-capturer.md b/docs/api/desktop-capturer.md index 5e64a8403d2..85755dc03ef 100644 --- a/docs/api/desktop-capturer.md +++ b/docs/api/desktop-capturer.md @@ -3,7 +3,7 @@ > Access information about media sources that can be used to capture audio and > video from the desktop using the [`navigator.webkitGetUserMedia`] API. -Process: [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Renderer](../glossary.md#renderer-process) The following example shows how to capture video from a desktop window whose title is `Electron`: diff --git a/docs/api/dialog.md b/docs/api/dialog.md index 0a330f525fc..12700bd8786 100644 --- a/docs/api/dialog.md +++ b/docs/api/dialog.md @@ -2,7 +2,7 @@ > Display native system dialogs for opening and saving files, alerting, etc. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) An example of showing a dialog to select multiple files and directories: diff --git a/docs/api/download-item.md b/docs/api/download-item.md index 25f75ebdb32..6603b619aaf 100644 --- a/docs/api/download-item.md +++ b/docs/api/download-item.md @@ -2,7 +2,7 @@ > Control file downloads from remote sources. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `DownloadItem` is an `EventEmitter` that represents a download item in Electron. It is used in `will-download` event of `Session` class, and allows users to diff --git a/docs/api/global-shortcut.md b/docs/api/global-shortcut.md index db6253e4b74..d0f48a6f805 100644 --- a/docs/api/global-shortcut.md +++ b/docs/api/global-shortcut.md @@ -2,7 +2,7 @@ > Detect keyboard events when the application does not have keyboard focus. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The `globalShortcut` module can register/unregister a global keyboard shortcut with the operating system so that you can customize the operations for various diff --git a/docs/api/incoming-message.md b/docs/api/incoming-message.md index addb975c5b7..f047aaa7e41 100644 --- a/docs/api/incoming-message.md +++ b/docs/api/incoming-message.md @@ -2,7 +2,7 @@ > Handle responses to HTTP/HTTPS requests. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `IncomingMessage` implements the [Readable Stream](https://nodejs.org/api/stream.html#stream_readable_streams) interface and is therefore an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). diff --git a/docs/api/ipc-main.md b/docs/api/ipc-main.md index c474512ad69..57c57b5a4e5 100644 --- a/docs/api/ipc-main.md +++ b/docs/api/ipc-main.md @@ -2,7 +2,7 @@ > Communicate asynchronously from the main process to renderer processes. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The `ipcMain` module is an instance of the [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. When used in the main diff --git a/docs/api/ipc-renderer.md b/docs/api/ipc-renderer.md index db150d489c6..de676487645 100644 --- a/docs/api/ipc-renderer.md +++ b/docs/api/ipc-renderer.md @@ -2,7 +2,7 @@ > Communicate asynchronously from a renderer process to the main process. -Process: [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Renderer](../glossary.md#renderer-process) The `ipcRenderer` module is an instance of the [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter) class. It provides a few diff --git a/docs/api/menu-item.md b/docs/api/menu-item.md index 01ca90bf236..a5375a5b8c3 100644 --- a/docs/api/menu-item.md +++ b/docs/api/menu-item.md @@ -2,7 +2,7 @@ > Add items to native application menus and context menus. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) See [`Menu`](menu.md) for examples. diff --git a/docs/api/menu.md b/docs/api/menu.md index 3150d8ad55b..64ab3afafbf 100644 --- a/docs/api/menu.md +++ b/docs/api/menu.md @@ -2,7 +2,7 @@ > Create native application menus and context menus. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) ### `new Menu()` diff --git a/docs/api/native-image.md b/docs/api/native-image.md index a1f6614d653..cc910cbb8a9 100644 --- a/docs/api/native-image.md +++ b/docs/api/native-image.md @@ -2,7 +2,7 @@ > Create tray, dock, and application icons using PNG or JPG files. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) In Electron, for the APIs that take images, you can pass either file paths or `NativeImage` instances. An empty image will be used when `null` is passed. @@ -159,7 +159,7 @@ Creates a new `NativeImage` instance from `dataURL`. > Natively wrap images such as tray, dock, and application icons. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) ### Instance Methods diff --git a/docs/api/net.md b/docs/api/net.md index b34790474fb..e5e59617148 100644 --- a/docs/api/net.md +++ b/docs/api/net.md @@ -2,7 +2,7 @@ > Issue HTTP/HTTPS requests using Chromium's native networking library -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The `net` module is a client-side API for issuing HTTP(S) requests. It is similar to the [HTTP](https://nodejs.org/api/http.html) and diff --git a/docs/api/power-monitor.md b/docs/api/power-monitor.md index 5827ef62050..0c012c64ac8 100644 --- a/docs/api/power-monitor.md +++ b/docs/api/power-monitor.md @@ -2,7 +2,7 @@ > Monitor power state changes. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) You cannot require or use this module until the `ready` event of the `app` module is emitted. diff --git a/docs/api/power-save-blocker.md b/docs/api/power-save-blocker.md index cd1138f1952..f78ec5d9991 100644 --- a/docs/api/power-save-blocker.md +++ b/docs/api/power-save-blocker.md @@ -2,7 +2,7 @@ > Block the system from entering low-power (sleep) mode. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) For example: diff --git a/docs/api/process.md b/docs/api/process.md index 9b05b61fdd8..951abc7df1a 100644 --- a/docs/api/process.md +++ b/docs/api/process.md @@ -2,7 +2,7 @@ > Extensions to process object. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) Electron's `process` object is extended from the [Node.js `process` object](https://nodejs.org/api/process.html). diff --git a/docs/api/protocol.md b/docs/api/protocol.md index 106839b4b73..3de153db485 100644 --- a/docs/api/protocol.md +++ b/docs/api/protocol.md @@ -2,7 +2,7 @@ > Register a custom protocol and intercept existing protocol requests. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) An example of implementing a protocol that has the same effect as the `file://` protocol: diff --git a/docs/api/remote.md b/docs/api/remote.md index fd0ebcc159e..0bed3ad9b51 100644 --- a/docs/api/remote.md +++ b/docs/api/remote.md @@ -2,7 +2,7 @@ > Use main process modules from the renderer process. -Process: [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Renderer](../glossary.md#renderer-process) The `remote` module provides a simple way to do inter-process communication (IPC) between the renderer process (web page) and the main process. diff --git a/docs/api/screen.md b/docs/api/screen.md index e324bb9ae0c..9704f88134f 100644 --- a/docs/api/screen.md +++ b/docs/api/screen.md @@ -2,7 +2,7 @@ > Retrieve information about screen size, displays, cursor position, etc. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) You cannot require or use this module until the `ready` event of the `app` module is emitted. diff --git a/docs/api/session.md b/docs/api/session.md index 8940ba78150..2ea3807957a 100644 --- a/docs/api/session.md +++ b/docs/api/session.md @@ -2,7 +2,7 @@ > Manage browser sessions, cookies, cache, proxy settings, etc. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) The `session` module can be used to create new `Session` objects. @@ -54,7 +54,7 @@ A `Session` object, the default session object of the app. > Get and set properties of a session. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) You can create a `Session` object in the `session` module: diff --git a/docs/api/shell.md b/docs/api/shell.md index 411ef9cce52..ae30de76f8b 100644 --- a/docs/api/shell.md +++ b/docs/api/shell.md @@ -2,7 +2,7 @@ > Manage files and URLs using their default applications. -Process: [Main](../tutorial/quick-start.md#main-process), [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Main](../glossary.md#main-process), [Renderer](../glossary.md#renderer-process) The `shell` module provides functions related to desktop integration. diff --git a/docs/api/system-preferences.md b/docs/api/system-preferences.md index f7569e6d11f..eae68a68350 100644 --- a/docs/api/system-preferences.md +++ b/docs/api/system-preferences.md @@ -2,7 +2,7 @@ > Get system preferences. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) ```javascript const {systemPreferences} = require('electron') diff --git a/docs/api/tray.md b/docs/api/tray.md index d98b31689f9..0be97029865 100644 --- a/docs/api/tray.md +++ b/docs/api/tray.md @@ -2,7 +2,7 @@ > Add icons and context menus to the system's notification area. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `Tray` is an [EventEmitter][event-emitter]. diff --git a/docs/api/web-contents.md b/docs/api/web-contents.md index 54bacfb1ffe..4b74dfd0c9d 100644 --- a/docs/api/web-contents.md +++ b/docs/api/web-contents.md @@ -2,7 +2,7 @@ > Render and control web pages. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) `webContents` is an [EventEmitter](https://nodejs.org/api/events.html#events_class_eventemitter). @@ -49,7 +49,7 @@ Returns `WebContents` - A WebContents instance with the given ID. > Render and control the contents of a BrowserWindow instance. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) ### Instance Events diff --git a/docs/api/web-frame.md b/docs/api/web-frame.md index 16d53edd1a8..a8a430c7c5a 100644 --- a/docs/api/web-frame.md +++ b/docs/api/web-frame.md @@ -2,7 +2,7 @@ > Customize the rendering of the current web page. -Process: [Renderer](../tutorial/quick-start.md#renderer-process) +Process: [Renderer](../glossary.md#renderer-process) An example of zooming current page to 200%. diff --git a/docs/api/web-request.md b/docs/api/web-request.md index c8f3af8b4e8..6da98d81f1f 100644 --- a/docs/api/web-request.md +++ b/docs/api/web-request.md @@ -2,7 +2,7 @@ > Intercept and modify the contents of a request at various stages of its lifetime. -Process: [Main](../tutorial/quick-start.md#main-process) +Process: [Main](../glossary.md#main-process) Instances of the `WebRequest` class are accessed by using the `webRequest` property of a `Session`. From aeedd361684187872464bf4efd2338f494f4eaea Mon Sep 17 00:00:00 2001 From: Zeke Sikelianos Date: Wed, 21 Dec 2016 13:47:17 -0800 Subject: [PATCH 8/8] see also --- docs/glossary.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/glossary.md b/docs/glossary.md index 1684b86f7a4..d75a67b8b1e 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -46,6 +46,8 @@ The full Node API is built in. Every app's main process file is specified in the `main` property in `package.json`. This is how `electron .` knows what file to execute at startup. +See also: [process](#process), [renderer process](#renderer-process) + ### MAS Acronym for Apple's Mac App Store. For details on submitting your app to the @@ -85,6 +87,8 @@ object is a global that provides information about, and control over, the current process. As a global, it is always available to applications without using require(). +See also: [main process](#main-process), [renderer process](#renderer-process) + ### renderer process The renderer process is a browser window in your app. Unlike the main process, @@ -96,6 +100,8 @@ allowed access to native resources. Electron users, however, have the power to use Node.js APIs in web pages allowing lower level operating system interactions. +See also: [process](#process), [main process](#main-process) + ### Squirrel Squirrel is an open-source framework that enables Electron apps to update