Skip to content

Instantly share code, notes, and snippets.

@eevmanu
Last active May 24, 2024 17:37
Show Gist options
  • Save eevmanu/446f6666ac9c8c2368e630cdb0b3bc9c to your computer and use it in GitHub Desktop.
Save eevmanu/446f6666ac9c8c2368e630cdb0b3bc9c to your computer and use it in GitHub Desktop.
twitter demetricator script on top of ublock origin extension scriptlets injection feature
/// x.com.js
function twitter_demetricator() {
// inspired by
// https://chrome.google.com/webstore/detail/abcocamcgfjfdcpfopgpadihhbjbdcem
console.log("starting twitter demetricator ...");
const spans = document.querySelectorAll('span[data-testid="app-text-transition-container"]');
spans.forEach(span => {
const firstChildSpan = span.querySelector('span');
if (firstChildSpan) {
const grandsonSpan = firstChildSpan.querySelector('span');
if (grandsonSpan) {
const value = grandsonSpan.innerText;
grandsonSpan.innerText = '';
}
}
});
let aElement = document.querySelector('a[href$="/verified_followers"]');
let firstSpan = aElement.querySelector('span');
let grandsonSpan = firstSpan.querySelector('span');
grandsonSpan.innerHTML = '';
aElement = document.querySelector('a[href$="/following"]');
firstSpan = aElement.querySelector('span');
grandsonSpan = firstSpan.querySelector('span');
grandsonSpan.innerHTML = '';
console.log("finishing twitter demetricator ...");
}
document.addEventListener('keydown', function(event) {
if (event.key === '/') {
twitter_demetricator();
}
});
// do not leave blank spaces in this file, as that would cause an error when the scriptlet is injected into the browser

Important

still works as 2024-05-24 (who knows in the future 🤷‍♂️ 😅)

steps

  • go to advanced settings
  • change userResourcesLocation to a filepath which you can change at your demand and avoid caching, e.g. in linux file://localhost/home/your-username/scriptlets-$(echo "${EPOCHSECONDS}").js
...
   updateAssetBypassBrowserCache false
           userResourcesLocation file://localhost/home/your-username/scriptlets-1700000000.js
  • on file file://localhost/home/your-username/scriptlets-1700000000.js add the content from file scriptlets-1700000000.js here
  • go to my filters
  • add line
! ... lines before (this is a comment line) ...
x.com##+js(x.com.js)
! ... lines after (this is a comment line) ...
  • refresh any site with x.com
  • you should see the change when pressing /

huge inspiration from Twitter Demetricator, thanks for it @bengrosser

ps: I was inspired because of this need 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment