CHANGELOG
```sh
lebab --replace 'test/**/*.js' -t arrow,for-of,for-each,arg-rest,arg-spread,obj-method,obj-shorthand,exponent,multi-var
```

node_modules/.bin/documentation build src/commands/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/dom_components/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/panels/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/style_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/storage_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/editor/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/device_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/block_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/asset_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/selector_manager/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/css_composer/index.js -o ./docs/README.md -f md
node_modules/.bin/documentation build src/modal_dialog/index.js -o ./docs/README.md -f md

- Select parent (up arrow) command in component toolbar
- Shortcut module
- How to store templates
- Logger,
  editor.Logger.log('ssss', 'error'), info(), error()
  - log: 1, log: ['error', 'warning'],...
  - Who creates plugins/notifications might decide if to relay on 'log' parameter (allowToLog('error') allowToLog('') /allow('error'))
  - Trigger always any log event (plugin will listen)
  - https://github.com/limonte/sweetalert2
- Seems to have a LEAK in resizer
- Undo Manager module (undo, redo, jumpTo(int), hasRedo, hasUndo, getStack)
- Scroll to elements (add in canvas scrollTo(model, msec, elem | body) method)
  https://stackoverflow.com/questions/8917921/cross-browser-javascript-not-jquery-scroll-to-top-animation
  On canvas elem click -> scroll navigator (el.scrollIntoView OK)
  On navigator click -> scroll canvas
- grapesjs-template-manager (Import from string or remote)
- grapesjs-storage-plus (Select all available storages from modal, github, dropbox, etc)
- How to manage UI buttons, http://quilljs.com/docs/modules/toolbar/#container
  (panels with 'appendTo')
- Native BS JS http://thednp.github.io/bootstrap.native

- Before fetch: 541 -> 549

TODOS:
- Commands (TESTS)
- StyleManager (Tests)
- BlockView (Tests)
- RTE (after traits)
  - API Reference
  - Tests
- Render model attributes to HTML (editor.getConfg().modelAttrbites) and inside each component
  I could define an array of possible attributes to render. (model.attrsToRender: 'a,b,c')
- When using props like margin inside SM, I'd like to see margin-top, margin-left, to update too...
  I could use some extra property when it's activated, will fetch also computedStyle (which is somehow slow)

- Mobile first approach
  general rules with no media query (smallest)
  min-width: 320{}
  min-width: 768{}
  min-width: 1024{}

  mobileFirst: 1 // 'min-width'
  Desktop - width:'', widthMedia:'1024',
  Tablet - width:'768', widthMedia:'768',
  Mobile - width: '320', widthMedia: '',


Death note
- For the sorter, the collection view must to have as data('collection', this.collectionModel)
- Drag&Drop API: http://blog.stackhive.com/post/137799349684/building-a-seamless-drag-and-drop-interface
- Animation stuff, https://gist.github.com/Warry/4254579

DEMO IMPORT TEMPLATE with Bootstrap
https://github.com/BlackrockDigital/startbootstrap-bare/blob/master/index.html
http://getbootstrap.com/getting-started/#download

ADVANCE CUSTOMIZATION
- Dialogs
  https://robinparisi.github.io/tingle/
  https://github.com/t4t5/sweetalert
  http://github.hubspot.com/vex/api/basic/
- Editor view
  ace9
-RTE - https://github.com/cheeaun/mooeditable/wiki/Javascript-WYSIWYG-editors
 https://github.com/neilj/Squire
 https://github.com/quilljs/quill/ - https://github.com/quilljs/quill/issues/382
 http://olivier-m.github.io/minislate/#demo
 https://github.com/yabwe/medium-editor
 https://github.com/sofish/pen
- ColorPicker / color picker
  http://bebraw.github.io/colorjoe/ (pure js - alpha)
  https://github.com/tovic/color-picker (pure js, touch supp, alpha example)


Private
[] Rulers Guides
  https://mark-rolich.github.io/RulersGuides.js/
  https://github.com/MrFrankel/ruler shows also the mouse position
[] Backdrop filters (works on Safari: https://webkit.org/demos/backdrop-filter/)
  Trick with just one image (https://codepen.io/jonitrythall/pen/GJQBOp)
  How to enable it in Electron https://discuss.atom.io/t/backdrop-filter-compatibility-in-electron/33280/3
  Frameless/Transparent Electron https://github.com/electron/electron/blob/master/docs/api/frameless-window.md
  Vibrancy effect https://github.com/electron/electron/issues/3002
    https://github.com/electron/electron/pull/7898
  Errors transparency https://github.com/electron/electron/issues/2170
[] Blend modes
  https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode
[] Implement searches inside collections (https://www.npmjs.com/package/backbone-collection-search)
    https://github.com/boazsender/backbone.search
    http://www.position-absolute.com/articles/filtering-a-collection-in-backbone-js/
[] Previews inside layers, maybe only images
SOL: inTextMode on Editor, when active RTE set 'inTextMode' to 'true' and so disable UM
[] Image filters, its a stack property but i need to create and accept different separators, default one is ', '
[] Buttons should listen their commands
    eg: try grapesEditor.runCommand('fullscreen') and then stop. The button is always off
[] box-shadow property do not show default empty Outside option (is rerender part)
[] Designer mode
  http://stackoverflow.com/questions/34811478/how-to-snap-elements-to-other-draggable-elements-using-interact-js
  Snapping guides https://github.com/mrflix/Alignment-Guides
[] Upload images via drag on images component (new prop)
  For global use document.ondragover = () => {} and the like FileUploader in Asset Manager
[] Design tips
  https://twitter.com/i/moments/880688233641848832

CANCELLED
- Add native inputs for numbers. Can'd do it because from not int values will return empty but i need stuff like 'auto', etc.

X Demo:
- make a grid of squares with hover effect(like MAC console app icon)
- 3d cards, rotated to floor
- Frosted glass: https://css-tricks.com/frosting-glass-css-filters/
  http://stackoverflow.com/questions/27583937/how-can-i-make-a-css-glass-blur-effect-work-for-an-overlay
- scroll only with CSS http://jsfiddle.net/YYPKM/3/
  https://davidwalsh.name/css-slide
- Drag images on components (from Blocs)
  Default component should have 'dropImages': true
  When drop new image I need to create on top the default layer whit this image
  (feature to show)
- Bring all badges, helpers out of wrapper and put them inside 'tools' (inside canvas)
- Add image GIF (https://upload.wikimedia.org/wikipedia/en/3/34/ISync_icon.png)
- IPhone image: w: 320 h:568
- Flip Effects with 3d transform (https://www.youtube.com/watch?v=kHc8bqaVXy0)


https://github.com/PharkMillups/beautiful-docs
Generators:
https://github.com/justinwalsh/daux.io
https://medium.com/@gpbl/how-to-use-gitbook-to-publish-docs-for-your-open-source-npm-packages-465dd8d5bfba#.mvxzhqsky

HOW-TO
 - How to implement IndexedDB inside storage manager (better localForage)
  (If you'd like to know how to implement some other storage services check the tutorial on How to integrate IndexedDB)
   Tutorials: Use IndexedDB as local storage, for unlimited storage
   The main purpose of this guide is not to show the best tecnology to use, also because I'd have suggested
   to use something like localForage which seems to be more reliable solution

CODESHARE
https://codesandbox.io/s/vnkxpy4pzl

USER DOCS
- http://ionic.io/products/creator/docs#/basic-requirements
- Changelog generator https://github.com/skywinder/Github-Changelog-Generator
- Devices CSS https://github.com/marvelapp/devices.css

BUSINESS
- Stickers http://www.unixstickers.com/tag/webpack

BLOCKS/COMPONENTS (set of components)
- [x] - Map (feature)
  //https://developers.google.com/maps/documentation/embed/ <- Doc with API KEY
  //https://maps.google.com/maps?q=via Oberdan, Brescia&hl=de&z=10&output=embed&t=k // WORKS   t MapType --> k (Satellite), h (Hybrid), p (Terrain)
  //http://staticmapmaker.com/google/
- Audio (feature)
- Code (feature - not editable html inside content)
- Video background http://weadventure.org/
- Background Particles.js (Component)
- Timer
- Auto typing https://github.com/mattboldt/typed.js/
 https://github.com/Zhouzi/TheaterJS
- Slideshow - Gallery - ??? With js???

Browser compatibility
I use forEach, inside EditorModel (so IE9+), indexOf

PLUGINS
- RN (React Native)
  - https://github.com/dabbott/react-native-web-player#basic-examples
  - add generator(text->Text, div->View, ecc..), add jsx viewer, overwrite 'export' command, add some custom component/block,
    add iPhone case placeholder

CONTRIBUTING
https://github.com/julmot/mark.js/blob/master/CONTRIBUTING.md#25-pull-requests

Newsletter DEMO
https://www.getresponse.com/features
https://beefree.io
https://www.campaignmonitor.com/features/
http://www.benchmarkemail.com/pricing - Free plan, italian too

Newsletter Resources
https://colorlib.com/wp/responsive-html-email-templates/
https://www.campaignmonitor.com/dev-resources/
https://templates.mailchimp.com/

-------- SITE -------


Quill is permissively licensed under BSD. Use it freely in personal or commercial projects. Join the growing community on Github!


DOCUMENTATION EXAMPLES
https://quilljs.com/docs/download/

Patreon
or become a Patreon of the project
- Talk about HTML to PDF for quotes/invoices, React Native example, the power of CSS (show 3D and filtering)

- Always free and open source
  GrapesJS will be always an open source project, but other derivations (eg. plugins) could apply any other licence

- Rewards
- Examples
  https://www.patreon.com/evanyou?ty=h

GrapesJS is a powerful visual web tool for building any king of templates without coding.

The project focuses mainly on providing tools for building any kind of templates, easily and without any knowledgemnt in coding. An other important goal is also to make these tools easily extendible by other developers which could create specific editors, which will allow users to customize their sites, ecommerce shops, mobile applications, newsletter and much more with only dragging and styling (one-page-site-like demo here). It's also possible to create things that could be generated from the HTML, like documents, business cards or invoices, just to mention some of them.

The core of GrapesJS is designed to be lightweight and is composed by the essential sets of components, blocks and commands, but it easily extendible with plugins (with help of its APIs) in the way to guarantee the maximum flexibility and integrability with other softwares.

The project is still in alpha and unfortunately the amount of effort needed to maintain and develop new features, in reasonable time, became pretty unsustainable for only one person. Even being an open source project (here the page on Github) it's not easy to find someone willing to work with you free, so for this reason I opened this campaign, to form a team of developers which, I really hope, will help me to bring this project further.

* Various demo/tutorial implementations
* Good documentation (pretty much hard step)

I'll form a small team of developers to work on GrapesJS fulltime if this goal is met


## Hey 5.500$/month it's a lot of money, how do you expect to spend them?
Unfortunately there is a lot of work to do and I can't do it alone, so I'll spend all of those to build a team, if possible full-time devs but any option will be evaluated. If you're a developer, please send me your resume and in case this campaign will be successful I'll know where to start looking.

STARTUP
VineyardLabs

Pricing
- About the pricing, you pay for each page? I need to pay before make it public?!? or it's a one-shot, for example, 10 pages?

Next features
- Prepopulating landing page fields
- Leads backup
- Lead notifications
- Dynamic text replacement (instapage has this feature) - variables?
- Ability to switch templates while keeping copy unchanged

General
- I'll be the only one involved in this new app or I need someone else?
- I dont know your tecnology stack, so do you have some preferences on front-end framework? React, VueJs, Angular?!?
- Do you have web designers? I'm not a web designer but I can definitely provide you with some good looking design
- Domain acquisition is also managed by you or it's the customer's task?
- About the domain management, what web server do you use? Apache, nginx? Do you have already something to manage vhosts?
  SOL:
  http://bicknoyle.com/blog/2015/10/20/dynamic-virtual-hosts-with-virtualdocumentroot/
  http://stackoverflow.com/questions/40804235/how-to-create-subdomain-in-laravel-dynamically
  http://stackoverflow.com/questions/8199231/how-to-setup-mass-dynamic-virtual-hosts-in-nginx
  https://publications.jbfavre.org/web/nginx-vhosts-automatiques-avec-SSL-et-authentification-version2.en
  https://gist.github.com/robertlemke/4951820
  Do you have some API for domain management? How would you like to manage multiple SSL certificates? Let's Encrypt?
