Git Product home page Git Product logo

embed-js's Introduction

Build Status npm Twitter

A lightweight JavaScript plugin to embed emojis, media, maps, tweets, code and services.

This is the documentation for v5. If you are looking for docs of v4 you can get them here.

Edit embed.js - demo

Features

  • Supported: supports IE8+ (assuming Promise is polyfilled)
  • Plugin Based: only load what you want.
  • Isomorphic: Can be used both on server and client side.
  • Customizable: So much that creating a custom plugin is also few lines of code.
  • Modern: written in ES2015

Contents

Installation

To install the stable version:

npm install --save embed-js

CDN

https://unpkg.com/embed-js

Basic Usage

You need to use plugins or presets to do anything. By default embed-js does nothing.

Let's assume that the HTML structure is as written below

<div id="element">
   <!--===== your string here =======-->
</div>

Creating an instance of embed.js

import EmbedJS from 'embed-js'
import url from 'embed-plugin-url'
import emoji from 'embed-plugin-emoji'

const x = new EmbedJS({
  input: document.getElementById('element'),
  plugins: [
    url(),
    emoji()
  ]
})

Next step is replacing the original text with the processed text.

//Render the result
x.render();

There may be cases where you just want the processed string to use it according to your need. You can get it by the following method. This can be used on the server side to get the string. Still if the plugin involves interactions, you will have to load it on the client side.

//Get the resulting string
x.text().then(({ result }) => {
  console.log(result); //The resulting string
})

If you wan't to destroy the instance. It will also replace the processed string with the original string.

//Destroy the instance
x.destroy()

Options

option default Description
plugins [] Accepts an array of plugins.
preset null Accepts a preset. Currently accpets only one preset. It can be combined with plugins.
inlineEmbed true If case you want to to embed contents at the end of texts, turn this to false.
replaceUrl false Useful when inlineEmbed is set to true. Replace text with the embed.
fetch window.fetch or window.unfetch If you are willing to use the library on both server and client side you need to pass an isomorphic fetch library like isomorphic-unfetch or isomorphic-fetch. This is only needed if you are using a plugin that has to make a HTTP request.

Development

  1. Fork the repo
  2. clone the repo then cd embed.js
  3. create a new branch
  4. Then npm install && yarn build:watch
  5. Create a PR

Note: This projects adheres to a Code of Conduct.

Sponsor

License

MIT © Ritesh Kumar

embed-js's People

Contributors

ritz078 avatar

Watchers

Jolanta Paliszewska avatar

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.