aboutsummaryrefslogtreecommitdiff
path: root/blog/2023-01-05-mass-unlike-tumblr-posts.org
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2023-12-02 11:23:08 -0600
committerChristian Cleberg <hello@cleberg.net>2023-12-02 11:23:08 -0600
commitcaccd81c3eb7954662d20cab10cc3afeeabca615 (patch)
tree567ed10350c1ee319c178952ab6aa48265977e58 /blog/2023-01-05-mass-unlike-tumblr-posts.org
downloadcleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.gz
cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.tar.bz2
cleberg.net-caccd81c3eb7954662d20cab10cc3afeeabca615.zip
initial commit
Diffstat (limited to 'blog/2023-01-05-mass-unlike-tumblr-posts.org')
-rw-r--r--blog/2023-01-05-mass-unlike-tumblr-posts.org87
1 files changed, 87 insertions, 0 deletions
diff --git a/blog/2023-01-05-mass-unlike-tumblr-posts.org b/blog/2023-01-05-mass-unlike-tumblr-posts.org
new file mode 100644
index 0000000..b335846
--- /dev/null
+++ b/blog/2023-01-05-mass-unlike-tumblr-posts.org
@@ -0,0 +1,87 @@
++++
+date = 2023-01-05
+title = "How to Easily Mass Unlike Tumblr Posts With Javascript"
+description = "A quick Javascript snippet that allows you to quickly unlike your Tumblr likes."
++++
+
+## 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`.
+
+```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>
+```
+
+### Running a Script to Unlike All Likes
+
+To run this script, you will need to load the [Likes |
+Tumblr](https://www.tumblr.com/likes) 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):
+
+![Firefox Dev
+!Tools](https:///img.0x4b1d.org/blog/20230105-mass-unlike-tumblr-posts/dev_console.png "Firefox Dev Tools")
+
+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.
+
+```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();
+}
+```
+
+## 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.
+
+![Script
+!Results](https:///img.0x4b1d.org/blog/20230105-mass-unlike-tumblr-posts/script_results.png "Script Results")
+
+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.