# GrapesJS

GrapesJS

GrapesJS is a free and open source Web Builder Framework which helps building HTML templates, faster and easily, to be delivered in sites, newsletters or mobile apps. Mainly, GrapesJS was designed to be used inside a CMS to speed up the 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

# Features

Blocks Style Manager Layer Manager
GrapesJS - Block Manager GrapesJS - Style Manager GrapesJS - Layer Manager
Code Viewer Asset Manager
GrapesJS - Code Viewer GrapesJS - Asset Manager
  • Local and remote storage

  • Default built-in commands (basically for creating and managing different components)

# Download

  • CDNs
    • UNPKG (resolves to the latest version)
      • https://unpkg.com/grapesjs
      • https://unpkg.com/grapesjs/dist/css/grapes.min.css
    • CDNJS (replace X.X.X with the current version)
      • https://cdnjs.cloudflare.com/ajax/libs/grapesjs/X.X.X/grapes.min.js
      • https://cdnjs.cloudflare.com/ajax/libs/grapesjs/X.X.X/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

<link rel="stylesheet" href="path/to/grapes.min.css">
<script src="path/to/grapes.min.js"></script>

<div id="gjs"></div>

<script type="text/javascript">
  var editor = grapesjs.init({
      container : '#gjs',
      components: '<div class="txt-red">Hello world!</div>',
      style: '.txt-red{color: red}',
  });
</script>

For a more practical example I'd suggest looking up the code inside this demo: http://grapesjs.com/demo.html

# Development

Clone the repository and install all the necessary dependencies (yarn is highly recommended)

$ git clone https://github.com/artf/grapesjs.git
$ cd grapesjs
$ yarn

Start the dev server

$ yarn 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: Documentation

# API

API References could be found here: API-Reference

# Testing

$ yarn test

# Plugins

IMAGES GrapesJs Tui-image-editor - GrapesJS TOAST UI Image Editor GrapesJS Aviary - Add the Aviary Image Editor (dismissed, use the plugin below instead)

FILES Grapesjs Plugin Export - Export GrapesJS templates in a zip archive GrapesJs Plugin Filestack - Add Filestack uploader in Asset Manager

STYLES GrapesJs Style-bg - Full-stack background style property type, with the possibility to add images, colors, and gradients GrapesJs Style-filter - Add filter type input to the Style Manager

BLOCKS GrapesJs Blocks-basic - Basic set of blocks GrapesJs Blocks-flexbox - Add the flexbox block GrapesJs Navbar - Simple navbar component GrapesJs Lory-slider - Slider component by using lory GrapesJs Tabs - Simple tabs component

FORMS GrapesJs Plugin-forms - Set of form components and blocks

MISC GrapesJs Tooltip - Simple, CSS only, tooltip component for GrapesJS GrapesJs Touch - Enable touch support

CODE AND DATA GrapesJs Custom-code - Embed custom code GrapesJs Firestore - Storage wrapper for Cloud Firestore

PRESETS grapesjs-preset-webpage - Webpage Builder grapesjs-preset-newsletter - Newsletter Builder

MJML grapesjs-mjml - Newsletter Builder with MJML components

# Some other Extensions

Find out more about plugins here: Creating plugins