This project is officially entering a period of passive maintenance and will no longer receive active development or major bug fixes from kommit.
We are fully committed to keeping this project alive within the open-source community! We believe in the value this project provides, and we are actively seeking new, passionate contributors to take over ownership.
We need a reliable steward for the future development of this repository.
Full Control: Gain administrative rights and full control over the project's direction.
Visibility: Showcase your expertise by leading an established open-source project.
Impact: Directly support the users who rely on this plugin.
To apply for project ownership, you must create an issue using our dedicated template:
- Go to the Issues page
- Select the "Project Ownership / Maintainer Request" template
- Fill out all required sections completely
- Submit the issue for review
Important: Ownership requests submitted through other channels (comments, pull requests, emails) will not be considered. Please use the official issue template to ensure your application is properly reviewed.
Image tool for Editor.js that enables you to embed images from Unsplash, blobs, or URLs directly into your content.

Requires a proxy for the Unsplash API to avoid exposing the Unsplash Access Key on the client-side. See Proxy for Unsplash API for more information.
Built following the Unsplash API Guidelines.
Extends the functionality of simple-image.
You can install the tool via npm or load it from a CDN.
Get the package
$ npm i --save-dev editorjs-inline-imageInclude module at your application
import InlineImage from 'editorjs-inline-image';You can load a specific version of the package from jsDelivr CDN.
Require this script on a page with Editor.js.
<script src="https://cdn.jsdelivr.net/npm/editorjs-inline-image"></script>Add a new Tool to the tools property of the Editor.js initial config.
const editor = EditorJS({
tools: {
image: {
class: InlineImage,
inlineToolbar: true,
config: {
embed: {
display: true,
},
unsplash: {
appName: 'your_app_name',
apiUrl: 'https://your-proxy-api-url.com',
maxResults: 30,
imageParams: {
q:85,
w:1500,
}
}
}
}
}
});| Field | Type | Description |
|---|---|---|
| embed | {display: boolean} |
You could display or not the embed tab, If you don't fill the embed config by default the value is set on true. |
| unsplash | {appName: string, apiUrl: string, maxResults: Number, imageParams: Object} |
Config for Unsplash API. Contains 3 fields: appName: Unsplash Application Name. apiUrl: URL of the Proxy for Unsplash API. maxResults: Max number of images per search (default 30). imageParams: Additional configuration parameters for image quality and dimensions. See Dynamically resizable images for more information. |
-
Add border
-
Stretch to full-width
-
Add background
| Field | Type | Description |
|---|---|---|
| url | string |
Image's url |
| caption | string |
Image's caption |
| withBorder | boolean |
Add border to image |
| withBackground | boolean |
Add background |
| stretched | boolean |
Stretch image to screen's width |
| unsplash | {author: string, profileLink: string} |
Unsplash image author information. author: Author's name. profileLink: Unsplash porfile link. |
Image
{
"type" : "image",
"data" : {
"url" : "https://www.example.com/image.jpg",
"caption" : "An image",
"withBorder" : false,
"withBackground" : false,
"stretched" : true
}
}Unsplash image
{
"type": "image",
"data": {
"url": "https://images.unsplash.com/photo-xxxxxxxxxxxxxxxxx",
"caption": "An image from Unsplash",
"withBorder": false,
"withBackground": true,
"stretched": false,
"unsplash": {
"author": "John Doe",
"profileLink": "https://unsplash.com/@john_doe_fake"
}
}
}Development mode
$ yarn build:devProduction release
- Create a production bundle
$ yarn build- Commit
dist/bundle.js
Run tests
$ yarn testWe welcome everyone to contribute. Make sure you have read the CODE_OF_CONDUCT before.
For information on how to contribute, please refer to our CONTRIBUTING guide.
Features and bug fixes are listed in the CHANGELOG file.
This library is licensed under an MIT license. See LICENSE for details.
Made with 💙 by kommitters Open Source