Skip to content
/ grapesjs Public
forked from GrapesJS/grapesjs

Free and Open source Web Template Editor. Next generation tool for building templates without coding

License

Notifications You must be signed in to change notification settings

sver/grapesjs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

GrapesJS


GrapesJS is a free and open source Web Template Builder 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 demo shows an example of what is possible to achieve: http://grapesjs.com/demo.html

Features

  • 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

You can get GrapesJS with bower install grapesjs or via git clone https://github.com/artf/grapesjs.git to directly use it. For development purpose you should follow instructions below.

Development

GrapesJS uses RequireJS to organize its files inside src folder and Grunt for build them to dist

Clone the repository and enter inside the folder

$ npm install -g grunt-cli
$ git clone https://github.com/artf/grapesjs.git
$ cd grapesjs

Install all necessary dependencies

$ npm install

Build GrapesJS

$ npm run build

Launch server, which also gonna watch some files, and try out the demo on localhost:8000

$ npm start

Tests are already available inside browser on localhost:8000/test

If Grunt is already installed globally you could change the port by using grunt dev --port 9000

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

Configuration

Check the getting started guide here: wiki

API

API References (draft) could be found here: API-Reference

Testing

$ npm test

TODOs before beta release

  • Component traits - traits are some some kind of attributes of the component. For example, the Link will get href for the url/resource address and it's exactly as we see <a>, but in case of Map component I'd attach address, city and zoom to manage marker position.

Acknowledgements

GrapesJS is built on top of this amazing open source projects:

Support

If you like the project support it with a donation of your choice.

PayPalMe

License

BSD 3-clause

About

Free and Open source Web Template Editor. Next generation tool for building templates without coding

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 73.1%
  • CSS 23.7%
  • HTML 3.2%