Author: | alienzhou |
---|---|
Views Total: | 409 views |
Official Page: | Go to website |
Last Update: | April 23, 2019 |
License: | MIT |
Preview:

Description:
A pure JS web highlighter that makes it possible to highlight any content selection on the web.
How to use it:
Installation:
npm i web-highlighter
Build.
git clone [email protected]:alienzhou/web-highlighter.git git checkout v0.3.2 npm i npm run build
Import the web highlighter.
// global var Highlighter = window.Highlighter; // CommonJS var Highlighter = require('highlighter'); // ES Module import Highlighter from 'highlighter';
Initialize & enable the web highlighter.
var highlighter = new Highlighter(); highlighter.run();
Save & restore the highlighted content.
// get getStore().then(s => highlighter.fromStore(s.startMeta, s.endMeta, s.id, s.text)); // store highlighter.on(Highlighter.event.CREATE, ({sources}) => save(sources));
Possible options for the web highlighter.
var highlighter = new Highlighter({ // root element $root: document.documentElement, // default: null exceptSelectors: ['img', 'code'], // CSS class for the highlighted content style: { className: 'highlight-mengshou-wrap' } });
Apply your own styles to the highlighted content.
.highlight-mengshou-wrap { /* your styles here */ }
More API methods.
// stops the web highlighter highlighter.stop(); // disposes the web highlighter highlighter.dispose(); // removes selection highlighter.remove(id); // removes all selections highlighter.removeAll(); // adds a CSS class to the selection highlighter.addClass('your-class', id); // removes the class highlighter.removeClass('your-class', id); // gets DOM highlighter.getDoms(id); // gets ID of the DOM highlighter.getIdByDom($node);
Event listeners.
highlighter.on(Highlighter.event.CLICK, function (id) { // ... }); highlighter.on(Highlighter.event.HOVER, function (id) { // ... }); highlighter.on(Highlighter.event.HOVER_OUT, function (id) { // ... }); highlighter.on(Highlighter.event.CREATE, function (source, type) { // ... }); highlighter.on(Highlighter.event.REMOVE, function (ids) { // ... });