# [GrapesJS](http://grapesjs.com) [![Build Status](https://travis-ci.org/artf/grapesjs.svg?branch=master)](https://travis-ci.org/artf/grapesjs) [![Chat](https://img.shields.io/badge/chat-discord-7289da.svg)](https://discord.gg/QAbgGXq)

GrapesJS

Sponsor GrapesJS is a free and open source Web Builder Framework which helps you building HTML templates to be used inside sites, newsletters and mobile apps. Mainly GrapesJS was designed to be used inside a [CMS] to speed up a creation of dynamic templates. To better understand this concept check the image below

GrapesJS - Style Manager


Generally any 'template system', that you'd find in various applications like CMS, is composed by the **structure** (HTML), **style** (CSS) and **variables**, which are then replaced with other templates and contents on server-side and rendered on client. This demos show examples of what is possible to achieve: Webpage Demo - http://grapesjs.com/demo.html Newsletter Demo - http://grapesjs.com/demo-newsletter-editor.html ## Table of contents * [Features](#features) * [Download](#download) * [Usage](#usage) * [Development](#development) * [Documentation](#documentation) * [API](#api) * [Testing](#testing) * [Plugins](#plugins) * [Support](#support) * [License](#license) ## Features * Blocks

GrapesJS - Block Manager

* Style Manager, for component styling

GrapesJS - Style Manager

* Layer Manager, that comes handy with nested elements

GrapesJS - Layer Manager

* Code Viewer

GrapesJS - Code Viewer

* Asset Manager, for uploading and managing images

GrapesJS - Asset Manager

* Local and remote storage * Default built-in commands (basically for creating and managing different components) ## Download * CDNs * UNPKG * `https://unpkg.com/grapesjs` * `https://unpkg.com/grapesjs/dist/css/grapes.min.css` * CDNJS * `https://cdnjs.cloudflare.com/ajax/libs/grapesjs/0.12.17/grapes.min.js` * `https://cdnjs.cloudflare.com/ajax/libs/grapesjs/0.12.17/css/grapes.min.css` * NPM * `npm i grapesjs` * GIT * `git clone https://github.com/artf/grapesjs.git` For the development purpose you should follow instructions below. ## Usage ```html
``` You could also grab the content directly from the element with `fromElement` property ```html
Hello world!
``` For more practical example I suggest to look up the code inside this demo: http://grapesjs.com/demo.html ## Development GrapesJS uses [Webpack](https://github.com/webpack/webpack) as a module bundler and [Babel](https://github.com/babel/babel) as a compiler. Clone the repository and install all the necessary dependencies ```sh $ git clone https://github.com/artf/grapesjs.git $ cd grapesjs $ npm i ``` Start the dev server ```sh $ npm start ``` Once the development server is started you should be able to reach the demo page (eg. `http://localhost:8080`) ## Documentation Check the getting started guide here: [wiki] ## API API References could be found here: [API-Reference] ## Testing ```sh $ npm test ``` ## Plugins ### Extensions * [grapesjs-plugin-export](https://github.com/artf/grapesjs-plugin-export) - Export GrapesJS templates in a zip archive * [grapesjs-plugin-filestack](https://github.com/artf/grapesjs-plugin-filestack) - Add Filestack uploader in Asset Manager * [grapesjs-plugin-ckeditor](https://github.com/artf/grapesjs-plugin-ckeditor) - Replaces the built-in RTE with CKEditor * [grapesjs-aviary](https://github.com/artf/grapesjs-aviary) - Add the Aviary Image Editor * [grapesjs-blocks-basic](https://github.com/artf/grapesjs-blocks-basic) - Basic set of blocks * [grapesjs-plugin-forms](https://github.com/artf/grapesjs-plugin-forms) - Set of form components and blocks * [grapesjs-navbar](https://github.com/artf/grapesjs-navbar) - Simple navbar component * [grapesjs-component-countdown](https://github.com/artf/grapesjs-component-countdown) - Simple countdown component * [grapesjs-style-gradient](https://github.com/artf/grapesjs-style-gradient) - Add a gradient type input ### Presets * [grapesjs-preset-newsletter](https://github.com/artf/grapesjs-preset-newsletter) - Newsletter Builder * [grapesjs-mjml](https://github.com/artf/grapesjs-mjml) - Newsletter Builder with MJML components Find out more about plugins here: [Creating plugins](https://github.com/artf/grapesjs/wiki/Creating-plugins) ## Support If you like the project support it with a donation of your choice or become a backer/sponsor via [Open Collective](https://opencollective.com/grapesjs) [![PayPalMe](http://grapesjs.com/img/ppme.png)](https://paypal.me/grapesjs) ## License BSD 3-clause [wiki]: [API-Reference]: [CMS]: