1.0.2 • Published 11 months ago

grapesjs-preset-newsletter v1.0.2

Weekly downloads
4,577
License
BSD-3-Clause
Repository
github
Last release
11 months ago

GrapesJS Preset Newsletter

This preset configures GrapesJS to be used as a Newsletter Builder with some unique features and blocks composed specifically for being rendered correctly inside all major email clients.

Demo

The demo might include external plugins, you can check the full demo code here.

Summary

  • Plugin name: grapesjs-preset-newsletter
  • Commands
    • gjs-get-inlined-html Get html with inlined CSS
    • gjs-open-import-template Opens a modal for the import
    • gjs-toggle-images Enable/Disable images
  • Blocks
    • sect100 A section with 1 100% cell inside
    • sect50 A section with 2 50% cells inside
    • sect30 A section with 3 33.3333% cells inside
    • sect37 A section with 2 cells inside: 30% and 70%
    • button Simple button
    • divider Divider block
    • text Simple text component
    • text-sect A block with 2 text components, respectively for the heading and paragraph
    • image Simple image component
    • quote Text component for quotes
    • grid-items Block of 2 components in row
    • list-items List of 2 components

Options

OptionDescriptionDefault
blocksWhich blocks to addAll available blocks
blockAdd custom block options, based on block id(blockId) => ({})
cmdOpenImportImport command idgjs-open-import-template
cmdTglImagesToggle images command idgjs-toggle-images
cmdInlineHtmlGet inlined HTML command idgjs-get-inlined-html
modalTitleImportTitle for the import modalImport template
modalTitleExportTitle for the export modalExport template
modalLabelExportLabel for the export modal''
modalLabelImportLabel for the import modal''
modalBtnImportLabel for the import buttonImport
importPlaceholderTemplate as a placeholder inside import modal''
inlineCssIf true, inlines CSS on exporttrue
updateStyleManagerUpdate Style Manager with more reliable style properties to use for newsletterstrue
showStylesOnChangeShow the Style Manager on component changetrue
showBlocksOnLoadShow the Block Manager on loadtrue
codeViewerThemeCode viewer themehopscotch
juiceOptsCustom options for the juice HTML inliner{}
textCleanCanvasConfirm text before clearing the canvasAre you sure you want to clear the canvas?
useCustomThemeLoad custom preset themetrue
cellStyleDefault style used inside blocks tds{ padding: 0, margin: 0, 'vertical-align': 'top' }
tableStyleDefault style used for blocks tables{ height: '150px', margin: '0 auto 10px auto', padding: '5px 5px 5px 5px', width: '100%' }

Download

  • CDN
    • https://unpkg.com/grapesjs-preset-newsletter
  • NPM
    • npm i grapesjs-preset-newsletter
  • GIT
    • git clone https://github.com/grapesjs/preset-newsletter.git

Usage

Directly in the browser

<link href="path/to/grapes.min.css" rel="stylesheet"/>
<script src="path/to/grapes.min.js"></script>
<script src="path/to/grapesjs-preset-newsletter.min.js"></script>

<div id="gjs"></div>

<script type="text/javascript">
  var editor = grapesjs.init({
      container : '#gjs',
      ...
      plugins: ['grapesjs-preset-newsletter'],
      pluginsOpts: {
        'grapesjs-preset-newsletter': {
          // options
        }
      }
  });
</script>

Modern javascript

import grapesjs from 'grapesjs';
import plugin from 'grapesjs-preset-newsletter';

const editor = grapesjs.init({
  container : '#gjs',
  // ...
  plugins: [plugin],
  pluginsOpts: {
    [plugin]: { /* options */ }
  }
  // or
  plugins: [
    editor => plugin(editor, { /* options */ }),
  ],
});

Development

Clone the repository

$ git clone https://github.com/grapesjs/preset-newsletter.git
$ cd preset-newsletter

Install it

$ 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

License

BSD 3-Clause