Read Later Limitations · 10:35pm Sep 11th, 2012
It's a sad limitation or maybe even a bug that, if you want to search in your ReadItLater-list with the search box, you begin browsing all of the stories. I noticed, however, that a simple "&read_it_later" in the url filters the results again to your read it later list.
The workaround is easy. It could be done with one little line of html. So I've written a little Greasemonkey script that just adds this line of html, and voilá! You can search the ReadItLater-list!
The code is below, use it if you want, and if you find it, it's not like anyone is watching me XD
EDIT: I had to edit it a bit to accomodate the changes knighty made to the search box, and decided to just use jQuery. It's easier.
EDIT2: I modified the script further to change the navigation more to my personal liking. 'Read Later' now only shows unread stories, and the 'Mark All Read' button gets deleted (Why is this there, anyway?). Also, I had to rename a variable, because I don't know how to escape BBCode...
EDIT3: Made some addtional modifications/bugfixes, as well as made the smiley box scrollable for extra icons
EDIT4: If the active page is that of a story, then always show the full description without having to click on "more"
EDIT5: After the latest update, it is no longer possible to filter the read later list after unread stories, and the switch in the URL that my script added actually showed now an empty list, so I had to remove the option
EDIT6: Searching in the Read Later List is now possible without this script, but it has other features than that, so I'm keeping it
EDIT7: Following the new Layout, I've had to make some changes to get everything working again
// ==UserScript==
// @name FiMFiction Enhancer
// @namespace tiger
// @include http://www.fimfiction.net/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js
// @grant none
// ==/UserScript==
function URLParamExists(param) {
var questPos = window.location.href.indexOf("?");
if (questPos < 0) return false;
var keyvalues = window.location.href.substr(questPos).split("&");
for (var j = 0; j < keyvalues.length; j++) {
var p = keyvalues[j].split("=");
if (p[0].toLowerCase() == param.toLowerCase()) return true;
}
return false;
}
$(document).ready(function() {
// if in read later list, enable searching in it
//if (URLParamExists('read_it_later')) {
// var $tag = $('<input type="hidden" name="read_it_later" value="1"/>');
// $('.search_options form').append($tag);
//}
// Make Read Later-Button show entries ordered by update (filtering only unread stories is no longer possible)
// Might make a AJAX workaround later...
var $link = $(".user_toolbar .inner > :nth-child(4) > a");
$link.attr('href', $link.attr('href') + '&order=updated');
// Move View All Stories-Button to the top of the list like in favorites
var $list = $(".user_toolbar .inner > :nth-child(4) .menu_list");
var $listitem = $('> :last-child', $list);
$list.prepend($listitem);
// Order View All-List after update date
$listitem.attr('href', $listitem.attr('href') + '&order=updated');
// delete mark all read button
$(".user_toolbar :nth-child(5) .menu_list :nth-child(2)").remove();
// Fix position of user avatar images
$(".story_avatar:not(:first) div:not(.calendar)").css('margin-top', 0);
// If Extra Emoticons ("FiMFiction Enhancements") installed, activate Scrollbar that the icons stay inside the panel
$(".emoticons_panel").css('overflow-y', 'scroll');
// if viewing the page of a story, always expand the description
if (window.location.pathname.indexOf("/story/") == 0) {
$('.story .more_button').addClass('description_expanded').hide();
$('.story .description').addClass('description_full');
}
});
I really, really need to learn some code.
103801 Oh hey, someone DID find my post! yay!
But once you understand how code works, it's really easy! Give it a try. Also, feel free to ask questions, that is, if you want to
Nice script, very helpful!
I hated not being able to search my read later list.
244962 Thanks, I'm glad I could help someone besides me with this little script
245204
It'd be great if you could PM instructions on how to do this. I'm do IT at our local high school, but script, I have no clue.
I do everything music and computer related. So if I could learn how to do this, more power to me right? From what your script looks like it does, it could be greatly helpful.
Thanks.
285625 Sure, no problem. I'll post a new blog post about this in a bit.
There, done, you can find it here.