diff --git a/README.md b/README.md
index 058196c..39d9a38 100644
--- a/README.md
+++ b/README.md
@@ -19,6 +19,7 @@ Features
* Thumbnail marking - Mark blacklisted thumbnails that have been unhidden so that they are easier to distinguish from other thumbnails.
* Thumbnail controls - Allow control over the blacklist from a blacklisted thumbnail and allow for individual control of each blacklisted thumbnail.
* Smart view - When viewing a blacklisted post, automatically display it if its thumbnail was already unhidden.
+ * Additional bars - Add a blacklist bar to thumbnail sections without it so that blacklist entries can be toggled as needed.
* Added support for wildcards (*), the "or/any" operator (~), nesting/grouping, and additional metatags (ex: score:<0, etc.).
* Multiple options and features for altering post viewing:
* Alternate image swap - Swap between the sample and original image by clicking the image.
diff --git a/better-better-booru.user.js b/better-better-booru.user.js
index 411d1b6..ba6a058 100644
--- a/better-better-booru.user.js
+++ b/better-better-booru.user.js
@@ -3,7 +3,7 @@
// @namespace https://greasyfork.org/scripts/3575-better-better-booru
// @author otani, modified by Jawertae, A Pseudonymous Coder & Moebius Strip.
// @description Several changes to make Danbooru much better. Including the viewing of hidden/censored images on non-upgraded accounts and more.
-// @version 7.0
+// @version 7.1
// @updateURL https://greasyfork.org/scripts/3575-better-better-booru/code/better_better_booru.meta.js
// @downloadURL https://greasyfork.org/scripts/3575-better-better-booru/code/better_better_booru.user.js
// @match http://*.donmai.us/*
@@ -211,13 +211,14 @@ function bbbScript() { // This is needed to make this script work in Chrome.
translation_mode: false
},
options: { // Setting options and data.
- bbb_version: "7.0",
+ bbb_version: "7.1",
alternate_image_swap: newOption("checkbox", false, "Alternate Image Swap", "Switch between the sample and original image by clicking the image. NoteNotes can be toggled by using the link in the sidebar options section."),
arrow_nav: newOption("checkbox", false, "Arrow Navigation", "Allow the use of the left and right arrow keys to navigate pages. NoteThis option has no effect on individual posts."),
autohide_sidebar: newOption("dropdown", "none", "Auto-hide Sidebar", "Hide the sidebar for posts, favorites listings, and/or searches until the mouse comes close to the left side of the window or the sidebar gains focus.TipsBy using Danbooru's hotkey for the letter \"Q\" to place focus on the search box, you can unhide the sidebar.
Use the thumbnail count option to get the most out of this feature on search listings.", {txtOptions:["Disabled:none", "Favorites:favorites", "Posts:post", "Searches:search", "Favorites & Posts:favorites post", "Favorites & Searches:favorites search", "Posts & Searches:post search", "All:favorites post search"]}),
autoscroll_post: newOption("dropdown", "none", "Auto-scroll Post", "Automatically scroll a post to a particular point. Below Header: Scroll the window down until the header is no longer visible or scrolling is no longer possible. Post Content: Position the post content as close as possible to the left and top edges of the window viewport when initially loading a post. Using this option will also scroll past any notices above the content.", {txtOptions:["Disabled:none", "Below Header:header", "Post Content:post"]}),
+ blacklist_add_bars: newOption("checkbox", false, "Additional Bars", "Add a blacklist bar to the comment search listing and individually linked comments so that blacklist entries can be toggled as needed."),
blacklist_highlight_color: newOption("text", "#CCCCCC", "Highlight Color", "When using highlighting for \"thumbnail marking\", you may set the color here. NotesLeaving this field blank will result in the default color being used.
For easy color selection, use one of the many free tools on the internet like this one. Hex RGB color codes (#000000, #FFFFFF, etc.) are the recommended values."),
- blacklist_thumb_controls: newOption("checkbox", false, "Thumbnail Controls", "Allow control over individual blacklisted thumbnails and access to blacklist toggle links from blacklisted thumbnails. DirectionsFor blacklisted thumbnails that have been revealed, hovering over them will reveal a clickable \"x\" icon that can hide them again.
If using the \"hidden\" or \"replaced\" post display options, clicking on the area of a blacklisted thumbnail will pop up a menu that displays what blacklist entries it matches. Clicking the thumbnail area a second time while that menu is open will reveal that single thumbnail.
The menu that pops up on the first click also allows for toggling any listed blacklist entry for the entire page and navigating to the post without revealing its thumbnail. NoteToggling blacklist entries will have no effect on posts that have been changed via their individual controls."),
+ blacklist_thumb_controls: newOption("checkbox", false, "Thumbnail Controls", "Allow control over individual blacklisted thumbnails and access to blacklist toggle links from blacklisted thumbnails. DirectionsFor blacklisted thumbnails that have been revealed, hovering over them will reveal a clickable \"X\" icon that can hide them again.
If using the \"hidden\" or \"replaced\" post display options, clicking on the area of a blacklisted thumbnail will pop up a menu that displays what blacklist entries it matches. Clicking the thumbnail area a second time while that menu is open will reveal that single thumbnail.
The menu that pops up on the first click also allows for toggling any listed blacklist entry for the entire page and navigating to the post without revealing its thumbnail. NoteToggling blacklist entries will have no effect on posts that have been changed via their individual controls."),
blacklist_post_display: newOption("dropdown", "removed", "Post Display", "Set how the display of blacklisted posts in thumbnail listings and the comments section is handled. Removed: The default Danbooru behavior where the posts and the space they take up are completely removed. Hidden: Post space is preserved, but thumbnails are hidden. Replaced: Thumbnails are replaced by \"blacklisted\" thumbnail placeholders.", {txtOptions:["Removed (Default):removed", "Hidden:hidden", "Replaced:replaced"]}),
blacklist_smart_view: newOption("checkbox", false, "Smart View", "When navigating to a blacklisted post by using its thumbnail, if the thumbnail has already been revealed, the post content will temporarily be exempt from any blacklist checks for 1 minute and be immediately visible. NoteThumbnails in the parent/child notices of posts with exempt content will still be affected by the blacklist."),
blacklist_thumb_mark: newOption("dropdown", "none", "Thumbnail Marking", "Mark the thumbnails of blacklisted posts that have been revealed to make them easier to distinguish from other thumbnails. Highlight: Change the background color of blacklisted thumbnails. Icon Overlay: Add an icon to the lower right corner of blacklisted thumbnails.", {txtOptions:["Disabled:none", "Highlight:highlight", "Icon Overlay:icon"]}),
@@ -240,7 +241,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
endless_scroll_limit: newOption("dropdown", 500, "Scroll Limit", "Set the minimum amount of pixels that the window can have left to vertically scroll before it starts appending the next page.", {numList:[0,50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1150,1200,1250,1300,1350,1400,1450,1500]}),
endless_separator: newOption("dropdown", "divider", "Page Separator", "Distinguish pages from each other by marking them with a separator.Marker: Place a thumbnail sized marker before the first thumbnail of each page.Divider: Completely separate pages by placing a horizontal line between them.", {txtOptions:["None:none", "Marker:marker", "Divider:divider"]}),
endless_session_toggle: newOption("checkbox", false, "Session Toggle", "When toggling endless pages on and off, the mode it's toggled to will override the default and persist across other pages in the same browsing session for that tab until it ends."),
- fixed_paginator: newOption("dropdown", "disabled", "Fixed Paginator", "Make the paginator always visible for the favorites, search, pool, notes, and favorite group listings by fixing it to the bottom of the window when it would normally start scrolling out of view. NoteOptions labeled with \"minimal\" will also make the fixed paginator smaller by removing most of the blank space within it.", {txtOptions:["Disabled:disabled", "Endless:endless", "Endless (Minimal):endless minimal", "Normal:normal", "Normal (Minimal):normal minimal", "Always:endless normal", "Always (Minimal):endless normal minimal"]}),
+ fixed_paginator: newOption("dropdown", "disabled", "Fixed Paginator", "Make the paginator always visible for the favorites, search, pool, notes, and favorite group listings by fixing it to the bottom of the window when it would normally start scrolling out of view. Endless: Only change the paginator during endless pages browsing. Normal: Only change the paginator during normal browsing. Always: Change the paginator during normal and endless pages browsing. NoteOptions labeled with \"minimal\" will also make the fixed paginator smaller by removing most of the blank space within it.", {txtOptions:["Disabled:disabled", "Endless:endless", "Endless (Minimal):endless minimal", "Normal:normal", "Normal (Minimal):normal minimal", "Always:endless normal", "Always (Minimal):endless normal minimal"]}),
fixed_sidebar: newOption("dropdown", "none", "Fixed Sidebar", "Make the sidebar never completely vertically scroll out of view for posts, favorites listings, and/or searches by fixing it to the top or bottom of the window when it would normally start scrolling out of view. NoteThe \"auto-hide sidebar\" option will override this option if both try to modify the same page. TipDepending on the available height in the browser window and the Danbooru location being modified, the \"tag scrollbars\", \"collapsible sidebar\", and/or \"remove tag headers\" options may be needed for best results.", {txtOptions:["Disabled:none", "Favorites:favorites", "Posts:post", "Searches:search", "Favorites & Posts:favorites post", "Favorites & Searches:favorites search", "Posts & Searches:post search", "All:favorites post search"]}),
hide_ban_notice: newOption("checkbox", false, "Hide Ban Notice", "Hide the Danbooru ban notice."),
hide_comment_notice: newOption("checkbox", false, "Hide Comment Guide Notice", "Hide the Danbooru comment guide notice."),
@@ -261,12 +262,12 @@ function bbbScript() { // This is needed to make this script work in Chrome.
override_sample: newOption("checkbox", false, "Override Sample Setting", "Allow the \"load sample first\" setting to override the account \"default image width\" setting when logged in. NoteWhen using this option, your Danbooru account settings should have \"default image width\" set to the corresponding value of the \"load sample first\" script setting. Not doing so will cause your browser to always download both the sample and original image. If you often change the \"load sample first\" setting, leaving your account to always load the sample/850px image first is your best option."),
page_counter: newOption("checkbox", false, "Page Counter", "Add a page counter and \"go to page #\" input field near the top of listing pages. NoteThe total number of pages will not be displayed if the pages are using the \"previous & next\" paging system or the total number of pages exceeds the maximum amount allowed by your user account level."),
post_drag_scroll: newOption("checkbox", false, "Post Drag Scrolling", "While holding down left click on a post's content, mouse movement can be used to scroll the whole page and reposition the content.NoteThis option is automatically disabled when translation mode is active."),
- post_link_new_window: newOption("dropdown", "none", "New Tab/Window", "Force post links in the search, pool, popular, favorites, notes, and favorite group listings to open in a new tab/window during normal and/or endless page browsing. NotesWhen this option is active, holding down the control and shift keys while clicking a post link will open the post in the current tab/window.
Whether the post opens in a new tab or a new window depends upon your browser configuration. TipThis option can be useful as a safeguard to keep accidental left clicks from disrupting endless page browsing.", {txtOptions:["Disabled:disabled", "Endless:endless", "Normal:normal", "Always:endless normal"]}),
+ post_link_new_window: newOption("dropdown", "none", "New Tab/Window", "Force post links in the search, pool, popular, favorites, notes, and favorite group listings to open in a new tab/window. Endless: Only use new tabs/windows during endless pages browsing. Normal: Only use new tabs/windows during normal browsing. Always: Use new tabs/windows during normal and endless pages browsing. NotesWhen this option is active, holding down the control and shift keys while clicking a post link will open the post in the current tab/window.
Whether the post opens in a new tab or a new window depends upon your browser configuration. TipThis option can be useful as a safeguard to keep accidental left clicks from disrupting endless pages.", {txtOptions:["Disabled:disabled", "Endless:endless", "Normal:normal", "Always:endless normal"]}),
post_resize: newOption("checkbox", true, "Resize Post", "Shrink large post content to fit the browser window when initially loading a post.NoteWhen logged in, the account's \"fit images to window\" setting will override this option. This behavior can be changed with the \"override resize setting\" option under the preferences tab."),
post_resize_mode: newOption("dropdown", "width", "Resize Mode", "Choose how to shrink large post content to fit the browser window when initially loading a post.", {txtOptions:["Width (Default):width", "Height:height", "Width & Height:all"]}),
post_tag_scrollbars: newOption("dropdown", 0, "Post Tag Scrollbars", "Limit the length of the sidebar tag lists for posts by restricting them to a set height in pixels. For lists that exceed the set height, a scrollbar will be added to allow the rest of the list to be viewed.NoteWhen using \"remove tag headers\", this option will limit the overall length of the combined list.", {txtOptions:["Disabled:0"], numList:[50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000,1050,1100,1150,1200,1250,1300,1350,1400,1450,1500]}),
post_tag_titles: newOption("checkbox", false, "Post Tag Titles", "Change the page titles for posts to a full list of the post tags."),
- quick_search: newOption("dropdown", "disabled", "Quick Search", "Add a new search box to the upper right corner of the window viewport that allows searching through the current thumbnails for specific posts. Fade: Fade all posts that don't match in the thumbnail listing. Remove: Remove all posts that don't match from the thumbnail listing. DirectionsPlease read the \"Thumbnail Matching Rules\" section under the help tab for information about creating searches.
The search starts minimized in the upper right corner. Left clicking the main icon will open and close the search. Right clicking the main icon will completely reset the search. Holding down shift while left clicking the main icon will toggle an active search's pinned status.
While open, the search can be entered/updated in the search box and the pinned status can be toggled by clicking the pushpin icon. If no changes are made to an active search, submitting it a second time will reset the quick search. NotesOptions labeled with \"pinned\" will make searches default to being pinned.
A pinned search will persist across other pages in the same browsing session for that tab until it ends or the search is unpinned.
When not set to disabled, the quick search can be opened by using the \"F\" hotkey. Additionally, an active search can be reset by using \"Shift + F\". Pressing \"escape\" while the quick search is open will close it.", {txtOptions:["Disabled:disabled", "Fade:fade", "Fade (Pinned):fade pinned", "Remove:remove", "Remove (Pinned):remove pinned"]}),
+ quick_search: newOption("dropdown", "disabled", "Quick Search", "Add a new search box to the upper right corner of the window viewport that allows searching through the current thumbnails for specific posts. Fade: Fade all posts that don't match in the thumbnail listing. Remove: Remove all posts that don't match from the thumbnail listing. DirectionsPlease read the \"thumbnail matching rules\" section under the help tab for information about creating searches.
The search starts minimized in the upper right corner. Left clicking the main icon will open and close the search. Right clicking the main icon will completely reset the search. Holding down shift while left clicking the main icon will toggle an active search's pinned status.
While open, the search can be entered/updated in the search box and the pinned status can be toggled by clicking the pushpin icon. If no changes are made to an active search, submitting it a second time will reset the quick search. NotesOptions labeled with \"pinned\" will make searches default to being pinned.
A pinned search will persist across other pages in the same browsing session for that tab until it ends or the search is unpinned.
When not set to disabled, the quick search can be opened by using the \"F\" hotkey. Additionally, an active search can be reset by using \"Shift + F\". Pressing \"Escape\" while the quick search is open will close it.", {txtOptions:["Disabled:disabled", "Fade:fade", "Fade (Pinned):fade pinned", "Remove:remove", "Remove (Pinned):remove pinned"]}),
remove_tag_headers: newOption("checkbox", false, "Remove Tag Headers", "Remove the \"copyrights\", \"characters\", and \"artist\" headers from the sidebar tag list."),
resize_link_style: newOption("dropdown", "full", "Resize Link Style", "Set how the resize links in the post sidebar options section will display. Full: Show the \"resize to window\", \"resize to window width\", and \"resize to window height\" links on separate lines. Minimal: Show the \"resize to window\" (W&H), \"resize to window width\" (W), and \"resize to window height\" (H) links on one line.", {txtOptions:["Full:full", "Minimal:minimal"]}),
script_blacklisted_tags: "",
@@ -278,12 +279,12 @@ function bbbScript() { // This is needed to make this script work in Chrome.
show_shota: newOption("checkbox", false, "Show Shota", "Display shota posts in the search, pool, popular, favorites, comments, notes, and favorite group listings."),
show_toddlercon: newOption("checkbox", false, "Show Toddlercon", "Display toddlercon posts in the search, pool, popular, favorites, comments, notes, and favorite group listings."),
single_color_borders: newOption("checkbox", false, "Single Color Borders", "Only use one color for each thumbnail border."),
- thumb_info: newOption("dropdown", "disabled", "Thumbnail Info", "Display the score(★), favorite count(♥), and rating (S, Q, or E) for a post with its thumbnails. Below: Display the extra information below thumbnails. Hover: Display the extra information upon hovering over a thumbnail's area. NoteExtra information will not be added to the thumbnails in the comments listing since the score and rating are already visible there. Instead, the number of favorites will be added next to the existing score display.", {txtOptions:["Disabled:disabled", "Below:below", "Hover:hover"]}),
+ thumb_info: newOption("dropdown", "disabled", "Thumbnail Info", "Display the score(★), favorite count(♥), and rating (S, Q, or E) for a post with its thumbnail. Below: Display the extra information below thumbnails. Hover: Display the extra information upon hovering over a thumbnail's area. NoteExtra information will not be added to the thumbnails in the comments listing since the score and rating are already visible there. Instead, the number of favorites will be added next to the existing score display.", {txtOptions:["Disabled:disabled", "Below:below", "Hover:hover"]}),
thumbnail_count: newOption("dropdown", 0, "Thumbnail Count", "Change the number of thumbnails that display in the search, favorites, and notes listings.", {txtOptions:["Disabled:0"], numRange:[1,200]}),
- track_new: newOption("checkbox", false, "Track New Posts", "Add a menu option titled \"New\" to the posts section submenu (between \"Listing\" and \"Upload\") that links to a customized search focused on keeping track of new posts.NoteWhile browsing the new posts, the current page of posts is also tracked. If the new post listing is left, clicking the \"new\" link later on will attempt to pull up the posts where browsing was left off at.TipIf you would like to bookmark the new post listing, drag and drop the link to your bookmarks or right click it and bookmark/copy the location from the context menu."),
+ track_new: newOption("checkbox", false, "Track New Posts", "Add a menu option titled \"new\" to the posts section submenu (between \"listing\" and \"upload\") that links to a customized search focused on keeping track of new posts.NoteWhile browsing the new posts, the current page of posts is also tracked. If the new post listing is left, clicking the \"new\" link later on will attempt to pull up the posts where browsing was left off at.TipIf you would like to bookmark the new post listing, drag and drop the link to your bookmarks or right click it and bookmark/copy the location from the context menu."),
status_borders: borderSet(["deleted", true, "#000000", "solid", "post-status-deleted"], ["flagged", true, "#FF0000", "solid", "post-status-flagged"], ["pending", true, "#0000FF", "solid", "post-status-pending"], ["child", true, "#CCCC00", "solid", "post-status-has-parent"], ["parent", true, "#00FF00", "solid", "post-status-has-children"]),
tag_borders: borderSet(["loli", true, "#FFC0CB", "solid"], ["shota", true, "#66CCFF", "solid"], ["toddlercon", true, "#9370DB", "solid"], ["status:banned", true, "#000000", "solid"]),
- thumb_cache_limit: newOption("dropdown", 5000, "Thumbnail Info Cache Limit", "Limit the number of thumbnail information entries cached in the browser.NoteNo actual thumbnails are cached. Only filename information used to speed up the display of hidden thumbnails is stored. Every 1000 entries is approximately equal to 0.1 megabytes of space.", {txtOptions:["Disabled:0"], numList:[1000,2000,3000,4000,5000,6000,7000,8000,9000,10000,11000,12000,13000,14000,15000,16000,17000,18000,19000,20000,21000,22000,23000,24000,25000,26000,27000,28000,29000,30000]}),
+ thumb_cache_limit: newOption("dropdown", 5000, "Thumbnail Info Cache Limit", "Limit the number of thumbnail information entries cached in the browser.NoteNo actual thumbnails are cached. Only filename information used to speed up the display of hidden thumbnails is stored. Every 1000 entries is approximately equal to 0.1 megabytes of space.", {txtOptions:["Disabled:0"], numList:[1000,2000,3000,4000,5000,6000,7000,8000,9000,10000]}),
collapse_sidebar_data: {post: {}, thumb: {}},
track_new_data: {viewed: 0, viewing: 1}
},
@@ -294,7 +295,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
old: ""
},
sections: { // Setting sections and ordering.
- blacklist_options: newSection("general", ["blacklist_post_display", "blacklist_thumb_mark", "blacklist_highlight_color", "blacklist_thumb_controls", "blacklist_smart_view"], "Options"),
+ blacklist_options: newSection("general", ["blacklist_post_display", "blacklist_thumb_mark", "blacklist_highlight_color", "blacklist_thumb_controls", "blacklist_smart_view", "blacklist_add_bars"], "Options"),
border_options: newSection("general", ["custom_tag_borders", "custom_status_borders", "single_color_borders", "border_width", "border_spacing"], "Options"),
browse: newSection("general", ["show_loli", "show_shota", "show_toddlercon", "show_banned", "show_deleted", "thumbnail_count", "thumb_info", "post_link_new_window"], "Post Browsing"),
control: newSection("general", ["load_sample_first", "alternate_image_swap", "image_swap_mode", "post_resize", "post_resize_mode", "post_drag_scroll", "autoscroll_post", "disable_embedded_notes"], "Post Control"),
@@ -342,6 +343,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
var blacklist_post_display = bbb.user.blacklist_post_display;
var blacklist_thumb_mark = bbb.user.blacklist_thumb_mark;
var blacklist_highlight_color = bbb.user.blacklist_highlight_color;
+ var blacklist_add_bars = bbb.user.blacklist_add_bars;
var blacklist_thumb_controls = bbb.user.blacklist_thumb_controls;
var blacklist_smart_view = bbb.user.blacklist_smart_view;
@@ -742,7 +744,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
// Create content.
if (post.file_ext === "swf") // Create flash object.
imgContainer.innerHTML = '
';
else if (post.file_ext === "zip" && /(?:^|\s)ugoira(?:$|\s)/.test(post.tag_string)) { // Create ugoira
var useUgoiraOrig = getVar("original");
@@ -885,7 +887,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
// Create the new post.
var childSpan = document.createElement("span");
- childSpan.innerHTML = '
';
// Prepare thumbnails.
prepThumbnails(childSpan);
@@ -1445,6 +1447,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
large_file_url: "",
preview_file_url: "",
has_large: undefined,
+ has_sound: (imgContainer.getAttribute("data-has-sound") === "true" ? true : false),
id: Number(imgContainer.getAttribute("data-id")),
fav_count: Number(imgContainer.getAttribute("data-fav-count")),
has_children: (imgContainer.getAttribute("data-has-children") === "true" ? true : false),
@@ -1480,7 +1483,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
// Test for the original image file extension if it is unknown.
if (!ext && imgWidth) {
- var testExt = ["jpg", "png", "gif", "jpeg", "webm"];
+ var testExt = ["jpg", "png", "gif", "jpeg", "webm", "mp4"];
for (var i = 0, il = testExt.length; i < il; i++) {
if (isThere("/data/" + md5 + "." + testExt[i])) {
@@ -1512,7 +1515,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
}
}
- imgInfo.has_large = (!isAnimatedImg && ((imgWidth > 850 && ext !== "swf" && ext !== "webm") || isUgoira) ? true : false);
+ imgInfo.has_large = (!isAnimatedImg && ((imgWidth > 850 && ext !== "swf" && ext !== "webm" && ext !== "mp4") || isUgoira) ? true : false);
imgInfo.md5 = md5;
imgInfo.file_ext = ext;
imgInfo.file_url = "/data/" + md5 + "." + ext;
@@ -1554,10 +1557,10 @@ function bbbScript() { // This is needed to make this script work in Chrome.
var img = getId("image", target);
var swfObj = imgContainer.getElementsByTagName("object")[0];
var swfEmb = (swfObj ? swfObj.getElementsByTagName("embed")[0] : undefined);
- var webmVid = imgContainer.getElementsByTagName("video")[0];
+ var video = imgContainer.getElementsByTagName("video")[0];
var ugoira = imgContainer.getElementsByTagName("canvas")[0];
var other = document.evaluate('.//a[starts-with(@href, "/data/")]', imgContainer, null, 9, null).singleNodeValue;
- var el = swfEmb || webmVid || ugoira || img || other;
+ var el = swfEmb || video || ugoira || img || other;
var secondaryEl = swfObj; // Other elements related to the main element. Only applies to flash for now.
return {container: imgContainer, el: el, secEl: secondaryEl};
@@ -1900,7 +1903,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
helpPage.className = "bbb-page";
scrollDiv.appendChild(helpPage);
- helpPage.bbbTextSection('Thumbnail Matching Rules', 'For creating thumbnail matching rules, please consult the following examples:
tag1 - Match posts with tag1.
tag1 tag2 - Match posts with tag1 AND tag2.
-tag1 - Match posts without tag1.
tag1 -tag2 - Match posts with tag1 AND without tag2.
~tag1 ~tag2 - Match posts with tag1 OR tag2.
~tag1 ~-tag2 - Match posts with tag1 OR without tag2.
tag1 ~tag2 ~tag3 - Match posts with tag1 AND either tag2 OR tag3.
Wildcards can be used with any of the above methods:
~tag1* ~-*tag2 - Match posts with tags starting with tag1 or posts without tags ending with tag2.
Multiple match rules can be specified by using commas or separate lines when possible:
tag1 tag2, tag3 tag4 - Match posts with tag1 AND tag2 or posts with tag3 AND tag4.
tag1 ~tag2 ~tag3, tag4 - Match posts with tag1 AND either tag2 OR tag3 or posts with tag4.
Tags can be nested/grouped together by using parentheses coupled with percent signs:
(% ~tag1 ~tag2 %) (% ~tag3 ~tag3 %) - Match posts with either tag1 OR tag2 AND either tag3 OR tag4.
tag1 (% tag2, tag3 tag4 %) - Match posts with tag1 AND tag2 or posts with tag1 AND tag3 AND tag4.
tag1 -(% tag2 tag3 %) - Match posts with tag1 AND without tag2 AND tag3.
tag1 ~tag2 ~(% tag3 tag4 %) - Match posts with tag1 and either tag2 OR tag3 AND tag4.
The following metatags are supported:
rating:safe - Match posts rated safe. Accepted values include safe, explicit, and questionable.
status:pending - Match pending posts. Accepted values include active, pending, flagged, banned, and deleted. Note that flagged posts also count as active posts.
user:albert - Match posts made by the user Albert.
pool:1 - Match posts that are in the pool with an ID number of 1. Accepted values include pool ID numbers, "series" for posts in series category pools, "collection" for posts in collection category pools, "any" for posts in any pool, "none" for posts not in a pool, "active" for posts in an active (not deleted) pool, and "inactive" for posts in an inactive (deleted) pool.
parent:1 - Match posts that have the post with an ID number of 1 as a parent. Accepted values include post ID numbers, "any" for any posts with a parent, and "none" for posts without a parent.
child:any - Match any posts that have children. Accepted values include "any" for any posts with children and "none" for posts without children.
id:1 - Match posts with an ID number of 1.
score:1 - Match posts with a score of 1.
favcount:1 - Match posts with a favorite count of 1.
height:1 - Match posts with a height of 1.
width:1 - Match posts with a width of 1.
The id, score, favcount, width, and height metatags can also use number ranges for matching:
score:<5 - Match posts with a score less than 5.
score:>5 - Match posts with a score greater than 5.
score:<=5 or score:..5 - Match posts with a score equal to OR less than 5.
score:>=5 or score:5.. - Match posts with a score equal to OR greater than 5.
score:1..5 - Match posts with a score equal to OR greater than 1 AND equal to OR less than 5.
');
+ helpPage.bbbTextSection('Thumbnail Matching Rules', 'For creating thumbnail matching rules, please consult the following examples:
tag1 - Match posts with tag1.
tag1 tag2 - Match posts with tag1 AND tag2.
-tag1 - Match posts without tag1.
tag1 -tag2 - Match posts with tag1 AND without tag2.
~tag1 ~tag2 - Match posts with tag1 OR tag2.
~tag1 ~-tag2 - Match posts with tag1 OR without tag2.
tag1 ~tag2 ~tag3 - Match posts with tag1 AND either tag2 OR tag3.
Wildcards can be used with any of the above methods:
~tag1* ~-*tag2 - Match posts with tags starting with tag1 or posts without tags ending with tag2.
Multiple match rules can be specified by using commas or separate lines when possible:
tag1 tag2, tag3 tag4 - Match posts with tag1 AND tag2 or posts with tag3 AND tag4.
tag1 ~tag2 ~tag3, tag4 - Match posts with tag1 AND either tag2 OR tag3 or posts with tag4.
Tags can be nested/grouped together by using parentheses coupled with percent signs:
(% ~tag1 ~tag2 %) (% ~tag3 ~tag3 %) - Match posts with either tag1 OR tag2 AND either tag3 OR tag4.
tag1 (% tag2, tag3 tag4 %) - Match posts with tag1 AND tag2 or posts with tag1 AND tag3 AND tag4.
tag1 -(% tag2 tag3 %) - Match posts with tag1 AND without tag2 AND tag3.
tag1 ~tag2 ~(% tag3 tag4 %) - Match posts with tag1 and either tag2 OR tag3 AND tag4.
The following metatags are supported:
rating:safe - Match posts rated safe. Accepted values include safe, explicit, and questionable.
status:pending - Match pending posts. Accepted values include active, pending, flagged, banned, and deleted. Note that flagged posts also count as active posts.
user:albert - Match posts made by the user Albert.
pool:1 - Match posts that are in the pool with an ID number of 1. Accepted values include pool ID numbers, "series" for posts in series category pools, "collection" for posts in collection category pools, "any" for posts in any pool, "none" for posts not in a pool, "active" for posts in an active (not deleted) pool, and "inactive" for posts not in an any active pools.
parent:1 - Match posts that have the post with an ID number of 1 as a parent. Accepted values include post ID numbers, "any" for any posts with a parent, and "none" for posts without a parent.
child:any - Match any posts that have children. Accepted values include "any" for any posts with children and "none" for posts without children.
id:1 - Match posts with an ID number of 1.
score:1 - Match posts with a score of 1.
favcount:1 - Match posts with a favorite count of 1.
height:1 - Match posts with a height of 1.
width:1 - Match posts with a width of 1.
The id, score, favcount, width, and height metatags can also use number ranges for matching:
score:<5 - Match posts with a score less than 5.
score:>5 - Match posts with a score greater than 5.
score:<=5 or score:..5 - Match posts with a score equal to OR less than 5.
score:>=5 or score:5.. - Match posts with a score equal to OR greater than 5.
score:1..5 - Match posts with a score equal to OR greater than 1 AND equal to OR less than 5.
');
helpPage.bbbTextSection('Hotkeys', 'Posts
B - Open BBB menu.
1 - Resize to window.
2 - Resize to window width.
3 - Resize to window height.
4 - Reset/remove resizing.
Note: Numbers refer to the main typing keypad and not the numeric keypad.
General
B - Open BBB menu.
E - Toggle endless pages.
F - Open quick search.
Shift + F - Reset quick search.
');
helpPage.bbbTextSection('Questions, Suggestions, or Bugs?', 'If you have any questions, please use the Greasy Fork feedback forums located here. If you\'d like to report a bug or make a suggestion, please create an issue on GitHub here.');
helpPage.bbbTocSection();
@@ -2298,7 +2301,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
helpButton.href = "#";
helpButton.innerHTML = "Help";
helpButton.className = "bbb-border-button";
- helpButton.bbbSetTip("Enabled: When checked, the border will be applied. When unchecked, it won't be applied.Status/Tags: Describes the posts that the border should be applied to. For custom tag borders, you may specify the rules the post must match for the border to be applied. Please read the \"Thumbnail Matching Rules\" section under the help tab for information about creating rules.Color: Set the color of the border. Hex RGB color codes (#000000, #FFFFFF, etc.) are the recommended values.Style: Set how the border looks. Please note that double only works with a border width of 3 or higher.Move: Move the border to a new position. Higher borders have higher priority. In the event of a post matching more than 4 borders, the first 4 borders get applied and the rest are ignored. If single color borders are enabled, only the first matching border is applied.Preview: Display a preview of the border's current settings.Delete: Remove the border and its settings.New: Create a new border.");
+ helpButton.bbbSetTip("Enabled: When checked, the border will be applied. When unchecked, it won't be applied.Status/Tags: Describes the posts that the border should be applied to. For custom tag borders, you may specify the rules the post must match for the border to be applied. Please read the \"thumbnail matching rules\" section under the help tab for information about creating rules.Color: Set the color of the border. Hex RGB color codes (#000000, #FFFFFF, etc.) are the recommended values.Style: Set how the border looks. Please note that double only works with a border width of 3 or higher.Move: Move the border to a new position. Higher borders have higher priority. In the event of a post matching more than 4 borders, the first 4 borders get applied and the rest are ignored. If single color borders are enabled, only the first matching border is applied.Preview: Display a preview of the border's current settings.Delete: Remove the border and its settings.New: Create a new border.");
editSpan.appendChild(helpButton);
var borderSettingsDiv = document.createElement("div");
@@ -2468,7 +2471,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
helpButton.innerHTML = "Help";
helpButton.href = "#";
helpButton.className = "bbb-button";
- helpButton.bbbSetTip("Create copies of your settings that can be used for recovering lost/corrupted settings or transferring settings.DirectionsThere are two options for creating a backup. Creating a text backup will provide a plain text format backup in the area provided that can be copied and saved where desired. Creating a backup page will open a new page that can be saved with the browser's \"save page\" or bookmark options.
To restore a backup, copy and paste the desired backup into the provided area and click \"Restore Backup\".");
+ helpButton.bbbSetTip("Create copies of your settings that can be used for recovering lost/corrupted settings or transferring settings.DirectionsThere are two options for creating a backup. Creating a text backup will provide a plain text format backup in the area provided that can be copied and saved where desired. Creating a backup page will open a new page that can be saved with the browser's \"save page\" or bookmark options.
To restore a backup, copy and paste the desired backup into the provided area and click \"restore backup\".");
rightButtons.appendChild(helpButton);
return sectionFrag;
@@ -2522,7 +2525,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
helpButton.href = "#";
helpButton.className = "bbb-button";
helpButton.style.cssFloat = "right";
- helpButton.bbbSetTip("Hide posts that match the specified tag(s).DirectionsPlease read the \"Thumbnail Matching Rules\" section under the help tab for information about creating matching rules for posts you wish to blacklist. Blank lines will be ignored and are only used for improved readability.
All commas will be converted to new lines and all extra spaces and extra blank lines will be removed the next time the settings are opened. By using the \"Format\" button, you can manually perform this action on the blacklist rules. NoteWhen logged in, the account's \"Blacklisted tags\" list will override this option. This behavior can be changed with the \"override blacklist\" option under the preferences tab.");
+ helpButton.bbbSetTip("Hide posts that match the specified tag(s).DirectionsPlease read the \"thumbnail matching rules\" section under the help tab for information about creating matching rules for posts you wish to blacklist. Blank lines will be ignored and are only used for improved readability.
All commas will be converted to new lines and all extra spaces and extra blank lines will be removed the next time the settings are opened. By using the \"format\" button, you can manually perform this action on the blacklist rules. NoteWhen logged in, the account's \"blacklisted tags\" list will override this option. This behavior can be changed with the \"override blacklist\" option under the preferences tab.");
buttonDiv.appendChild(helpButton);
return sectionFrag;
@@ -2984,6 +2987,11 @@ function bbbScript() { // This is needed to make this script work in Chrome.
bbb.user.override_sample = true;
}
+ case "7.0":
+ // Reduce the maximum thumb cache limit.
+ if (bbb.user.thumb_cache_limit > 10000)
+ bbb.user.thumb_cache_limit = 10000;
+
break;
}
@@ -3030,7 +3038,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
checkUser(bbb.user, bbb.options);
convertSettings("backup");
reloadMenu();
- alert("Backup settings loaded successfully. After reviewing the settings to ensure they are correct, please click \"Save & Close\" to finalize the restore.");
+ alert("Backup settings loaded successfully. After reviewing the settings to ensure they are correct, please click \"save & close\" to finalize the restore.");
}
catch (error) {
if (error instanceof SyntaxError)
@@ -3091,7 +3099,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
else if (showResNot === "all")
showResNot = "sample";
- bbbNotice("Settings updated. The resized notice will now be hidden when viewing original images. You may change this setting under \"Notices\" in the settings panel.", 10);
+ bbbNotice("Settings updated. The resized notice will now be hidden when viewing original images. You may change this setting under \"notices\" in the settings panel.", 10);
}
else { // Sample image.
if (showResNot === "sample")
@@ -3099,7 +3107,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
else if (showResNot === "all")
showResNot = "original";
- bbbNotice("Settings updated. The resized notice will now be hidden when viewing sample images. You may change this setting under \"Notices\" in the settings panel.", 10);
+ bbbNotice("Settings updated. The resized notice will now be hidden when viewing sample images. You may change this setting under \"notices\" in the settings panel.", 10);
}
updateSettings("show_resized_notice", showResNot);
@@ -3260,7 +3268,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
var translateLink = document.getElementById("translate");
var toggleFunction;
- if (post.file_ext !== "webm" && post.file_ext !== "swf") { // Don't allow translation functions on webm videos or flash.
+ if (post.file_ext !== "webm" && post.file_ext !== "mp4" && post.file_ext !== "swf") { // Don't allow translation functions on webm videos or flash.
if (postTag !== "VIDEO") { // Make translation mode work on non-video content.
// Allow the translation note functions if notes aren't locked.
if (document.getElementById("note-locked-notice"))
@@ -3294,7 +3302,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
createHotkey("78", toggleFunction);
}
}
- else if (translateLink) { // If the translate link exists on webm videos or flash, provide a warning.
+ else if (translateLink) { // If the translate link exists on videos or flash, provide a warning.
toggleFunction = function(event) {
bbbNotice('Note editing is not allowed on flash/video content.', -1);
event.preventDefault();
@@ -3325,7 +3333,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
var postTag = (postEl ? postEl.tagName : undefined);
// Stop here for content that doesn't allow note editing.
- if (post.file_ext === "webm" || post.file_ext === "swf" || postTag === "VIDEO")
+ if (post.file_ext === "webm" || post.file_ext === "mp4" || post.file_ext === "swf" || postTag === "VIDEO")
return;
// Save the original note functions.
@@ -3403,12 +3411,12 @@ function bbbScript() { // This is needed to make this script work in Chrome.
}
function fixPostDownloadLinks() {
- // Fix the disabled "size" and "download" links in the sidebar of hidden posts.
+ // Fix the "size" and "download" links in the sidebar.
var post = bbb.post.info;
+ var i, il; // Loop variables.
if (isLoggedIn() && !post.is_hidden)
return;
- var i, il; // Loop variables.
// Fix the "size" link.
var infoSection = document.getElementById("post-information");
@@ -4370,7 +4378,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
function createThumbHTML(post, query) {
// Create a thumbnail HTML string.
- return '';
+ return '';
}
function createThumb(post, query) {
@@ -5006,7 +5014,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
// Warn the user if this is a listing full of hidden posts.
if (bbb.endless.no_thumb_count === 10) {
- bbbNotice("There have been no or very few thumbnails detected in the last 10 retrieved pages. Using endless pages with fill mode on this search could potentially be very slow or stall out completely. If you would like to continue, you may click the \"Load More\" button near the bottom of the page.", -1);
+ bbbNotice("There have been no or very few thumbnails detected in the last 10 retrieved pages. Using endless pages with fill mode on this search could potentially be very slow or stall out completely. If you would like to continue, you may click the \"load more\" button near the bottom of the page.", -1);
endlessPause();
}
else
@@ -5148,7 +5156,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
var blacklistedPosts = document.getElementsByClassName("blacklisted");
var i, il; // Loop variables.
- // Reset sidebar blacklist.
+ // Reset the list or create it as needed.
if (blacklistBox && blacklistList) {
blacklistBox.style.display = "none";
@@ -5163,6 +5171,37 @@ function bbbScript() { // This is needed to make this script work in Chrome.
childIndex++;
}
}
+ else if (blacklist_add_bars) {
+ var target;
+ var before;
+
+ if (gLoc === "comment_search") {
+ target = document.getElementById("a-index");
+
+ if (target)
+ before = target.getElementsByClassName("comments-for-post")[0];
+ }
+ else if (gLoc === "comment") {
+ target = document.getElementById("a-show");
+
+ if (target)
+ before = target.getElementsByClassName("comments-for-post")[0];
+ }
+
+ if (target && before && before.parentNode === target) {
+ blacklistBox = document.createElement("div");
+ blacklistBox.id = "blacklist-box";
+ blacklistBox.className = "bbb-blacklist-box";
+ blacklistBox.style.display = "none";
+ blacklistBox.innerHTML = 'Blacklisted:
Disable all
Re-enable all
';
+
+ blacklistList = getId("blacklist-list", blacklistBox);
+ enableLink = getId("re-enable-all-blacklists", blacklistBox);
+ disableLink = getId("disable-all-blacklists", blacklistBox);
+
+ target.insertBefore(blacklistBox, before);
+ }
+ }
// Reset any blacklist info.
if (bbb.blacklist.entries[0]) {
@@ -5241,9 +5280,6 @@ function bbbScript() { // This is needed to make this script work in Chrome.
newDisableLink.style.display = "inline";
}
- if (blacklistList)
- blacklistList.style.marginBottom = "0.5em";
-
enableLink.parentNode.replaceChild(newEnableLink, enableLink);
disableLink.parentNode.replaceChild(newDisableLink, disableLink);
}
@@ -5716,6 +5752,9 @@ function bbbScript() { // This is needed to make this script work in Chrome.
post.parent_id = post.parent_id || "";
post.pixiv_id = post.pixiv_id || "";
+ // Missing API/data fixes.
+ post.has_sound = (typeof(post.has_sound) === "boolean" ? post.has_sound : /(?:^|\s)(?:video|flash)_with_sound(?:$|\s)/.test(post.tag_string));
+
post.flags = flags.bbbSpaceClean();
post.thumb_class = thumbClass;
@@ -6081,10 +6120,10 @@ function bbbScript() { // This is needed to make this script work in Chrome.
return tag.test(targetTags);
}
- else if (typeof(tag) === "object") { // Check numeric metatags.
- if (tag instanceof Array)
+ else if (typeof(tag) === "object") {
+ if (tag instanceof Array) // Check grouped tags.
return thumbSearchMatch(postInfo, tag);
- else {
+ else { // Check numeric metatags.
var tagsMetaValue = postInfo[tag.tagName];
if (tag.equals !== undefined) {
@@ -6223,14 +6262,14 @@ function bbbScript() { // This is needed to make this script work in Chrome.
}
else if (searchTerm.indexOf("*") > -1) // Prepare wildcard tags as regular expressions.
mode.push(new RegExp(escapeRegEx(searchTerm).replace(/\*/g, "\S*").bbbSpacePad())); // Don't use "\\S*" here since escapeRegEx replaces * with \*. That escape carries over to the next replacement and makes us end up with "\\S*".
- else if (/%\d+%/.test(searchTerm)) {
+ else if (/%\d+%/.test(searchTerm)) { // Prepare grouped tags as a search object.
var groupIndex = Number(searchTerm.match(/\d+/)[0]);
mode.push(createSearch(groups[groupIndex]));
}
else if (typeof(searchTerm) === "string") { // Add regular tags.
if (isMetatag(searchTerm)) {
- var tagObject = searchTerm.split(/:(.+)/);
+ var tagObject = searchTerm.split(/:(.+)/, 2);
var tagName = tagObject[0];
var tagValue = tagObject[1];
@@ -6768,6 +6807,15 @@ function bbbScript() { // This is needed to make this script work in Chrome.
'#sidebar h1, #sidebar h2 {display: inline-block !important;}'; // Inline-block is possible here due to not using display in the previous rule.
}
+ // Additional blacklist bars.
+ if (blacklist_add_bars) {
+ styles += '#blacklist-box.bbb-blacklist-box {margin-bottom: 1em;}' +
+ '#blacklist-box.bbb-blacklist-box ul {display: inline;}' +
+ '#blacklist-box.bbb-blacklist-box li {display: inline; margin-right: 1em;}' +
+ '#blacklist-box.bbb-blacklist-box li a, #blacklist-box.bbb-blacklist-box li span.link {color: #0073FF; cursor: pointer;}' +
+ '#blacklist-box.bbb-blacklist-box li span {color: #AAAAAA;}';
+ }
+
// Blacklist thumbnail display;
if (blacklist_post_display === "removed") {
styles += 'div.post.post-preview.blacklisted {display: block !important;}' + // Comment listing override.
@@ -6792,7 +6840,8 @@ function bbbScript() { // This is needed to make this script work in Chrome.
if (blacklist_thumb_mark === "icon") {
styles += 'article.post-preview:before, div.post.post-preview div.preview:before {content: none !important;}' + // Disable original Danbooru animated overlay.
'article.post-preview.blacklisted a.bbb-thumb-link:after, div.post.post-preview.blacklisted div.preview a.bbb-thumb-link:after {content: "\\A0"; position: absolute; bottom: 0px; right: 0px; height: 20px; width: 20px; line-height: 20px; font-weight: bold; color: #FFFFFF; background: rgba(0, 0, 0, 0.5) url(\'' + bbbBlacklistIcon + '\');}' + // Create blacklist overlay.
- 'article.post-preview[data-tags~="animated"] a.bbb-thumb-link:before, article.post-preview[data-file-ext="swf"] a.bbb-thumb-link:before, article.post-preview[data-file-ext="webm"] a.bbb-thumb-link:before, div.post.post-preview[data-tags~="animated"] div.preview a.bbb-thumb-link:before, div.post.post-preview[data-file-ext="swf"] div.preview a.bbb-thumb-link:before, div.post.post-preview[data-file-ext="webm"] div.preview a.bbb-thumb-link:before {content: "\\25BA"; position: absolute; width: 20px; height: 20px; color: #FFFFFF; background-color: rgba(0, 0, 0, 0.5); line-height: 20px; top: 0px; left: 0px;}' + // Recreate Danbooru animated overlay.
+ 'article.post-preview[data-tags~="animated"] a.bbb-thumb-link:before, article.post-preview[data-file-ext="swf"] a.bbb-thumb-link:before, article.post-preview[data-file-ext="webm"] a.bbb-thumb-link:before, article.post-preview[data-file-ext="mp4"] a.bbb-thumb-link:before, div.post.post-preview[data-tags~="animated"] div.preview a.bbb-thumb-link:before, div.post.post-preview[data-file-ext="swf"] div.preview a.bbb-thumb-link:before, div.post.post-preview[data-file-ext="webm"] div.preview a.bbb-thumb-link:before, div.post.post-preview[data-file-ext="mp4"] div.preview a.bbb-thumb-link:before {content: "\\25BA"; position: absolute; width: 20px; height: 20px; color: #FFFFFF; background-color: rgba(0, 0, 0, 0.5); line-height: 20px; top: 0px; left: 0px;}' + // Recreate Danbooru animated overlay.
+ 'article.post-preview[data-has-sound="true"] a.bbb-thumb-link:before, div.post.post-preview[data-has-sound="true"] div.preview a.bbb-thumb-link:before {content: "\\266A"; position: absolute; width: 20px; height: 20px; color: #FFFFFF; background-color: rgba(0, 0, 0, 0.5); line-height: 20px; top: 0px; left: 0px;}' + // Recreate Danbooru audio overlay.
'article.post-preview.blacklisted a.bbb-thumb-link:after, article.post-preview a.bbb-thumb-link:before, div.post.post-preview.blacklisted div.preview a.bbb-thumb-link:after, div.post.post-preview div.preview a.bbb-thumb-link:before {margin: ' + (border_width + border_spacing) + 'px;}' + // Margin applies to posts with no borders or only a status border.
'article.post-preview.blacklisted a.bbb-thumb-link.bbb-custom-tag:after, article.post-preview a.bbb-thumb-link.bbb-custom-tag:before, div.post.post-preview.blacklisted div.preview a.bbb-thumb-link.bbb-custom-tag:after, div.post.post-preview div.preview a.bbb-thumb-link.bbb-custom-tag:before {margin: ' + border_spacing + 'px;}' + // Margin applies to posts with only a custom border.
'article.post-preview.blacklisted.blacklisted-active a.bbb-thumb-link:after, article.post-preview.blacklisted.blacklisted-active a.bbb-thumb-link:before, div.post.post-preview.blacklisted.blacklisted-active div.preview a.bbb-thumb-link:after, div.post.post-preview.blacklisted.blacklisted-active div.preview a.bbb-thumb-link:before {content: none;}' + // Don't display when actively blacklisted.
@@ -7161,7 +7210,7 @@ function bbbScript() { // This is needed to make this script work in Chrome.
}
function quickSearchReset() {
- // Complete reset the quick search.
+ // Completely reset the quick search.
var filtered = document.getElementsByClassName("bbb-quick-search-filtered");
bbb.quick_search = "";
@@ -8058,14 +8107,14 @@ function bbbScript() { // This is needed to make this script work in Chrome.
return "search";
else if (/^\/notes\/?$/.test(path) && query.indexOf("group_by=note") < 0)
return "notes";
+ else if (/\/comments\/\d+/.test(path))
+ return "comment";
else if (/^\/comments\/?$/.test(path)) {
if (query.indexOf("group_by=comment") < 0)
return "comments";
else // This may need to be more specific in the future.
return "comment_search";
}
- else if (/\/comments\/\d+/.test(path))
- return "comment";
else if (/\/explore\/posts\/popular(?:\/?$|\?)/.test(path))
return "popular";
// else if (/\/explore\/posts\/popular_view(?:\/?$|\?)/.test(path))
diff --git a/changelog.md b/changelog.md
index 57c295c..a502c38 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,10 @@
Changelog
----------
+* Version 7.1:
+ * Added an "additional bars" blacklist option for adding a blacklist bar to thumbnail sections without it.
+ * Updated to support MP4 posts.
+ * Updated the "fixed paginator", "new tab/window", and "pool" metatag help notes.
+ * Updated the "thumbnail info cache limit" with a reduced maximum limit.
* Version 7.0:
* Added a "move save search" layout option for moving the "save this search" button to the sidebar's related section.
* Added a "page counter" option for including a page counter and "go to page" input near the top of listing pages.