Mailspring/examples/N1-Quick-Schedule
Ben Gotow a1bb98ebf4 feat(paste): Paste accepts more HTML, paste and match style now available
Summary:
Related to #320, #494, #515, #553

Ignore newlines and returns in HTML, they can be inside tags

Allow all attributes so that paste from excel looks nice

Never let someone paste a `contenteditable` attribute

Update specs

Test Plan: Run new specs

Reviewers: juan, evan

Reviewed By: evan

Differential Revision: https://phab.nylas.com/D2309
2015-12-07 15:34:03 -08:00
..
backend
docs feat(paste): Paste accepts more HTML, paste and match style now available 2015-12-07 15:34:03 -08:00
fullcalendar
lib feat(paste): Paste accepts more HTML, paste and match style now available 2015-12-07 15:34:03 -08:00
screenshots
bootstrap.min.css
bootstrap.min.js
calendar.html fix(examples): Small fixes to QuickSchedule plugin 2015-12-01 15:35:31 -08:00
package.json
README.md fix(examples): small fixes in READMEs 2015-12-01 15:59:00 -08:00

QuickSchedule

Say goodbye to the hassle of scheduling! This new plugin lets you avoid the typical back-and-forth of picking a time to meet. Just select a few options, and your recipient confirms with one click. It's the best way to instantly schedule meetings.

This plugin works by adding a small "QuickSchedule" button next to the Send button in the composer. Clicking the button will open a calendar where you can select potential times to meet. These times are placed in the draft, and your recipient can confirm a time with one click. It even automatically adds the event to both calendars!

How to install this plugin

  1. Download and run N1

  2. From the menu, select Developer > Install a Plugin Manually... The dialog will default to this examples directory. Just choose the N1-Quick-Schedule folder to install it!

    Note: When you install plugins, they're moved to ~/.nylas/packages, and N1 runs apm install on the command line to fetch dependencies listed in the package's package.json

Who is this for?

Anyone who makes a lot of appointments! If you are a developer, this is also a great example of a more complicated plugin that requires a backend service, and demonstrates how arbitrary JavaScript can be inserted to create custom functionality.