#
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
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
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
- UNPKG (resolves to the latest version)
- 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
- grapesjs-plugin-ckeditor - Replaces the built-in RTE with CKEditor
- grapesjs-aviary instead)
- grapesjs-component-countdown - Simple countdown component
- grapesjs-style-gradient - Add
gradient
type input to the Style Manager - grapesjs-indexeddb - Storage wrapper for IndexedDB
- grapesjs-parser-postcss - Custom CSS parser for GrapesJS by using
- PostCSS
- grapesjs-typed - Typed component made by wrapping Typed.js library
Find out more about plugins here: Creating plugins