diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:30:23 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-03-29 01:30:23 -0500 |
commit | 41bd0ad58e44244fe67cb36e066d4bb68738516f (patch) | |
tree | 205e844650144648e58700df2b632c89298904d4 /content/blog/2023-01-05-mass-unlike-tumblr-posts.org | |
parent | 797a1404213173791a5f4126a77ad383ceb00064 (diff) | |
download | cleberg.net-41bd0ad58e44244fe67cb36e066d4bb68738516f.tar.gz cleberg.net-41bd0ad58e44244fe67cb36e066d4bb68738516f.tar.bz2 cleberg.net-41bd0ad58e44244fe67cb36e066d4bb68738516f.zip |
massive re-write from org-publish to weblorg
Diffstat (limited to 'content/blog/2023-01-05-mass-unlike-tumblr-posts.org')
-rw-r--r-- | content/blog/2023-01-05-mass-unlike-tumblr-posts.org | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/content/blog/2023-01-05-mass-unlike-tumblr-posts.org b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org new file mode 100644 index 0000000..8e7574c --- /dev/null +++ b/content/blog/2023-01-05-mass-unlike-tumblr-posts.org @@ -0,0 +1,87 @@ +#+title: How to Easily Mass Unlike Tumblr Posts with Javascript +#+date: 2023-01-05 +#+description: Learn how to unlike Tumblr posts en masse in the browser. +#+filetags: :dev: + +* The Dilemma +The dilemma I had was pretty simple: I wanted to unlike all the posts I +have liked on Tumblr so that I could follow a new focus on blogs and +start fresh. Otherwise, Tumblr will keep recommending content based on +your previous likes. + +* The Solution +I searched the web for a while and noted that most solutions referenced +Tumblr setting and dashboard pages that no longer exist. Additionally, I +did not want to install a third party extension to do this, as some +suggested. + +Luckily, I used Javascript for a while a few years ago and figured it +would be easy enough to script a solution, as long as Tumblr had a +system for the unlike buttons. + +** Identifying Unlike Buttons +Tumblr's unlike buttons are structured as you can see in the following +code block. All unlike buttons have an =aria-label= with a value of +=Unlike=. + +#+begin_src html +<button class="TRX6J" aria-label="Unlike"> + <span class="EvhBA B1Z5w ztpfZ" tabindex="-1"> + <svg xmlns="http://www.w3.org/2000/svg" height="21" width="23" + role="presentation"> + <use href="#managed-icon__like-filled"></use> + </svg> + </span> +</button> +#+end_src + +** Running a Script to Unlike All Likes +To run this script, you will need to load the +[[https://www.tumblr.com/likes][Likes | Tumblr]] page while logged in to +your account. + +Further, be sure to scroll down to the bottom and force Tumblr to load +more posts so that this script unlikes more posts at a time. + +Once you are logged in and the page is loaded, open the Developer Tools +and be sure you're on the "Console" tab. It should look something like +this (this is in Firefox, Chromium should be similar): + +#+caption: Firefox Dev !Tools +[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/dev_console.png]] + +All you need to do is paste the following snippet into the dev console. +This code will collect all unlike buttons (=elements=) and then click +each button to unlike it. + +Optionally, you can comment-out the line =elements[i].click();= and +uncomment the =console.log()= lines to simply print out information +without performing any actions. This can be useful to debug issues or +confirm that the code below isn't doing anything you don't want it to. + +#+begin_src javascript +const elements = document.querySelectorAll('[aria-label="Unlike"]'); +// console.log(elements); // 👉 [button] + +for (let i=0; i < elements.length; i++) { + // console.log(elements[i]); + elements[i].click(); +} +#+end_src + +* Results +The results were quick for my situation, as it unliked ~200 posts within +2-3 seconds. I am not sure how this will perform on larger sets of likes +(or if Tumblr has a limit to unliking posts). + +You can see the below screenshot showing that I pasted the snippet into +the console, pressed Enter, and then the posts are automatically +unliked. + +#+caption: Script !Results +[[https:///img.cleberg.net/blog/20230105-mass-unlike-tumblr-posts/script_results.png]] + +Thinking about this further, I would bet that this would be fairly +simple to package into a browser add-on so that users could install the +add-on, go to their Likes page, and click a button to run the script. +Food for thought. |