Free and Open source Web Builder Framework. Next generation tool for building templates without coding
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Artur Arseniev c56d027423 Extend Selector properties 9 years ago
dist Bump v0.9.15 9 years ago
src Extend Selector properties 9 years ago
test test style parsing for attributes containing colon 9 years ago
.eslintrc Add eslint as dev-dep and include .eslintrc. Closes #126 9 years ago
.gitignore Add eslint as dev-dep and include .eslintrc. Closes #126 9 years ago
.travis.yml Update travis file 9 years ago
LICENSE Remove grunt 9 years ago
README.md Update README with plugins 9 years ago
index.html Extend Selector properties 9 years ago
package.json Bump v0.9.15 9 years ago
webpack.config.js Update tests for commands and css composer 9 years ago
yarn.lock Do post render stuff after the iframe is loaded 9 years ago

README.md

GrapesJS

Build Status

GrapesJS


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

  • 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)

Installation

  • npm i grapesjs / yarn add grapesjs
  • git clone https://github.com/artf/grapesjs.git

For development purpose you should follow instructions below.

Development

GrapesJS uses Webpack as a module bundler and Babel as a compiler.

Clone the repository and install all the necessary dependencies

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

Start the dev server

$ npm start

Build before the commit. This will also increase the patch level version of the package

$ npm run build

Usage

JQuery is the only hard dependency so you have to include it before using GrapesJS

<script src="http://code.jquery.com/jquery-2.2.0.min.js"></script>

After that include scripts from GrapesJS with all your configurations

<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>

You could also grab the content directly from the element with fromElement property

<div id="gjs">
  <div class="txt-red">Hello world!</div>
  <style>.txt-red{color: red}</style>
</div>

<script type="text/javascript">
  var editor = grapesjs.init({
      container : '#gjs',
      fromElement: true,
  });
</script>

For more practical example I suggest to look up the code inside this demo: http://grapesjs.com/demo.html

Documentation

Check the getting started guide here: wiki

API

API References could be found here: API-Reference

Testing

$ npm test

Plugins

Extensions

Presets

Sponsors

The project is sponsored by

Sendloop

Support

If you like the project support it with a donation of your choice or become a backer/sponsor via Open Collective

PayPalMe

License

BSD 3-clause