# grapesjs-custom-code

> GrapesJS component for the embed of custom code

Latest version **1.0.2** (published 2023-06-07) · BSD-3-Clause license · 0 weekly downloads

## Install

```sh
npm install grapesjs-custom-code
pnpm add grapesjs-custom-code
yarn add grapesjs-custom-code
bun add grapesjs-custom-code
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.2 |
| Published | 2023-06-07 |
| First published | 2018-07-26 |
| Weekly downloads | 0 |
| License | BSD-3-Clause |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 28.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 81 |
| Author | Artur Arseniev |
| Maintainers | artf |
| Keywords | grapesjs, plugin, import, custom, code |

## Links

- npm: https://www.npmjs.com/package/grapesjs-custom-code
- Repository: https://github.com/GrapesJS/components-custom-code
- Homepage: https://github.com/GrapesJS/components-custom-code#readme
- Issues: https://github.com/GrapesJS/components-custom-code/issues
- npm.io page: https://npm.io/package/grapesjs-custom-code

## Alternatives

- [flatbuffers](https://npm.io/package/flatbuffers.md) — 6.0M weekly downloads
- [@exodus/patch-broken-hermes-typed-arrays](https://npm.io/package/@exodus/patch-broken-hermes-typed-arrays.md) — 28.5K weekly downloads
- [@native-to-anchor/buffer-layout](https://npm.io/package/@native-to-anchor/buffer-layout.md) — 12.2K weekly downloads
- [binary-parser-encoder](https://npm.io/package/binary-parser-encoder.md) — 5.3K weekly downloads
- [datasets-fi-postalcodes](https://npm.io/package/datasets-fi-postalcodes.md) — 1.1K weekly downloads

## Recent versions

- 1.0.2 (latest) — 2023-06-07
- 1.0.1 — 2022-08-09
- 0.1.3 — 2020-06-15
- 0.1.2 — 2019-05-01
- 0.1.1 — 2018-07-26

## README

# GrapesJS Custom Code

This plugin adds the possibility to embed custom code

<p align="center"><img src="https://user-images.githubusercontent.com/11614725/43289377-15322c5e-912b-11e8-9a29-cc2dc45af48a.gif" alt="GrapesJS Custom Code" align="center"/></p>

> Requires GrapesJS v0.14.25 or higher


## Summary

* Plugin name: `grapesjs-custom-code`
* Components
  * `custom-code`
* Blocks
  * `custom-code`
* Commands
  * `custom-code:open-modal`




## Options

|Option|Description|Default|
|-|-|-
| `blockCustomCode` | Object to extend the default custom code block, eg. `{ label: 'Custom Code', category: 'Extra', ... }`. Pass a falsy value to avoid adding the block | `{}` |
| `propsCustomCode` | Object to extend the default custom code properties, eg. `{ name: 'Custom Code', components: '<span>Initial content</span>' ... }` | `{}` |
| `toolbarBtnCustomCode` | Object to extend the default component's toolbar button for the code, eg. `{ label: '</>', attributes: { title: 'Open custom code' } }`. Pass a falsy value to avoid adding the button | `{}` |
| `placeholderScript` | Content to show when the custom code contains `<script>` | [Check the source](https://github.com/GrapesJS/components-custom-code/blob/master/src/index.ts) |
| `modalTitle` | Title for the modal | `Insert your code` |
| `codeViewOptions` | Additional options for the code viewer, eg. `{ theme: 'hopscotch', readOnly: 0 }` | `{}` |
| `buttonLabel` | Label for the default save button | `Save` |
| `commandCustomCode` | Object to extend the default custom code command, eg. `{ getPreContent: () => '<div>Paste here</div>' }` [Check the source](https://github.com/GrapesJS/components-custom-code/blob/master/src/commands.ts) to see all available methods | `{}` |





## Download

* CDN
  * `https://unpkg.com/grapesjs-custom-code`
* NPM
  * `npm i grapesjs-custom-code`
* GIT
  * `git clone https://github.com/GrapesJS/components-custom-code.git`





## Usage


```html
<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-custom-code.min.js"></script>

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

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

```jsx
import GrapesJS from 'grapesjs';
import customCodePlugin from 'grapesjs-custom-code';

...

GrapesJS.init({
 container : '#gjs',
 ...
 plugins: [
   customCodePlugin
 ],
 pluginsOpts: {
   [customCodePlugin]: {
     // options
   }
 }
});
```





## Development

Clone the repository

```sh
$ git clone https://github.com/GrapesJS/components-custom-code.git
$ cd grapesjs-custom-code
```

Install dependencies

```sh
$ npm i
```

Start the dev server

```sh
$ npm start
```





## License

BSD 3-Clause

---
_Source: https://npm.io/package/grapesjs-custom-code · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
