Mailspring/examples
Drew Regitsky 2e1056f49e refactor(templates): major additions and refactoring for the Templates plugin.
Summary:
Adds several new features to the templates plugin, fixes some existing bugs, and
refactors existing code.

New Plugin Features/Fixes:
- Changes the templates editor in preferences to allow variables to be entered with
 `{{brackets}}`. Handles many contenteditable complexities to implement.
- Better interaction for renaming and deleting of templates in the editor.
- Changes tabbing behavior when using templates. Tabbing between variables now wraps
  around, and typing tab from outside a variable region highlights the closest region.
- Prevents "Enter" key in the composer when inside a variable region, and strips all
  formatting/tags from within the region - this prevents major contenteditable issues
  that can result in inline CSS in the style of our variable regions, which will not be
  removed when sending.
- Shows a warning when choosing a template if it will replace existing text in a draft.
- Prevents invalid characters in template names (due to filenames, esp. on Windows),
  and shows an error message. Strips these characters from draft titles when making a
  template.
- Fixes a bug where TemplateStore's initialization code was being called multiple times.

New N1 code:
- Several new methods in `DOMUtils` useful for working with contenteditable.
- Implement some missing methods in `Editor`

Refactor:
- Major refactor/rewrite of template composer extension to use new DOMUtils methods
  and simplify the logic (while adding new functionality).

Remaining issues:
- `preferences-tempaltes.cjsx` and `template-editor.coffee` should be rewritten in ES6
  for consistency
- Need tests for new DOMUtils functions and for new Templates plugin code.

Test Plan: manual, need to update specs

Reviewers: evan, bengotow

Reviewed By: evan, bengotow

Subscribers: juan

Differential Revision: https://phab.nylas.com/D2382
2015-12-29 15:11:04 -08:00
..
N1-Composer-Templates refactor(templates): major additions and refactoring for the Templates plugin. 2015-12-29 15:11:04 -08:00
N1-Composer-Translate polish(quick-schedule): Use calendar icon in the composer 2015-12-09 10:55:08 -08:00
N1-Github-Contact-Card-Section fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00
N1-Message-View-on-Github fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
N1-Personal-Level-Indicators fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00
N1-Phishing-Detection fix(license): GPLv3 => GPL-3.0 2015-12-07 10:50:47 -08:00
N1-Quick-Schedule fix(quickschedule): Several UI fixes 2015-12-09 16:41:30 -08:00
README.md actually no more gh-pages 2015-10-05 05:08:53 -07:00

N1 Example Packages

Here you will find well-annotated samples to showcase how to build packages in N1.

See more on https://nylas.com/N1/examples/

Getting Started

To get started, follow the getting started guides here: https://nylas.com/N1/docs/