"Hide ReSteems" just Released... a new and simple TamperMonkey Script Toggles Feed & Profile ReSteems!

in #steemit7 years ago (edited)

One of the most frequent complaints I hear about the STEEMIT user interface is how come resteems can't be separated out (or toggled) from a user's own content. This can be especially frustrating when you're trying to catch up on a person's own posts, or even evaluating if you want to follow a person in the first place! We really don't need one more impediment in the already fragile process of acquiring new interest to your STEEMIT "presence".

I've thought about trying to tackle the issue myself, although most recently, I've been a bit tied up with some other "fun" side-projects, including the Discord WhaleBoT, which I wrote about in my last post.

Then, in the past week, @itchykitten came up with a slick solution in the form of a Chrome extension called exstreemit that would add a "show / hide resteems" button to each profile page that you view. However, I anticipated from my own habits that not everyone would be all that comfortable installing the feature as an extension, even if @itchykitten released the complete source code on github, as you can see here. From some comments I've seen, it does seem that at least a few people would rather not install this feature as an outright extension.

So, as an "alternative solution", I decided it would still be useful to throw together another version using TamperMonkey, a very popular userscript manager. It's also available for Chrome, Microsoft Edge, Safari, Opera Next, and Firefox. So while some people may not be so comfortable adding an entire extension to add one small button to a website, such functionality can easily be added to your TamperMonkey "Dashboard" as just another script to run, complete with source code as well so you can be quite certain there's no "funny stuff" go on.

The Script

Once the script is installed, you will find a new "show resteems" / "hide resteems" button that will toggle the status of the resteems on the profile page you're looking it.

For those who are already familiar with TamperMonkey and want to try jumping right in, just "Create a new script" with TamperMonkey, and paste in the following code named "Hide ReSteems":

// ==UserScript==
// @name         Hide ReSteems
// @namespace    http://tampermonkey.net/
// @version      0.12
// @description  Button to Toggle ReSTEEMs from a User's STEEMIT.com Profile and Feed Page
// @author       @alexpmorris
// @match        https://steemit.com/*
// @grant        none
// @require https://code.jquery.com/jquery-1.12.4.min.js
// @require https://greasyfork.org/scripts/6250-waitforkeyelements/code/waitForKeyElements.js?version=23756
// ==/UserScript==

(function() {
    'use strict';

    var isHiding = false;

    waitForKeyElements ("#posts_list", addReSteemToggleBtn);

    function addReSteemToggleBtn(userDiv) {

        var validUrl = document.URL.replace("https://steemit.com/","");

        if ((userDiv !== null) && (validUrl.startsWith("@")) && ((validUrl.indexOf("/")==-1) || (validUrl.endsWith("/feed"))) ) {

            isHiding = false;
            var zNode       = document.createElement ('div');
            zNode.innerHTML = '<button id="rsButton" type="button"><img id="rsBtnImg" src="https://steemitimages.com/DQmQYXHkLv4A3h8pZ1ntQM1FTTT6knt5EaVUo7hdj2nNAcR/button_hide-resteems.png"></button>';
            zNode.setAttribute ('id', 'rsContainer');
            zNode.setAttribute ('style', 'width:120px; margin-bottom:5px;');
            userDiv.prepend(zNode);

            //activate new button
            document.getElementById ("rsButton").addEventListener (
                "click", ButtonClickAction, false);

            function ButtonClickAction (zEvent) {
                if (!isHiding) {
                    $("#rsBtnImg").attr('src', 'https://steemitimages.com/DQmaRcPxCKNV45aPVaWMbBkP7WvJatgkKqtih7ZCfVsLs4r/button_show-resteems.png');
                    if (validUrl.endsWith("/feed")) $(".PostSummary__reblogged_by").parent('').hide(); else
                        $(".PostSummary__reblogged_by").filter(function () {return ($(".UserNames",this)[0] == null);}).parent('').hide();
                } else {
                    $("#rsBtnImg").attr('src', 'https://steemitimages.com/DQmQYXHkLv4A3h8pZ1ntQM1FTTT6knt5EaVUo7hdj2nNAcR/button_hide-resteems.png');
                    $(".PostSummary__reblogged_by").parent('').show();
                }
                isHiding = !isHiding;

            }

        }
    }

})();

Where's the "Button"?

After copy/pasting the script above into a new TamperMonkey script, you should be set to go! You'll know you're on the right track when the next STEEMIT profile page you visit looks like this:


before hiding...
hide-resteems1.jpg

AFTER hiding!
hide-resteems2.jpg

TamperMonkey VIDEO HowTo...

For those of you unfamiliar with TamperMonkey, this terrific 2 minute video overview should get you right up to speed:

Finally...

You can also find the script code on github.com: https://github.com/alexpmorris/HideResteems

And on greasyfork.org as well: https://greasyfork.org/en/scripts/31120-hide-resteems

It's always possible I've missed something, so if you have any issues, or even just to share your experience with the "Hide ReSteems" script, please be sure to comment below!


As always, I appreciate your upvote, your follow and all your comments!

Sort:  

Really useful stuff, thanks for sharing Alex! I'd never heard of TamperMonkey before this but it looks like I'll be using it more often starting now :) The TamperMonkey HOW TO vid was a great add too

thanks @theywillkillyou, I'm glad so many people are finding this useful, and also very easy to understand and install! :)

Just a small update here, I've also updated the script to support golos.io as well, along with Russian buttons for non-English users. The latest version 0.13 is available from the github.com or greasyfork.org links described in the article.

For those on steemit who would also like to get more involved on golos.io and possibly cross-post over there as well, definitely check out @mrwang's recent post as well: "You Should Really Consider Posting On Golos Too". He explains how you can get started pretty easily just by using the "en" tag on your posts over there.

Cheers, and enjoy! :)

@alexpmorris & @itchykitten really great job! Thanks for adding this much needed feature to the UI! :)

Just... thank yoy

Great job bud! Gunna check this out and see what can be done 😁

thanks, hope you get some good use out of it! :)

just to let everyone know, I released a slightly newer version 0.11 that properly handles those cases where "Resteemed by" is showing.

Hi @alexpmorris. Thanks very much for writing a script for this much desired blog function. I installed the latest 0.11 version and it works fine!

Is it possible to apply this filter/toggle Resteemed script to our Feed/Home page as well? That way we can see new posts in our feed by users we are following, without the clutter of all their resteems as well.

Hmmm I dunno... why don't you try the latest version 0.12 and let me know how it goes! 😉😁

Gee that was quick! It works just fine too. Brilliant Bro! If I could upvote you like a whale boss I would. Resteemed and following you. Thanks!!

Thanks @cupid for the kind words - it was a good suggestion, for some reason I kind of "forgot" resteems were also being shown on feed as well! lol

Anyway, hope you get some great use out of it! :)

Just a warning: Always be very careful with chrome plugins / tampermonkey scripts /whatever ... these things have way more access rights then they should have! I know, because if written some shit to mess with colleagues at work (all in good fun) .... seriously .... be careful

that's always an excellent warning. it's why I tried to keep the script as simple as possible so it's easy enough for people to follow and understand, if they're so inclined to do so.

You know what you are, @alexpmorris?

That's right: you're THE man!

This has been one of main annoyances when using Steemit: how can I quickly spot just the posts authored by a specific Steemonian? Those Resteems really clutter the view.

I had never heard of TamperMonkey, and I'm by no means a coder, but the vid tutorial was simple and straight forward, and look at my interface now:

2017-07-04_1832.png

Boom!

Muchos gracias.

thanks @livenowandwow for the great comment! Happy to see that it was so easy for you to install and get going, especially given you've never even heard of TamperMonkey!

Also hope you'll get lots of good use out of the new "toggle" button! I know I have, and I'm even surprised by how often I now find myself using it as well! :)

You're welcome!

Been using it heavily so far. How did I ever live without it?

I love userscripts! Thanks for this share, this is great!

thank you for your kind words, and I hope you also find it very useful! I know I'm already finding it more useful than even I first realized! :)

sometimes I just want to see the person own's original contents so can determine to follow them to later upvote depending on the quality of their work and active they are to the community. thanx for the video how-to

I've heard that so many times I couldn't even tell you, and that doesn't include the times I've said it to myself! lol

hope it works well for you! :)

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.030
BTC 56519.24
ETH 2991.31
USDT 1.00
SBD 2.16