Giter Site home page Giter Site logo

bernesto / grapesjs_preset-newsletter Goto Github PK

View Code? Open in Web Editor NEW

This project forked from grapesjs/preset-newsletter

0.0 0.0 0.0 938 KB

GrapesJS preset configuration for the newsletter editor.

Home Page: https://grapesjs.com/demo-newsletter-editor.html

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

TypeScript 73.13% HTML 26.87%

grapesjs_preset-newsletter's Introduction

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.

GrapesJS


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

Option Description Default
blocks Which blocks to add All available blocks
block Add custom block options, based on block id (blockId) => ({})
cmdOpenImport Import command id gjs-open-import-template
cmdTglImages Toggle images command id gjs-toggle-images
cmdInlineHtml Get inlined HTML command id gjs-get-inlined-html
modalTitleImport Title for the import modal Import template
modalTitleExport Title for the export modal Export template
modalLabelExport Label for the export modal ''
modalLabelImport Label for the import modal ''
modalBtnImport Label for the import button Import
importPlaceholder Template as a placeholder inside import modal ''
inlineCss If true, inlines CSS on export true
updateStyleManager Update Style Manager with more reliable style properties to use for newsletters true
showStylesOnChange Show the Style Manager on component change true
showBlocksOnLoad Show the Block Manager on load true
codeViewerTheme Code viewer theme hopscotch
juiceOpts Custom options for the juice HTML inliner {}
textCleanCanvas Confirm text before clearing the canvas Are you sure you want to clear the canvas?
useCustomTheme Load custom preset theme true
cellStyle Default style used inside blocks tds { padding: 0, margin: 0, 'vertical-align': 'top' }
tableStyle Default 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

grapesjs_preset-newsletter's People

Contributors

artf avatar rgcarrasqueira avatar arthuralmeidap avatar santiph 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.