---
name: n1ed
description: N1ED is a plugin for TinyMCE, CKEditor 5 and CKEditor 4 that adds Bootstrap and Tailwind CSS blocks and widgets, the Flmngr file manager, an image editor and AI writing tools, with modules for Drupal, Joomla and Magento. Use when a project installs N1ED (Editor42, TinyMCE, CKEditor 5, CKEditor 4, Drupal, Joomla, Magento, React, JS snippet), sets its API key, configures it, or debugs it.
---

# N1ED

N1ED is a plugin for TinyMCE, CKEditor 5 and CKEditor 4 that adds Bootstrap and Tailwind CSS blocks and widgets, the Flmngr file manager, an image editor and AI writing tools, with modules for Drupal, Joomla and Magento.

It is one plugin on one API key, configured in the Dashboard at https://n1ed.com/dashboard. Free to start; the paid plans are on https://n1ed.com/pricing.

## How to use this skill

1. If the question does not say it, ask which editor or CMS the project uses, and which way of installing fits it (the Install table below).
2. Follow the matching reference in `references/` step by step. Do not mix the steps of two ways of installing.
3. Keep to the rules below: they hold for every way of installing.
4. Never invent a configuration option, a URL or a package name. Use the ones the references and the pages below name.
5. For anything else, read the page's Markdown copy (the links below), or https://n1ed.com/llms-full.txt for all the docs at once. Those files are rebuilt with the site: when they and this skill disagree, they are right.

## Rules

- N1ED, Blk42, Flmngr, Txt42 and Image42 (formerly ImgPen) are one platform. A website runs on ONE API key: the key's configuration decides which product loads, and everything its licence covers (the file manager and image editor inside N1ED, for example) comes with the same key. Never put a second API key on a page.
- `apiKey`, `Blk42.apiKey` and `Flmngr.apiKey` are names for that one key, never a second one.
- Every product loads from `cloud.n1ed.com`, and saved content loads `cdn.n1ed.com/widgets.js`. Older hosts such as `cloud.blk42.com` and `cloud.flmngr.com` still answer, but they are legacy: write `cloud.n1ed.com` in new code.
- The key's configuration is set in its Dashboard. Options passed in the editor's own config win over the Dashboard's; use only option names the documentation lists, never guess one.
- A CMS module of ours (Drupal, Joomla, Magento) has one API key field: set the key there.
- The key in the samples, `N1ED24RR1234123412341234`, is a shared demo key for trying N1ED out. A website gets its own free key in the [Dashboard](https://n1ed.com/dashboard).
- In CKEditor 5, N1ED is one npm package, `@edsdk/n1ed-ckeditor5`, with the blocks and the file manager; which of them run is set in the Dashboard for the key. TinyMCE and CKEditor 4 get everything.

## Install

| Editor or CMS | Ways of installing | Reference |
|---|---|---|
| Editor42 | Plugin, Ready-to-Use Bundle, CDN | [references/install-editor42.md](references/install-editor42.md) |
| TinyMCE | Plugin, Ready-to-Use Bundle, CDN | [references/install-tinymce.md](references/install-tinymce.md) |
| CKEditor 5 | Plugin, Ready-to-Use Bundle, CDN | [references/install-ckeditor-5.md](references/install-ckeditor-5.md) |
| CKEditor 4 | one way | [references/install-ckeditor.md](references/install-ckeditor.md) |
| Drupal | CKEditor 4: full N1ED, CKEditor 5: blocks and file manager | [references/install-drupal.md](references/install-drupal.md) |
| Joomla | one way | [references/install-joomla.md](references/install-joomla.md) |
| Magento | one way | [references/install-magento.md](references/install-magento.md) |
| React | one way | [references/install-react.md](references/install-react.md) |
| JS snippet | one way | [references/install-javascript.md](references/install-javascript.md) |

## Configuration

The options the configuration pages document, each with its page. Pass them in the editor's own config or set them in the Dashboard, as that page says.

| Option | Type | What it sets | Page |
|---|---|---|---|
| `framework` | `string` | Framework | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.useCustomFrameworkUrl` | `boolean` | Use your own build | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.url` | `string` | Bootstrap URL | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `include.frameworkCssOnVisitorPage` | `boolean` | Include Bootstrap on visitor pages | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.useFallbackJsForWidgets` | `boolean` | Fallback JS for Tabs & Accordions | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.rootContains` | `string` | Elements in root | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.detectStructure` | `boolean` | Detect structure | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.fixStructure` | `boolean` | Fix Bootstrap structure | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.fixStructureAlways` | `boolean` | Fix Bootstrap structure on new content too | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `bootstrap5.protectContent` | `boolean` | Protect the grid | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `tailwind4.theme` | `string` | Tailwind CSS theme | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `tailwind4.useCustomThemeUrl` | `boolean` | Tailwind CSS theme | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `tailwind4.urlThemeCss` | `string` | Tailwind CSS theme | [Bootstrap Editor settings: Bootstrap 5 and Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md) |
| `include.extraCssInEditor` | `string[]` | CSS in the editor | [Theming your content with CSS](https://n1ed.com/docs/configuration/css-theming.md) |
| `include.extraJsInEditor` | `string[]` | JS in the editor | [Theming your content with CSS](https://n1ed.com/docs/configuration/css-theming.md) |
| `include.extraCssOnVisitorPage` | `string[]` | CSS on visitor pages | [Theming your content with CSS](https://n1ed.com/docs/configuration/css-theming.md) |
| `include.extraJsOnVisitorPage` | `string[]` | JS on visitor pages | [Theming your content with CSS](https://n1ed.com/docs/configuration/css-theming.md) |
| `Flmngr.urlFileManager` | `string` | File Manager URL | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.urlFileManager__user` | `string` | User | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.urlFileManager__password` | `string` | Password | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.urlFiles` | `string` | Files URL | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.defaultUploadDir` | `string` | Uploads directory | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.defaultUploadDirStructure` | `string` | Uploads hierarchy | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.uploadMode` | `string` | Upload mode | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.askNameOnPaste` | `boolean` | Ask for a name when an image is pasted | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.expandLevels` | `number` | Auto expand tree levels | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.isDynamicDirListing` | `boolean` | Preload auto expanded directories only | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.sortDirs` | `string` | Sort directories | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.hideDirs` | `string[]` | Hide folders with names | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.hideFiles` | `string[]` | Hide files with names | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.filesPerPortion` | `number` | Load on scroll | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.orderBy` | `string` | Initial file sorting order | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.orderAsc` | `boolean` | Initial file sorting order | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.enableFileGrouping` | `boolean` | File grouping by date | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.groupBy` | `string` | File grouping by date | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.fileFields` | `{preview: {...}, table: {...}}` | File view | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.apiKeyUnsplash` | `string` | Unsplash API access key | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.whiteLabel` | `boolean` | Remove Flmngr link | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.codec` | `number` | Codec | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `Flmngr.urlFileManager__CSRF` | `function \| object \| string` | CSRF protection | [Configure File Manager](https://n1ed.com/docs/configuration/file-manager.md) |
| `ImgPen.tools` | `string[]` | Tools | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.colors` | `string[]` | Custom colors | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.removeDefaultColors` | `boolean` | Remove default colors | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.resizeMinWidth` | `number` | Minimum and maximum resize widths and heights | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.resizeMinHeight` | `number` | Minimum and maximum resize widths and heights | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.resizeMaxWidth` | `number` | Minimum and maximum resize widths and heights | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.resizeMaxHeight` | `number` | Minimum and maximum resize widths and heights | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.cropRatios` | `{w: number, h: number}[]` | Crop ratios | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.removeDefaultCropRatios` | `boolean` | Remove default crop ratios | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.fonts` | `{family: string, url: string}[]` | Fonts | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.defaultText` | `string` | New text title | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.stickers` | `string[]` | Stickers | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.removeDefaultStickers` | `boolean` | Remove default stickers | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.shapes` | `{title: string, path: string, freeScaling: boolean}[]` | Shapes | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.removeDefaultShapes` | `boolean` | Remove default shapes | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `ImgPen.jpegQuality` | `number` | JPEG quality | [Editing Image42 image editor configuration](https://n1ed.com/docs/configuration/image-editor.md) |
| `Translator.provider` | `string` | Translation API provider | [Translator configuration](https://n1ed.com/docs/configuration/translator.md) |
| `Translator.yandexAPIKey` | `string` | Yandex API key | [Translator configuration](https://n1ed.com/docs/configuration/translator.md) |
| `Translator.googleAPIKey` | `string` | Google API key | [Translator configuration](https://n1ed.com/docs/configuration/translator.md) |
| `Translator.langFrom` | `string` | Source language | [Translator configuration](https://n1ed.com/docs/configuration/translator.md) |
| `Translator.langTo` | `string` | Target language | [Translator configuration](https://n1ed.com/docs/configuration/translator.md) |
| `ui.mode` | `string` | Fullscreen mode only | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showSidebarOnlyInFullScreen` | `boolean` | Show sidebar only when maximized | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.leftSidebar` | `boolean` | Sidebar is on the left | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.themeCovers` | `string` | Cover style | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showFullScreenButton` | `boolean` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.fullScreenButtonTitle` | `string` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.fullScreenExitButtonTitle` | `string` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showBootstrapEditorButton` | `boolean` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.bootstrapEditorButtonTitle` | `string` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.gridButtonTitle` | `string` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showConfButton` | `boolean` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.confButtonTitle` | `string` | Top buttons | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showBootstrapEditorQuickPanel` | `boolean` | Bootstrap quick panel | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.useAutoToolbar` | `boolean` | Use automatic toolbar | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.autoToolbarVersion` | `number` | Automatic toolbar version | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.showWidgetsOnAutoToolbar` | `boolean` | Widgets line | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.autoToolbarLines` | `number` | Auto toolbar lines | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.autoToolbarLinesInFullScreen` | `number` | Auto toolbar lines (full screen) | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.toolbarButtons` | `{[name: string]: {title?: string, hint?: string, isVisible?: boolean}}` | Toolbar | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `widgets.<Name>.template` | `{classes: string[], styles: {[property: string]: string}, attributes: {[name: string]: string}}` | Widget templates | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `widgets.<Name>.enabled` | `boolean` | Widget on the sidebar | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.expandTagOptions` | `boolean` | Expand Tag options | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |
| `ui.autoCompleteClasses` | `string[]` | Autocomplete classes for all widgets | [Configuring UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md) |

## Troubleshooting

Questions users asked, each one answered on its page:

- [All questions](https://n1ed.com/qa.md)
- [YouTube embeds failing](https://n1ed.com/qa/youtube-api-key.md)
- [Broken Font Awesome icons in TinyMCE](https://n1ed.com/qa/broken-icons-in-tinymce.md)
- [How to fix incorrect preview for WEBP in Flmngr?](https://n1ed.com/qa/incorrect-preview-for-webp-in-flmngr.md)
- [How to change toolbar skin in CKEditor?](https://n1ed.com/qa/change-ckeditor-toolbar-skin.md)
- [What means "Responsive" checkbox on the image?](https://n1ed.com/qa/bootstrap-responsive-images.md)
- [How to know N1ED version installed?](https://n1ed.com/qa/get-n1ed-version.md)
- [Upload from URL or set the URL when inserting the image?](https://n1ed.com/qa/image-upload-by-url.md)
- [How to set size of Font Awesome icon proportional to font?](https://n1ed.com/qa/set-size-font-awesome-icon.md)
- [How can I integrate configuration editor into control panel of my CMS?](https://n1ed.com/qa/integrate-config-editor-into-cms-control-panel.md)
- [Striped table style has gone](https://n1ed.com/qa/where-is-striped-table-style.md)
- [Switching to Bootstrap Editor mode when going to full screen](https://n1ed.com/qa/switching-to-bootstrap-editor-mode-on-full-screen.md)
- [Editor configuration for different roles in Drupal 8](https://n1ed.com/qa/editor-configuration-for-different-roles-in-drupal.md)
- [How to remove gaps between Bootstrap columns?](https://n1ed.com/qa/how-to-remove-gaps-between-bootstrap-columns.md)
- [Setting icon for custom template](https://n1ed.com/qa/icon-for-custom-html-template.md)
- [How to set background outside of Bootstrap container?](https://n1ed.com/qa/set-background-outside-bootstrap-container.md)
- [Using N1ED to edit both Bootstrap 3 and Bootstrap 4](https://n1ed.com/qa/bootstrap-3-to-4-migration.md)
- [How many licenses do I need?](https://n1ed.com/qa/how-many-n1ed-licenses-to-get.md)
- [Integrating N1ED to my own PHP CMS with TinyMCE](https://n1ed.com/qa/integrate-n1ed-to-cms.md)
- [I need columns to have full width on mobiles](https://n1ed.com/qa/responsive-bootstrap-columns-on-mobile.md)
- [Image previews with custom script](https://n1ed.com/qa/image-previews-with-custom-script.md)
- [Top blocks of my content are rows, not containers](https://n1ed.com/qa/bootstrap-editor-blocks-type.md)
- [Will Bootstrap Editor support my non-Bootstrap content?](https://n1ed.com/qa/support-of-existing-content-in-bootstrap-editor.md)
- [Can I use file manager when store files on separate server?](https://n1ed.com/qa/file-manager-with-another-server.md)
- [Can I use N1ED without Bootstrap?](https://n1ed.com/qa/use-without-bootstrap.md)
- [How to configure file manager to use my own storage?](https://n1ed.com/qa/how-to-configure-file-manager-storage.md)
- [Compatibility with admin theme](https://n1ed.com/qa/admin-theme-compatibility.md)
- [Will N1ED installing cause any need to reconfigure my webserver?](https://n1ed.com/qa/simple-install.md)
- [Will N1ED extend my CKEditor in Drupal 8 or replace it?](https://n1ed.com/qa/n1ed-extend-or-replace-ckeditor.md)
- [Will it work with my own CMS?](https://n1ed.com/qa/work-with-cloud-cms.md)
- [Use in inline mode](https://n1ed.com/qa/inline-mode.md)
- [Where is located config file of CKEditor?](https://n1ed.com/qa/ckeditor-config-file.md)

## All pages

### Start here

- [Home: Big Upgrade for TinyMCE & CKEditor](https://n1ed.com/index.md)
- [N1ED Documentation](https://n1ed.com/docs.md)
- [Plans & pricing](https://n1ed.com/pricing.md)
- [Use N1ED with AI](https://n1ed.com/docs/ai.md)

### Installation

- [Installation](https://n1ed.com/docs/install.md)
- [Editor42](https://n1ed.com/docs/install/editor42.md)
- [TinyMCE](https://n1ed.com/docs/install/tinymce.md)
- [CKEditor 5](https://n1ed.com/docs/install/ckeditor-5.md)
- [CKEditor 4](https://n1ed.com/docs/install/ckeditor.md)
- [Drupal](https://n1ed.com/docs/install/drupal.md)
- [Drupal module overview](https://n1ed.com/docs/install/drupal/module-overview.md)
- [Drupal: Working with Paragraphs](https://n1ed.com/docs/install/drupal/paragraphs.md)
- [Drupal 8 (legacy)](https://n1ed.com/docs/install/drupal-8.md)
- [Joomla](https://n1ed.com/docs/install/joomla.md)
- [Joomla 3 (legacy)](https://n1ed.com/docs/install/joomla-3.md)
- [Magento](https://n1ed.com/docs/install/magento.md)
- [React](https://n1ed.com/docs/install/react.md)
- [JS snippet](https://n1ed.com/docs/install/javascript.md)

### Examples

- [Examples](https://n1ed.com/docs/examples.md)
- [JS snippet](https://n1ed.com/docs/examples/tinymce.md)
- [TinyMCE plugin](https://n1ed.com/docs/examples/tinymce-plugin.md)
- [CKEditor 5 plugin (beta)](https://n1ed.com/docs/examples/ckeditor-5.md)
- [CKEditor 4 plugin](https://n1ed.com/docs/examples/ckeditor.md)
- [React](https://n1ed.com/docs/examples/react.md)
- [Flmngr demos](https://n1ed.com/docs/examples/file-manager.md)

### File manager

- [File manager](https://n1ed.com/docs/file-manager.md)
- [PHP Composer package](https://n1ed.com/docs/file-manager/php-composer.md)
- [PHP Laravel package](https://n1ed.com/docs/file-manager/laravel.md)
- [PHP Symfony package](https://n1ed.com/docs/file-manager/symfony.md)
- [PHP script (no Composer)](https://n1ed.com/docs/file-manager/php-script.md)
- [Node package](https://n1ed.com/docs/file-manager/node-custom.md)
- [Node Express module](https://n1ed.com/docs/file-manager/node-express.md)
- [Node Nest module](https://n1ed.com/docs/file-manager/node-nest.md)
- [Standalone microservice](https://n1ed.com/docs/file-manager/microservice.md)
- [File manager settings](https://n1ed.com/docs/configuration/file-manager.md)
- [Unsplash API key](https://n1ed.com/docs/configuration/generate-unsplash-key.md)
- [Cloud storage](https://n1ed.com/docs/cloud-storage.md)
- [Cloud storage: Amazon S3](https://n1ed.com/docs/cloud-storage/amazon-s3.md)
- [Cloud storage: S3-compatible (Custom)](https://n1ed.com/docs/cloud-storage/s3-compatible.md)
- [Cloud storage: Azure Blob](https://n1ed.com/docs/cloud-storage/azure-blob.md)

### Configuration

- [Configuration](https://n1ed.com/docs/configuration.md)
- [Bootstrap & Tailwind CSS](https://n1ed.com/docs/configuration/bootstrap-editor.md)
- [Extra CSS & JS](https://n1ed.com/docs/configuration/css-theming.md)
- [UI, toolbar and widgets](https://n1ed.com/docs/configuration/ui-and-widgets.md)
- [YouTube API key](https://n1ed.com/docs/configuration/youtube.md)
- [Image Editor](https://n1ed.com/docs/configuration/image-editor.md)
- [OpenAI API key](https://n1ed.com/docs/configuration/chat-gpt.md)
- [Translator](https://n1ed.com/docs/configuration/translator.md)
- [Custom blocks](https://n1ed.com/docs/configuration/bootstrap-blocks.md)

### For developers

- [For developers](https://n1ed.com/docs/api.md)
- [Dynamic config](https://n1ed.com/docs/configuration/api.md)
- [Custom CMS](https://n1ed.com/docs/custom-cms.md)
- [Custom CMS: Storing API key in DB](https://n1ed.com/docs/custom-cms/store-api-key.md)
- [Custom CMS: Set and change API key](https://n1ed.com/docs/custom-cms/set-and-change-api-key.md)
- [Custom CMS: Embed configuration widget](https://n1ed.com/docs/custom-cms/configuration-widget.md)
- [Multisite](https://n1ed.com/docs/multisite.md)
- [Multisite: Multi-user app storages](https://n1ed.com/docs/multisite/separating-file-storages.md)
- [Multisite: Parent/child API keys](https://n1ed.com/docs/multisite/parent-and-child-api-keys.md)
- [Admin API](https://n1ed.com/docs/admin-api.md)
- [Admin API: Create API key](https://n1ed.com/docs/admin-api/create-api-key.md)
- [Admin API: List API keys](https://n1ed.com/docs/admin-api/list-api-keys.md)
- [Admin API: Delete API key](https://n1ed.com/docs/admin-api/delete-api-key.md)
- [Admin API: Undelete API key](https://n1ed.com/docs/admin-api/undelete-api-key.md)
- [Admin API: Set parent API key](https://n1ed.com/docs/admin-api/set-parent-api-key.md)
- [Admin API: Rotate API key](https://n1ed.com/docs/admin-api/rotate-api-key.md)
- [Rotate Admin API token](https://n1ed.com/docs/admin-api/rotate-admin-token.md)

### Resources

- [Licensing](https://n1ed.com/resources/licensing.md)
- [Contacts](https://n1ed.com/resources/contacts.md)

### How-to

- [How-to overview](https://n1ed.com/how-to.md)
- [AI Text](https://n1ed.com/how-to/create-text-with-gpt-ai.md)

### How-to: Bootstrap blocks

- [Bootstrap editor](https://n1ed.com/how-to/bootstrap/editor/bootstrap-block-by-block-builder.md)
- [Bootstrap editor: Insert new blocks from gallery](https://n1ed.com/how-to/bootstrap/editor/how-to-insert-bootstrap-blocks.md)
- [Bootstrap editor: Insert blocks custom grid](https://n1ed.com/how-to/bootstrap/editor/how-to-create-bootstrap-grid-blocks.md)
- [Bootstrap editor: Rearrange, copy, delete blocks](https://n1ed.com/how-to/bootstrap/editor/how-to-rearrange-copy-delete-boostrap-blocks.md)
- [Bootstrap Editor advanced mode](https://n1ed.com/how-to/bootstrap/editor/how-to-use-advanced-bootstrap-editor.md)
- [Block templates](https://n1ed.com/how-to/bootstrap/templates/bootstrap-custom-block-templates.md)
- [Block templates: Create custom block template](https://n1ed.com/how-to/bootstrap/templates/how-to-create-bootstrap-block-template.md)
- [Block templates: Update custom block template](https://n1ed.com/how-to/bootstrap/templates/how-to-update-bootstrap-block-template.md)
- [Block templates: Insert custom block from templates](https://n1ed.com/how-to/bootstrap/templates/how-to-use-bootstrap-block-templates.md)
- [Block templates: Organize custom blocks templates](https://n1ed.com/how-to/bootstrap/templates/how-to-manage-bootstrap-block-templates.md)
- [Block templates: Share across websites](https://n1ed.com/how-to/bootstrap/templates/how-to-share-bootstrap-block-templates.md)
- [Editing content](https://n1ed.com/how-to/bootstrap/content/edit-bootstrap-blocks-content.md)
- [Editing content: Column system basics](https://n1ed.com/how-to/bootstrap/content/bootstrap-12-column-structure-basics.md)
- [Editing content: Edit block structure](https://n1ed.com/how-to/bootstrap/content/how-to-edit-bootstrap-column-structure.md)
- [Editing content: Set block background](https://n1ed.com/how-to/bootstrap/content/how-to-set-bootstrap-block-background.md)
- [Editing content: Change block styles](https://n1ed.com/how-to/bootstrap/content/how-to-change-bootstrap-block-styles.md)
- [Editing content: Content alignment inside blocks](https://n1ed.com/how-to/bootstrap/content/how-to-change-alignment-in-bootstrap-blocks.md)
- [Editing content: Mobile-ready content basics](https://n1ed.com/how-to/bootstrap/content/bootstrap-responsive-tools-basics.md)
- [Editing content: Build responsive content](https://n1ed.com/how-to/bootstrap/content/how-to-build-and-preview-bootstrap-responsive-content.md)
- [Editing content: Editing HTML source code](https://n1ed.com/how-to/bootstrap/content/how-to-edit-bootstrap-source-html-code.md)

### How-to: Widgets and media

- [Widgets and media](https://n1ed.com/how-to/widgets-and-media.md)
- [Widgets basics](https://n1ed.com/how-to/widgets-basics.md)
- [Bootstrap widgets](https://n1ed.com/how-to/bootstrap-widgets.md)
- [Image widgets](https://n1ed.com/how-to/image-widgets.md)
- [Image Editor](https://n1ed.com/how-to/image-editor.md)
- [File Manager](https://n1ed.com/how-to/file-manager.md)
- [Font Awesome](https://n1ed.com/how-to/font-awesome.md)
- [YouTube](https://n1ed.com/how-to/youtube-widget.md)
- [Placeholder](https://n1ed.com/how-to/placeholder.md)
- [Page embed](https://n1ed.com/how-to/page-embed.md)

### How-to: Typography and basics

- [Typography and basics](https://n1ed.com/how-to/typography-and-basics.md)
- [Text, paragraphs, headers](https://n1ed.com/how-to/text-paragraphs-headers.md)
- [Links and anchors](https://n1ed.com/how-to/links-and-anchors.md)
- [Tables](https://n1ed.com/how-to/table.md)
- [Custom widget](https://n1ed.com/how-to/custom-widgets.md)
- [Source code](https://n1ed.com/how-to/source.md)
- [Classes, styles, attributes](https://n1ed.com/how-to/custom-styling.md)
- [Working with breadcrumbs](https://n1ed.com/how-to/breadcrumbs.md)
- [Translating text in the editor](https://n1ed.com/how-to/translator.md)

### Optional

- [Changelog](https://n1ed.com/docs/changelog.md)
- [Legal information](https://n1ed.com/resources/legal.md)
- [N1ED Joomla extension licensing](https://n1ed.com/joomla/license.md)
- [Welcome to N1ED: the JS+ plugins, now in one place](https://n1ed.com/js.plus.md)
