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
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 | Style Manager | Layer Manager |
---|
| | |
Code Viewer | Asset Manager |
---|
| |
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
- GIT
git clone https://github.com/GrapesJS/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/GrapesJS/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
Official Plugins | Community Plugins
Wrappers
- @grapesjs/react - GrapesJS wrapper for React that allows you to build custom and declarative UI for your editor.
Extensions
Presets
Find out more about plugins here: Creating plugins
Support
If you like the project and you wish to see it grow, please consider supporting us with a donation of your choice or become a backer/sponsor via Open Collective
Thanks to BrowserStack for providing us browser testing services
License
BSD 3-clause