Greasy Fork

Mastodon identicon adder

Apply eyeballs to URIs better.

目前为 2019-07-07 提交的版本。查看 最新版本

// ==UserScript==
// @name         Mastodon identicon adder
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Apply eyeballs to URIs better.
// @author       feonixrift
// @grant        none
// @require      https://cdn.jsdelivr.net/npm/[email protected]
// ==/UserScript==

// Techniques learned from https://openuserjs.org/scripts/nokeya/Direct_links_out/source


(function() {
    'use strict';

    function identicate(link){
        var identicon = document.createElement("svg")
        identicon.setAttribute('data-jdenticon-value', link.href)
        identicon.setAttribute('style', 'width: 48px; height: 48px;')
        link.parentNode.appendChild(identicon, link.parentNode.children[0]);
        jdenticon.update(identicon)
    }

    function alldenticate(){
        var links = document.getElementsByClassName('status__avatar');
        for (var i=0; i<links.length; ++i){
            identicate(links[i])
        }
    }

    document.addEventListener('DOMNodeInserted', function(event){
        if (!event || !event.target || !(event.target instanceof HTMLElement)){
            return;
        }
        var node = event.target;
        if (node instanceof HTMLAnchorElement){
            if (node.classList.contains('status__avatar')){
                identicate(node)
            }
        }
        var links = node.getElementsByClassName('status__avatar');
        for (var i=0; i<links.length; ++i){
            identicate(links[i]);
        }
    }, false);

    console.log('loading')
    alldenticate()
})();