Skip to content

lukajose/grapesjs-tailwind-frederick

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Grapesjs Tailwind(WIP)

DEMO

Requires grapesjs-plugin-forms

Tailwind intergration which includes the complete set of blocks from Tailblocks.cc, bases on Destack.

HTML

<link href="https://unpkg.com/grapesjs/dist/css/grapes.min.css" rel="stylesheet">
<script src="https://unpkg.com/grapesjs"></script>
<script src="https://unpkg.com/grapesjs-tailwind"></script>

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

JS

// Handle tailwind's use of slashes in css names
const escapeName = (name) => `${name}`.trim().replace(/([^a-z0-9\w-:/]+)/gi, '-');

const editor = grapesjs.init({
  container: '#gjs',
  height: '100%',
  fromElement: true,
  storageManager: false,
  selectorManager: { escapeName },
  plugins: ['grapesjs-tailwind'],
});

CSS

body, html {
  margin: 0;
  height: 100%;
}

.change-theme-button {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin: 5px;
}

.change-theme-button:focus {
  /* background-color: yellow; */
  outline: none;
  box-shadow: 0 0 0 2pt #c5c5c575;
}

Optional CSS

/* Make blocks full width */
.gjs-block {
    padding: 0 !important;
    width: 100% !important;
    min-height: auto !important;
}

/* Fit icons properly */
.gjs-block svg {
    width: 100%;
}

Summary

  • Plugin name: grapesjs-tailwind
  • Commands
    • get-tailwindCss - Get Tailwind CSS of your page
    • open-update-theme - Open theme modal

get-tailwindCss Usage

// By default it will print css to console
editor.runCommand('get-tailwindCss');

// Using options
editor.runCommand('get-tailwindCss', { /* Options here */ });

get-tailwindCss Options

Option Description Default
callback Calback for resulting css twcss => console.log(twcss)

Options

Option Description Default
tailwindPlayCdn URL for fetching tailwind play cdn https://cdn.tailwindcss.com
plugins array to include tailwind 1st party plugins []
config custom tailwind config {}
changeThemeText Change theme modal title Change Theme

Download

  • CDN
    • https://unpkg.com/grapesjs-tailwind
  • NPM
    • npm i grapesjs-tailwind-frederick
  • GIT
    • git clone https://github.com/Ju99ernaut/grapesjs-tailwind.git

Usage

Directly in the browser

<link href="https://unpkg.com/grapesjs/dist/css/grapes.min.css" rel="stylesheet"/>
<script src="https://unpkg.com/grapesjs"></script>
<script src="path/to/grapesjs-tailwind.min.js"></script>

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

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

Modern javascript

import grapesjs from 'grapesjs';
import plugin from 'grapesjs-tailwind';
import 'grapesjs/dist/css/grapes.min.css';

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/lukajose/grapesjs-tailwind-frederick.git
$ cd grapesjs-tailwind-frederick

Install dependencies

$ npm i

Start the dev server

$ npm start

Build the source

$ npm run build

Deployment

npm run build
npm run bump
npm publish

License

MIT

About

Tailwind integration for grapesjs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 97.8%
  • HTML 2.2%