All Projects → AnandChowdhary → Hovercard

AnandChowdhary / Hovercard

Licence: unlicense
🖱️ Wikipedia summary cards for the web

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Hovercard

Scorehud
An event driven, highly customizable plugin to add Scoreboards on your Minecraft Bedrock Server.
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Wp Missed Schedule
Find only missed schedule posts, every 15 minutes, and republish correctly 10 items each session. The Original plugin (only this) no longer available on WordPress.org for explicit author request! Compatible with WP 2.1+ to 4.9+ and 5.0-beta3 (100.000+ installs 300.000+ downloads 2016-04-13) Please: do not install unauthorized malware cloned forked!
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Sqlinator
Automatically forward HTTP GET & POST requests to SQLMap's API to test for SQLi and XSS
Stars: ✭ 70 (-2.78%)
Mutual labels:  plugin
Googleclientplugin
Google Client Plugin for Xamarin iOS and Android
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Burpsuite Changeu
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Wikiloop Doublecheck
WikiLoop DoubleCheck: a web tool to help review Wikipedia edits easily and collaboratively.
Stars: ✭ 70 (-2.78%)
Mutual labels:  wikipedia
Caddy Net
Proxy server type for Caddy server (https://github.com/mholt/caddy)
Stars: ✭ 68 (-5.56%)
Mutual labels:  plugin
Xcodeappplugintemplate
App Plugin Project Template For iOS App And Mac App. Make it easy to hook app.
Stars: ✭ 71 (-1.39%)
Mutual labels:  plugin
Smqtk
Python toolkit for pluggable algorithms and data structures for multimedia-based machine learning.
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Mautic Contact Client
Create custom integrations without writing code, like having your own Zapier.
Stars: ✭ 70 (-2.78%)
Mutual labels:  plugin
Wordpress Plugin Installer
A PHP class for installing and activating WordPress plugins.
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Jwiki
📖 A library for effortlessly interacting with Wikipedia/MediaWiki
Stars: ✭ 69 (-4.17%)
Mutual labels:  wikipedia
Streamdeck Homeassistant
🏠 Use the Elgato Stream Deck as Home Assistant controller. Call any available service and toggle lights or resume your music.
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Libfive Unity
A CSharp wrapper for libfive with Unity bindings
Stars: ✭ 69 (-4.17%)
Mutual labels:  plugin
Vagrant Foodshow
Vagrant plugin for ngrok
Stars: ✭ 70 (-2.78%)
Mutual labels:  plugin
Node Distance Addon
Native NodeJS add-on creation tutorial using C++
Stars: ✭ 68 (-5.56%)
Mutual labels:  plugin
Godot Engine.file Editor
A Godot Engine addon that adds a File Editor for multiple file types editing. Create and Write plain text files, configuration files and csv files with custom visualizers and previews. Also supports file translations!
Stars: ✭ 70 (-2.78%)
Mutual labels:  plugin
Kirki
Extending the customizer
Stars: ✭ 1,175 (+1531.94%)
Mutual labels:  plugin
Gruvbox Intellij Theme
An IDE theme based on the gruvbox color scheme. ⛺
Stars: ✭ 71 (-1.39%)
Mutual labels:  plugin
My Custom Functionality
A basic starter plugin to load assets like CSS and JS files in WordPress.
Stars: ✭ 70 (-2.78%)
Mutual labels:  plugin

Hovercard

Hovercard is a JavaScript library to get Wikipedia summary cards for terms on mouse over. It's useful in explaining concepts or to give summaries to Wikipedia links.

Travis CI GitHub Vulnerabilities Made in Enschede

NPM

Screenshot of a Hovercard demo

You can get Hovercard from NPM:

yarn add hovercard

Then import and initialize it (optionally, set your Wikipedia language):

import Hovercard from "hovercard";
const cards = new Hovercard({
    lang: "en"
});

And add the CSS class hovercard on the elements you want hovercards for:

<span class="hovercard">Facebook</span>

Important note: This is the README for Hovercard v2, rewritten with additional configuration in TypeScript. For information about v1, view the README for Hovercard v1.

Configuration

Use English Wikipedia for the links matching CSS class "info":

new Hovercard({
  selector: "a.info",
  wikipediaLanguage: "en"
});

Custom template for the card's contents:

new Hovercard({
  template: result => `
    <h1>${result.title}</h1>
    <p>${result.text}</p>
  `
});

Fetch data from a custom API, disabling cache instead of Wikipedia:

new Hovercard({
  noCache: true,
  getFetchEndpoint: word => `https://example.com/dictionary?q=${word}`,
  fetchConfig: {
    method: "POST"
  },
  getHeading: result => result.title,
  getBody: result => result.text
});

Custom function to fetch data from your API:

new Hovercard({
  getData: word => new Promise((resolve, reject) => {
    fetch("my-api")
      .then(data => resolve(data))
      .catch(error => reject(error));
  })
})

Use a custom storage instead of local storage for caching:

const memory = {};
new Hovercard({
  storage: {
    getItem: key => memory[key],
    setItem: (key, value) => (memory[key] = value)
  }
})

Events

Listen to events:

const cards = new Hovercard();
cards.on("created", () => {
  console.log("Hovercards created!");
});

Events emitted:

  • created
  • removed-element
  • show
  • hide
  • update

Demo

Literally made this in a few hours. Lots to be done.

Todo:

  • [x] Support all languages, not just English Wikipedia
  • [x] Place cards better (top right, etc., not just bottom left)
  • [x] Keep cards visible on hover, not just link hover
  • [x] Support for cards linking to article/other things
  • [x] Support multiple sources (other than Wikipedia)
  • [ ] Fade cards in and out, don't just display none them
  • [ ] Better loading/error states?
  • [ ] Polyfill for fetch? Docs if none
  • [ ] oEmbed like previews for other services
  • [ ] Auto detect Wikipedia links and hovercard
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].