Coder Social home page Coder Social logo

googleask / grapesjs Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grapesjs/grapesjs

0.0 2.0 0.0 2.45 MB

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

Home Page: http://grapesjs.com

License: BSD 3-Clause "New" or "Revised" License

JavaScript 57.34% HTML 1.04% CSS 41.62%

grapesjs's Introduction

GrapesJS

GrapesJS is a free and open source Web Template Editor for building HTML templates to be used inside sites, webapps, newsletters or anything else related with HTML. Be aware that is not a 'Website Builder' but a tool to create only structure and containers for contents. The great thing about GrapesJS is that you can customize it, extend it or even integrate it with your applications.

Try it here: 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

$ 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 run dev

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 use GrapesJS.

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

After that include scripts from GrapesJS with all your configurations and render it.

<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 gjs  = new GrapesJS({
      container : '#gjs',
  });
  gjs.render();
</script>

Unfortunately with the configuration above you wouldn't see a lot. This because GrapesJS it self is simply empty, adding panels, buttons and other stuff will be your job (actually it's not empty but you need buttons to show them up). The section below will explain some basic configurations but for a more practical example I suggest to look up the code inside this demo: http://grapesjs.com/demo.html

Configuration

For now I only show up some general settings, for more details check source or demo. Examples will be available soon

var config = {

  // Prefix to use inside local storage name
  storagePrefix:      'wte-',

  // Where to render editor (eg. #myId)
  container:          '',

  // Enable/Disable the possibility to copy (ctrl + c) and paste (ctrl + v) elements
  copyPaste         : true,

  // Enable/Disable undo manager
  undoManager:        true,

  //Indicates which storage to use. Available: local | remote | none
  storageType:        'local',

  //Configurations for Asset Manager (check src/asset_manager/config/config.js)
  assetManager:       {},

  //Configurations for Style Manager (check src/style_manager/config/config.js)
  styleManager:       {},

  //Configurations for Layers (check src/navigator/config/config.js)
  layers:             {},

  //Configurations for Storage Manager (check src/storage_manager/config/config.js)
  storageManager:     {},

  //Configurations for Rich Text Editor (check src/rich_text_editor/config/config.js)
  rte:                {},

  //Configurations for Components (check src/dom_components/config/config.js)
  components:         {},

  //Configurations for Panels (check src/panels/config/config.js)
  panels:             {},

  //Configurations for Commands (check src/commands/config/config.js)
  commands:           {},

};

API

At the moment render() is the only available method but others will be public very soon...

Testing

ATTENTION: tests are pretty far away from being complete

Tests are run by PhantomJS using Mocha (with Chai and Sinon help)

$ npm run test

Contributing

Any kind of help is welcome. At the moment there is no generic guidelines so use usual pull requests (with a little bit of parsimony)

License

BSD 3-clause

grapesjs's People

Contributors

artf avatar

Watchers

James Cloos avatar Hunter avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.