Summary: This provides a new API for `ContenteditableExtension`s. Instead of manually manipulating the raw DOM and `Selection` objects, there's a new `Editor` interface that encapsulates it and provides helper methods. You can now do: editor.select(someNode).createLink("foo").collapseToEnd() Now raw methods like `execCommand` ONLY show up in the `Editor` interface as well as most of the raw `Selection` APIs. There are also more integration tests :) Another major goal was cleaning up the contenteditable file itself. To that end: 1. The DOMNormalizer got pulled out into its own extension 1. The TabManager is now its own extension 1. Url wrangling got moved into the FloatingToolbar control 1. There is now the concept of a `ContenteditableService`, which are tightly-couple blocks of code separated out into logical units. These are dependent on the core state, innerState, and props and are not full extensions. 1. `MouseService` now handles all the click event logic 1. `ClipboardService` was modified to the new service architecture Test Plan: script/grunt run-integration-tests Reviewers: drew, juan, bengotow Reviewed By: juan, bengotow Differential Revision: https://phab.nylas.com/D2367 |
||
---|---|---|
apm | ||
build | ||
docs | ||
dot-nylas | ||
examples | ||
internal_packages | ||
keymaps | ||
menus | ||
script | ||
spec | ||
spec_integration | ||
src | ||
static | ||
.eslintrc | ||
.gitignore | ||
.gitmodules | ||
.travis.yml | ||
appveyor.yml | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE.md | ||
N1.sh | ||
package.json | ||
README.md |
N1 is an open-source mail client built on the modern web with Electron, React, and Flux. It is designed to be extensible, so it's easy to create new experiences and workflows around email. N1 is built on the Nylas Sync Engine which is also open source free software.
Download N1
You can download compiled versions of N1 for Windows, Mac OS X, and Linux (.deb) from https://nylas.com/N1. You can also build and run N1 on Fedora. A Fedora distribution is coming soon!
Build A Plugin
Plugins lie at the heart of N1 and give it its powerful features. Building your own plugins allows you to integrate the app with other tools, experiment with new workflows, and more. Follow the Getting Started guide to write your first plugin in 5 minutes.
If you would like to run the N1 source and contribute, check out our contributing guide.
Running Locally
By default the N1 source points to our hosted version of the Nylas Sync Engine; however, the Sync Engine is open source and you can run it yourself.
Feature Requests / Package Ideas
Have an idea for a package, or a feature you'd love to see in N1? Check out our public Trello board to contribute your thoughts and vote on existing ideas or see the existing plugins and themes.