- Notifications
You must be signed in to change notification settings - Fork89
🌻 A lightweight plugin to embed emojis, media, maps, tweets, code and more. ✨
License
ritz078/embed-js
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 themhere.
- 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
To install the stable version:
npm install --save embed-js
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
<divid="element"><!--===== your string here =======--></div>
Creating an instance of embed.js
importEmbedJSfrom'embed-js'importurlfrom'embed-plugin-url'importemojifrom'embed-plugin-emoji'constx=newEmbedJS({input:document.getElementById('element'),plugins:[url(),emoji()]})
Next step is replacing the original text with the processed text.
//Render the resultx.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 canbe used on the server side to get the string. Still if the plugin involves interactions, you will have to load it onthe client side.
//Get the resulting stringx.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 instancex.destroy()
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 wheninlineEmbed is set to true. Replace text with the embed. |
fetch | window.fetch orwindow.unfetch | If you are willing to use the library on both server and client side you need to pass an isomorphic fetch library likeisomorphic-unfetch orisomorphic-fetch. This is only needed if you are using a plugin that has to make a HTTP request. |
- Fork the repo
- clone the repo then
cd embed.js
- create a new branch
- Then
npm install && yarn build:watch
- Create a PR
Note: This projects adheres to aCode of Conduct.
MIT ©Ritesh Kumar
About
🌻 A lightweight plugin to embed emojis, media, maps, tweets, code and more. ✨