Giter Site home page Giter Site logo

samandar-boymurodov / editorjs-inline-image Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kommitters/editorjs-inline-image

1.0 0.0 0.0 8.87 MB

Unsplash inline images plugin for editorjs

Home Page: https://www.npmjs.com/package/editorjs-inline-image

License: MIT License

JavaScript 82.16% CSS 11.24% HTML 6.60%

editorjs-inline-image's Introduction

EditorJS Unsplash Inline Image Tool

Coverage Status OpenSSF Best Practices OpenSSF Scorecard

Image tool for Editor.js.

Embed images from Unsplash, blob or URLs.

Notes

Do not require a server-side uploader.

Built following the Unsplash API Guidelines.

Extends the functionality of simple-image.

Installation

Install via NPM

Get the package

$ npm i --save-dev editorjs-inline-image

Include module at your application

import InlineImage from 'editorjs-inline-image';

Load from CDN

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>

Usage

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',
            clientId: 'your_client_id'
          }
        }
      }
  }
});

Config Params

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,
clientId: string,
maxResults: string,
updateUrlOnSelect: (imgUrl: string) => string
unsplashInnerHtm: stringl
}
Config for Unsplash API. Contains 4 fields:

appName: Unspalsh Application Name.

clientId: Unsplash Access Key.

maxResults: Max number of images per search (default 30).

updateUrlOnSelect: Callback that is called with image URL when image is selected. It allows to modify Unsplash image parameters(see https://unsplash.com/documentation#supported-parameters).

unsplashInnerHtml: HTML content for "Unsplash" tab. Passing this config disables embed tab.

Tool's tunes

  1. Add border

  2. Stretch to full-width

  3. Add background

Output data

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

Development mode

$ yarn build:dev

Production release

  1. Create a production bundle
$ yarn build
  1. Commit dist/bundle.js

Run tests

$ yarn test

Code of conduct

We welcome everyone to contribute. Make sure you have read the CODE_OF_CONDUCT before.

Contributing

For information on how to contribute, please refer to our CONTRIBUTING guide.

Changelog

Features and bug fixes are listed in the CHANGELOG file.

License

This library is licensed under an MIT license. See LICENSE for details.

Acknowledgements

Made with ๐Ÿ’™ by kommitters Open Source

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.