npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

genius-blender

v1.0.0

Published

strip or randomize unwanted annotations inserted by Genius

Downloads

5

Readme

Genius Blender

stop the Genius web annotator

The Story So Far

Quick Start

To remove Genius annotations, just add this one line of HTML to your post, page, or site:

<script type="text/javascript" src="//vijithassar.github.io/genius-blender/genius-blender.js"></script>

This should work even if you don't control your own server or content management software, such as with hosted blogging services, so long as the host allows scripts in your content.

Bonkers Mode

Bonkers Mode deliberately embraces the primary failing of Genius Defender, which was that the annotations weren't removed completely, and traces were left behind. It tries to very visibly break the Genius product by moving the annotations around randomly instead of just cleanly stripping them. This is eXtReMeLy dIsRuPtIvE, so perhaps Genius will eventually offer a proper opt-out to site owners instead of forcing them to use this solution.

Bonkers Mode

To enable Bonkers Mode, just add a second script with a global variable containing a numeric interval, like this:

<script type="text/javascript">var genius = {interval: 1000};</script>
<script type="text/javascript" src="//vijithassar.github.io/genius-blender/genius-blender.js"></script>

The interval controls how frequently the annotations will move. It is given in milliseconds, and can be as large as 30000 (thirty seconds) or as small as 500 (half a second). The latter is slow enough to be safe for people with epilepsy.

Dissemination

Genius could quite easily block the instance of the script I've linked to above from running on their annotation pages, so you are encouraged to host your own copy and share it with anybody who can't do the same. If you fork this repository on GitHub, a copy will be made available via GitHub Pages, located at {your-github-username}.github.io/genius-blender/genius-blender.js. You can also make it a part of your site's build by installing it from npm, or you can download it manually. In any of these scenarios, changing the filename of the script should also make it even harder for Genius to recognize and suppress.

There are absolutely no restrictions on how you can use this code.

Nerds Complaining

A global variable was the easiest way to both allow this to be loaded as a remote script and also make it easy for site owners to set customized configuration options like the optional time interval, which also acts as a switch for Bonkers Mode. Sites that are automatically including it in builds are unlikely to use Bonkers Mode, so in those cases the global variable will not be present anyway. Feel free to change this in your fork.