• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 02:20
CEST 08:20
KST 15:20
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt2: News Flash7[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy12ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book20
Community News
Weekly Cups (March 23-29): herO takes triple5Aligulac acquired by REPLAYMAN.com/Stego Research3Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool49Weekly Cups (March 9-15): herO, Clem, ByuN win4
StarCraft 2
General
What mix of new & old maps do you want in the next ladder pool? (SC2) Weekly Cups (March 23-29): herO takes triple Team Liquid Map Contest #22 - Presented by Monster Energy Aligulac acquired by REPLAYMAN.com/Stego Research herO wins SC2 All-Star Invitational
Tourneys
RSL Season 4 announced for March-April Sparkling Tuna Cup - Weekly Open Tournament StarCraft Evolution League (SC Evo Biweekly) WardiTV Mondays World University TeamLeague (500$+) | Signups Open
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
Mutation # 519 Inner Power The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat
Brood War
General
[ASL21] Ro24 Preview Pt2: News Flash BGH Auto Balance -> http://bghmmr.eu/ Pros React To: SoulKey vs Ample ASL21 General Discussion RepMastered™: replay sharing and analyzer site
Tourneys
[ASL21] Ro24 Group D [ASL21] Ro24 Group E [Megathread] Daily Proleagues [ASL21] Ro24 Group C
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers
Other Games
General Games
Starcraft Tabletop Miniature Game Nintendo Switch Thread General RTS Discussion Thread Stormgate/Frost Giant Megathread Darkest Dungeon
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine The Games Industry And ATVI European Politico-economics QA Mega-thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread Formula 1 Discussion Cricket [SPORT] Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 12204 users

TL BW Userscript - Page 5

Forum Index > BW General
Post a Reply
Prev 1 2 3 4 5 6 7 8 9 Next All
WhuazGoodJaggah
Profile Blog Joined January 2009
Lesotho777 Posts
Last Edited: 2011-08-25 01:36:23
August 25 2011 01:36 GMT
#81
On August 25 2011 07:23 jpak wrote:
Show nested quote +
On August 25 2011 02:27 WhuazGoodJaggah wrote:
I added a function to remove all streams except bw streams.
let bw streams rule tl.net MUAHAHAHHAHAH
var let_bw_streams_rule_the_featured_list = function() {
var bwNodes = new Array();

// get all the bw streams
var featuredStreams = nextObject(document.getElementById("nav_streams"));
featuredStreams = nextObject(featuredStreams.firstChild).firstChild.firstChild;
for (var i=0; i < featuredStreams.childNodes.length; i++) {
var node = featuredStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

var moreStreams = document.getElementById("more_streams");
for (var i=0; i < moreStreams.childNodes.length; i++) {
var node = moreStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

// remove all the old featured streams
while (featuredStreams.hasChildNodes()) {
featuredStreams.removeChild(featuredStreams.firstChild);
}

// insert bw streams into the featured streams list
for (var i=0; i < bwNodes.length; i++) {
featuredStreams.appendChild(bwNodes[i]);
featuredStreams.appendChild(document.createElement("br"));
}
}


just insert the function somewhere between other functions (f.e. below move_section) and then call it where the other functions (like move_section) are called.

+ Show Spoiler [full script] +
// ==UserScript==
// @name TLBW
// @description Userscript to make teamliquid more useful for Brood War fans
// @version 2.4
// @include [url=http://teamliquid.net/*]http://teamliquid.net/*[/url]
// @include [url=http://www.teamliquid.net/*]http://www.teamliquid.net/*[/url]
// @exclude [url=http://teamliquid.net/sc2/*]http://teamliquid.net/sc2/*[/url]
// @exclude [url=http://teamliquid.net/store/*]http://teamliquid.net/store/*[/url]
// @exclude [url=http://teamliquid.net/tlfe/*]http://teamliquid.net/tlfe/*[/url]
// @exclude [url=http://teamliquid.net/tournaments/*]http://teamliquid.net/tournaments/*[/url]
// @exclude [url=http://teamliquid.net/vods/*]http://teamliquid.net/vods/*[/url]
// @exclude [url=http://www.teamliquid.net/sc2/*]http://www.teamliquid.net/sc2/*[/url]
// @exclude [url=http://www.teamliquid.net/store/*]http://www.teamliquid.net/store/*[/url]
// @exclude [url=http://www.teamliquid.net/tlfe/*]http://www.teamliquid.net/tlfe/*[/url]
// @exclude [url=http://www.teamliquid.net/tournaments/*]http://www.teamliquid.net/tournaments/*[/url]
// @exclude [url=http://www.teamliquid.net/vods/*]http://www.teamliquid.net/vods/*[/url]
// @run-at document-end
// ==/UserScript==

/* Notes: This should be fully compatible with Firefox (Greasemonkey)/Chrome/Opera.
* Opera users should replace the .user.js extension with just a .js before putting it into the userjs directory.
*
* Changelog:
* 2.4: Changed the link when clicking on the TLPD banner to go directly to the BW TLPD
* 2.3: Fixed the script run time to properly change everything before the page shows up on all 3 browsers
* 2.2: Swapped store and power rank links on the top bar
* Moved around the order in which the default changes take place so more visibly obvious changes occur first (before the page fully loads)
* 2.1: Added all of teamliquid and blacklisted specific pages to run the script on, instead of whitelisting every individual page
* 2.0: Abstracted the section relocation stuff
*/

/* Sections: news, general, sc2, bw, games, blogs, replays, calendar, streams, tlpd, liquipedia, tsl, poll */

// Wrap the script in an anonymous function so Opera doesn't blow up
(function() {

function main() {
var news = new Section("nav_news_left_mid", 1, false);
var general = new Section("nav_general", 1, false);
var sc2 = new Section("nav_starcraft2", 1, false);
var bw = new Section("nav_broodwar", 1, false);
var games = new Section("nav_games", 1, false);
var blogs = new Section("nav_blogs", 1, false);
var replays = new Section("nav_replays", 1, false);

var calendar = new Section("nav_calendar", 2, true);
var streams = new Section("nav_streams", 1, true);
var tlpd = new Section("nav_tlpd", 1, true);
var liquipedia = new Section("nav_wiki", 1, true);
var tsl = new Section("nav_tslforum", 1, true);
var poll = new Section("nav_poll", 1, true);

/* Swap Power Rank and Store */
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") == "/powerrank/") {
links[i].href = "/store/";
links[i].innerHTML = "Store";
}
else if (links[i].getAttribute("href") == "/store/") {
links[i].href = "/powerrank/";
links[i].innerHTML = "Power Rank";
}
}

/* Remove SC2 Elo rank display */
var rank1 = nextObject(document.forms.namedItem("frm_tlpd_search"));
var rank2 = nextObject(rank1);
rank1.parentNode.removeChild(rank1);
rank2.parentNode.removeChild(rank2);

/* Move the Brood War forums above the SC2 forums */
move_section(bw, sc2);

/* Move replays to above poll */
move_section(replays, poll);

/* Remove poll */
remove_section(poll);

/* Only BW streams are important to me */
let_bw_streams_rule_the_featured_list();

/* Move streams to above TSL */
move_section(streams, tsl);

/* Change default tlpd search to BW (Korea) */
document.forms.namedItem("frm_tlpd_search").elements.namedItem("type").children[3].selected = true;
document.getElementById("nav_tlpd").href = "/tlpd/korean";

/* Change liquipedia search to Brood War liquipedia */
for (var i = 0; i < document.forms.length; i++) {
var form = document.forms[i];
if (form.action == "http://wiki.teamliquid.net/starcraft2/index.php")
form.action = "http://wiki.teamliquid.net/starcraft/index.php";
}

}

function Section(id, count, on_right) {
this.on_right = on_right;
this.elements = new Array();

var link = document.getElementById(id);
this.elements.push(link);
for (var x = 0; x < count; x++) {
this.elements.push(nextObject(link));
}
}

var remove_section = function(section) {
for (var x = 0; x < section.elements.length; x++) {
var node = section.elements[x];
node.parentNode.removeChild(node);
}
}

var prepend_section = function(section, location) {
var loc = location.elements[0];
for (var x = 0; x < section.elements.length; x++) {
var node = section.elements[x];
loc.parentNode.insertBefore(node, loc);
}
}

var move_section = function(from, to) {
remove_section(from);
prepend_section(from, to);
}

var let_bw_streams_rule_the_featured_list = function() {
var bwNodes = new Array();

// get all the bw streams
var featuredStreams = nextObject(document.getElementById("nav_streams"));
featuredStreams = nextObject(featuredStreams.firstChild).firstChild.firstChild;
for (var i=0; i < featuredStreams.childNodes.length; i++) {
var node = featuredStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

var moreStreams = document.getElementById("more_streams");
for (var i=0; i < moreStreams.childNodes.length; i++) {
var node = moreStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

// remove all the old featured streams
while (featuredStreams.hasChildNodes()) {
featuredStreams.removeChild(featuredStreams.firstChild);
}

// insert bw streams into the featured streams list
for (var i=0; i < bwNodes.length; i++) {
featuredStreams.appendChild(bwNodes[i];
featuredStreams.appendChild(document.createElement("br"));
}
}

/* Adapted from [url=http://v3.thewatchmakerproject.com/journal/329/]http://v3.thewatchmakerproject.com/journal/329/[/url] */
var nextObject = function(el) {
var n = el;
do n = n.nextSibling;
while (n && n.nodeType != 1);
return n;
}

var previousObject = function(el) {
var p = el;
do p = p.previousSibling;
while (p && p.nodeType != 1);
return p;
}

if (window.opera) {
if (document.readyState==="loading") {
if (window.addEventListener)
window.addEventListener("DOMContentLoaded", main, false);
else if (window.attachEvent)
window.attachEvent("onload", main);
}
else if (document.readyState==="complete") {
main();
}
else {
if (window.addEventListener)
window.addEventListener("load", main, false);
else if (window.attachEvent)
window.attachEvent("onload", main);
}
}
else {
main();
}
})();


when I try the full script, it says an 800A03F4 error with "expected /" on line 94 char 49.

Love the efforts, everyone!!


I uploaded it to userscripts.org, http://userscripts.org/scripts/show/111240.
small dicks have great firepower
insanet
Profile Joined January 2010
Peru439 Posts
August 25 2011 01:44 GMT
#82
this is working great, thank you.
Cambium
Profile Blog Joined June 2004
United States16368 Posts
Last Edited: 2011-08-26 05:25:58
August 25 2011 01:55 GMT
#83
Filtered Calendar (code below)
[image loading]


http://userscripts.org/scripts/show/111242

notes:
- pretty messy, I just wanted it to work
- I removed the toggle button and show all events by default
- so far, only OSL, MSL, SPL and STX are shown, more can be added in isSCBW method by including additional tag
- there's nothing stopping you from adding your favourite SC2 tourneys such as "[GSL] "
- updated on 08/26/2011


// ==UserScript==
// @name calendar fix
// @namespace tl
// @include h__p://www.teamliquid.net/*
// ==/UserScript==
//
//

// show all and hide the toggle
var toggle = document.getElementById( "span_more_events" );
toggle.style.display = "block";
toggle = document.getElementById( "link_show_more_events" );
toggle.style.display = "none";

// 'less' events
var node;
var par;
var parentXPath;
var nodeXPath;
for( i = 1; i <= 5; i++ ) {
nodeXPath = "/html/body/table/tbody/tr/td/table[2]/tbody/tr/td[3]/table/tbody/tr/td/div[2]/table/tbody/tr[" + i + "]/td[2]/a";
node = findXPathNode( nodeXPath );
if( !isSCBW( node ) ){
parentXPath = "/html/body/table/tbody/tr/td/table[2]/tbody/tr/td[3]/table/tbody/tr/td/div[2]/table/tbody/tr[" + i + "]";
par = findXPathNode( parentXPath );
par.style.display = "none";
}
}
// 'more' events
for( i = 1; i <= 15; i++ ){
nodeXPath = "/html/body/table/tbody/tr/td/table[2]/tbody/tr/td[3]/table/tbody/tr/td/div[2]/div[2]/table/tbody/tr[" + i + "]/td[2]/a";
node = findXPathNode( nodeXPath );
if( !isSCBW( node ) ){
parentXPath = "/html/body/table/tbody/tr/td/table[2]/tbody/tr/td[3]/table/tbody/tr/td/div[2]/div[2]/table/tbody/tr[" + i + "]";
par = findXPathNode( parentXPath );
par.style.display = "none";
}
}

function isSCBW( node )
{
var tags = new Array( "[OSL] ", "[MSL] ", "[SPL] ", "[STX] ", "[GC] " ); // GC = Gambit Cup
var str = node.innerHTML;
for (var i in tags) {
if (str.indexOf(tags[i]) != -1) {
return true;
}
}
return false;
}

function findXPathNode(xpath, start,doc)
{
var result = (doc == null ? document : doc).evaluate(xpath,(start == null ? document : start), null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE ,null);
return (result.snapshotLength > 0 ? result.snapshotItem(0) : null);
}
When you want something, all the universe conspires in helping you to achieve it.
WhuazGoodJaggah
Profile Blog Joined January 2009
Lesotho777 Posts
Last Edited: 2011-08-25 02:16:22
August 25 2011 02:10 GMT
#84
niceööö
A little suggestion for isSCBW, to make it easier to add and remove tags
function isSCBW( node )
{
var tags = new Array( "[OSL] ", "[MSL] ", "[SPL] ", "[STX] ", "[GC] " ); // GC = Gambit Cup
var str = node.innerHTML;
for (var i in tags) {
if (str.indexOf(tags[i]) != -1) {
return true;
}
}
return false;
}
small dicks have great firepower
soujiro_
Profile Joined June 2010
Uruguay5195 Posts
August 25 2011 02:14 GMT
#85
On August 25 2011 10:36 WhuazGoodJaggah wrote:
Show nested quote +
On August 25 2011 07:23 jpak wrote:
On August 25 2011 02:27 WhuazGoodJaggah wrote:
I added a function to remove all streams except bw streams.
let bw streams rule tl.net MUAHAHAHHAHAH
var let_bw_streams_rule_the_featured_list = function() {
var bwNodes = new Array();

// get all the bw streams
var featuredStreams = nextObject(document.getElementById("nav_streams"));
featuredStreams = nextObject(featuredStreams.firstChild).firstChild.firstChild;
for (var i=0; i < featuredStreams.childNodes.length; i++) {
var node = featuredStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

var moreStreams = document.getElementById("more_streams");
for (var i=0; i < moreStreams.childNodes.length; i++) {
var node = moreStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

// remove all the old featured streams
while (featuredStreams.hasChildNodes()) {
featuredStreams.removeChild(featuredStreams.firstChild);
}

// insert bw streams into the featured streams list
for (var i=0; i < bwNodes.length; i++) {
featuredStreams.appendChild(bwNodes[i]);
featuredStreams.appendChild(document.createElement("br"));
}
}


just insert the function somewhere between other functions (f.e. below move_section) and then call it where the other functions (like move_section) are called.

+ Show Spoiler [full script] +
// ==UserScript==
// @name TLBW
// @description Userscript to make teamliquid more useful for Brood War fans
// @version 2.4
// @include [url=http://teamliquid.net/*]http://teamliquid.net/*[/url]
// @include [url=http://www.teamliquid.net/*]http://www.teamliquid.net/*[/url]
// @exclude [url=http://teamliquid.net/sc2/*]http://teamliquid.net/sc2/*[/url]
// @exclude [url=http://teamliquid.net/store/*]http://teamliquid.net/store/*[/url]
// @exclude [url=http://teamliquid.net/tlfe/*]http://teamliquid.net/tlfe/*[/url]
// @exclude [url=http://teamliquid.net/tournaments/*]http://teamliquid.net/tournaments/*[/url]
// @exclude [url=http://teamliquid.net/vods/*]http://teamliquid.net/vods/*[/url]
// @exclude [url=http://www.teamliquid.net/sc2/*]http://www.teamliquid.net/sc2/*[/url]
// @exclude [url=http://www.teamliquid.net/store/*]http://www.teamliquid.net/store/*[/url]
// @exclude [url=http://www.teamliquid.net/tlfe/*]http://www.teamliquid.net/tlfe/*[/url]
// @exclude [url=http://www.teamliquid.net/tournaments/*]http://www.teamliquid.net/tournaments/*[/url]
// @exclude [url=http://www.teamliquid.net/vods/*]http://www.teamliquid.net/vods/*[/url]
// @run-at document-end
// ==/UserScript==

/* Notes: This should be fully compatible with Firefox (Greasemonkey)/Chrome/Opera.
* Opera users should replace the .user.js extension with just a .js before putting it into the userjs directory.
*
* Changelog:
* 2.4: Changed the link when clicking on the TLPD banner to go directly to the BW TLPD
* 2.3: Fixed the script run time to properly change everything before the page shows up on all 3 browsers
* 2.2: Swapped store and power rank links on the top bar
* Moved around the order in which the default changes take place so more visibly obvious changes occur first (before the page fully loads)
* 2.1: Added all of teamliquid and blacklisted specific pages to run the script on, instead of whitelisting every individual page
* 2.0: Abstracted the section relocation stuff
*/

/* Sections: news, general, sc2, bw, games, blogs, replays, calendar, streams, tlpd, liquipedia, tsl, poll */

// Wrap the script in an anonymous function so Opera doesn't blow up
(function() {

function main() {
var news = new Section("nav_news_left_mid", 1, false);
var general = new Section("nav_general", 1, false);
var sc2 = new Section("nav_starcraft2", 1, false);
var bw = new Section("nav_broodwar", 1, false);
var games = new Section("nav_games", 1, false);
var blogs = new Section("nav_blogs", 1, false);
var replays = new Section("nav_replays", 1, false);

var calendar = new Section("nav_calendar", 2, true);
var streams = new Section("nav_streams", 1, true);
var tlpd = new Section("nav_tlpd", 1, true);
var liquipedia = new Section("nav_wiki", 1, true);
var tsl = new Section("nav_tslforum", 1, true);
var poll = new Section("nav_poll", 1, true);

/* Swap Power Rank and Store */
var links = document.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
if (links[i].getAttribute("href") == "/powerrank/") {
links[i].href = "/store/";
links[i].innerHTML = "Store";
}
else if (links[i].getAttribute("href") == "/store/") {
links[i].href = "/powerrank/";
links[i].innerHTML = "Power Rank";
}
}

/* Remove SC2 Elo rank display */
var rank1 = nextObject(document.forms.namedItem("frm_tlpd_search"));
var rank2 = nextObject(rank1);
rank1.parentNode.removeChild(rank1);
rank2.parentNode.removeChild(rank2);

/* Move the Brood War forums above the SC2 forums */
move_section(bw, sc2);

/* Move replays to above poll */
move_section(replays, poll);

/* Remove poll */
remove_section(poll);

/* Only BW streams are important to me */
let_bw_streams_rule_the_featured_list();

/* Move streams to above TSL */
move_section(streams, tsl);

/* Change default tlpd search to BW (Korea) */
document.forms.namedItem("frm_tlpd_search").elements.namedItem("type").children[3].selected = true;
document.getElementById("nav_tlpd").href = "/tlpd/korean";

/* Change liquipedia search to Brood War liquipedia */
for (var i = 0; i < document.forms.length; i++) {
var form = document.forms[i];
if (form.action == "http://wiki.teamliquid.net/starcraft2/index.php")
form.action = "http://wiki.teamliquid.net/starcraft/index.php";
}

}

function Section(id, count, on_right) {
this.on_right = on_right;
this.elements = new Array();

var link = document.getElementById(id);
this.elements.push(link);
for (var x = 0; x < count; x++) {
this.elements.push(nextObject(link));
}
}

var remove_section = function(section) {
for (var x = 0; x < section.elements.length; x++) {
var node = section.elements[x];
node.parentNode.removeChild(node);
}
}

var prepend_section = function(section, location) {
var loc = location.elements[0];
for (var x = 0; x < section.elements.length; x++) {
var node = section.elements[x];
loc.parentNode.insertBefore(node, loc);
}
}

var move_section = function(from, to) {
remove_section(from);
prepend_section(from, to);
}

var let_bw_streams_rule_the_featured_list = function() {
var bwNodes = new Array();

// get all the bw streams
var featuredStreams = nextObject(document.getElementById("nav_streams"));
featuredStreams = nextObject(featuredStreams.firstChild).firstChild.firstChild;
for (var i=0; i < featuredStreams.childNodes.length; i++) {
var node = featuredStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

var moreStreams = document.getElementById("more_streams");
for (var i=0; i < moreStreams.childNodes.length; i++) {
var node = moreStreams.childNodes[i];
if (node.nodeName == "A" && node.innerHTML.indexOf("[BW] ") != -1) {
bwNodes.push(node);
}
}

// remove all the old featured streams
while (featuredStreams.hasChildNodes()) {
featuredStreams.removeChild(featuredStreams.firstChild);
}

// insert bw streams into the featured streams list
for (var i=0; i < bwNodes.length; i++) {
featuredStreams.appendChild(bwNodes[i];
featuredStreams.appendChild(document.createElement("br"));
}
}

/* Adapted from [url=http://v3.thewatchmakerproject.com/journal/329/]http://v3.thewatchmakerproject.com/journal/329/[/url] */
var nextObject = function(el) {
var n = el;
do n = n.nextSibling;
while (n && n.nodeType != 1);
return n;
}

var previousObject = function(el) {
var p = el;
do p = p.previousSibling;
while (p && p.nodeType != 1);
return p;
}

if (window.opera) {
if (document.readyState==="loading") {
if (window.addEventListener)
window.addEventListener("DOMContentLoaded", main, false);
else if (window.attachEvent)
window.attachEvent("onload", main);
}
else if (document.readyState==="complete") {
main();
}
else {
if (window.addEventListener)
window.addEventListener("load", main, false);
else if (window.attachEvent)
window.attachEvent("onload", main);
}
}
else {
main();
}
})();


when I try the full script, it says an 800A03F4 error with "expected /" on line 94 char 49.

Love the efforts, everyone!!


I uploaded it to userscripts.org, http://userscripts.org/scripts/show/111240.


thanks for the upload, i was having issues trying to install it
ace hwaiting!!
Cambium
Profile Blog Joined June 2004
United States16368 Posts
August 25 2011 02:15 GMT
#86
On August 25 2011 11:10 WhuazGoodJaggah wrote:
niceööö
A little suggestion for isSCBW, to make it easier to add and remove tags
function isSCBW( node )
{
var tags = new Array( "[OSL] ", "[MSL] ", "[SPL] ", "[STX] ", "[GC] " ); // GC = Gambit Cup
var str = node.innerHTML;
for (var i in tags) {
if (str.indexOf(tags[i]) != -1) {
return true;
}
}
return false;
}

Yep, this is much easier, let me update it.
When you want something, all the universe conspires in helping you to achieve it.
sheaRZerg
Profile Blog Joined June 2009
United States613 Posts
August 25 2011 02:15 GMT
#87
This is awesome.

Thanks to everyone working on it.
"Dude, just don't listen to what I say; listen to what I mean." -Sean Plott
erin[go]bragh
Profile Joined December 2008
United States815 Posts
August 25 2011 02:44 GMT
#88
Amazing! Huge props to everyone working on it! Out of site, out of mind!

Getting rid of SC2 events on the calendar was the biggest thing for me. So hard to find BW event times in the sea of rubbish.

Now if only there were a way to remove posts like "OMG HOPE HE SWITCHES TO SC2 LAWL" in BW threads.
JulyZerg! by.hero, effOrt, KTY.
writer22816
Profile Blog Joined September 2008
United States5775 Posts
August 25 2011 03:04 GMT
#89
Changing the default TLPD search and cleansing the calendar? Wow this is absolutely amazing, can't wait to try this when I get home
8/4/12 never forget, never forgive.
therockmanxx
Profile Joined July 2010
Peru1174 Posts
August 25 2011 03:22 GMT
#90
can you jut make a script to remove sc2 forums ?? =D
Tekken ProGamer
Armathai
Profile Joined October 2007
1023 Posts
August 25 2011 03:44 GMT
#91
Amazing work b0lt! Chill said something about BW TL members needing to step up to help, and you've just done what R1CH doesn't have the time for and made our lives so much easier ^_^ <3 <3

@Cambium

I installed your script too (successfully) but it doesn't appear to be filtering out the SC2 events?
Thanks for the work anyway, hopefully I'll figure out what I'm doing wrong
Looking for ArcticCerebrate formerly from @USEast
4vvhiplash7
Profile Joined December 2010
South Africa392 Posts
August 25 2011 04:42 GMT
#92
On August 25 2011 11:44 erin[go]bragh wrote:
Amazing! Huge props to everyone working on it! Out of site, out of mind!

Getting rid of SC2 events on the calendar was the biggest thing for me. So hard to find BW event times in the sea of rubbish.

Now if only there were a way to remove posts like "OMG HOPE HE SWITCHES TO SC2 LAWL" in BW threads.


That would be amazing! LOL
AttackZerg
Profile Blog Joined January 2003
United States7475 Posts
August 25 2011 04:44 GMT
#93
Thank you guys!
CaucasianAsian
Profile Blog Joined September 2005
Korea (South)11595 Posts
August 25 2011 04:45 GMT
#94
Replays section doesn't show up when i use this extension.
Calendar@ Fish Server: `iOps]..Stark
Cambium
Profile Blog Joined June 2004
United States16368 Posts
August 25 2011 04:53 GMT
#95
On August 25 2011 12:44 Armathai wrote:
Amazing work b0lt! Chill said something about BW TL members needing to step up to help, and you've just done what R1CH doesn't have the time for and made our lives so much easier ^_^ <3 <3

@Cambium

I installed your script too (successfully) but it doesn't appear to be filtering out the SC2 events?
Thanks for the work anyway, hopefully I'll figure out what I'm doing wrong

That's strange, it seems to work for me.

Go to manage scripts --> calendar fix --[right click]-> edit

Do you see the source code in there?
When you want something, all the universe conspires in helping you to achieve it.
soujiro_
Profile Joined June 2010
Uruguay5195 Posts
August 25 2011 04:55 GMT
#96
On August 25 2011 13:45 CaucasianAsian wrote:
Replays section doesn't show up when i use this extension.



replays were moved to the right side, under tsl
ace hwaiting!!
CaucasianAsian
Profile Blog Joined September 2005
Korea (South)11595 Posts
August 25 2011 04:59 GMT
#97
oh ok thank you.
Calendar@ Fish Server: `iOps]..Stark
Sawamura
Profile Blog Joined August 2010
Malaysia7602 Posts
August 25 2011 05:16 GMT
#98
the calendar fix is awesome <3
BW/KT Forever R.I.P KT.Violet dearly missed ..
Cambium
Profile Blog Joined June 2004
United States16368 Posts
August 25 2011 05:22 GMT
#99
To OP:

Instead of looping through all forms, you can simply refer to liquipedia via its XPath:


var bwlpXPath = "/html/body/table/tbody/tr/td/table[2]/tbody/tr/td[3]/table[4]/tbody/tr/td/form";
node = findXPathNode( bwlpXPath );
node.action = "h__p://wiki.teamliquid.net/starcraft/index.php";
When you want something, all the universe conspires in helping you to achieve it.
HaruHaru
Profile Blog Joined November 2009
United States988 Posts
August 25 2011 06:15 GMT
#100
excellent post! this will help so much!
Long live BroodWar!
Prev 1 2 3 4 5 6 7 8 9 Next All
Please log in or register to reply.
Live Events Refresh
Next event in 3h 40m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Nina 152
ProTech94
-ZergGirl 87
StarCraft: Brood War
GuemChi 5343
sSak 102
ggaemo 49
Dewaltoss 36
Bale 34
Shinee 22
Noble 14
Icarus 10
Dota 2
monkeys_forever542
NeuroSwarm122
XcaliburYe102
League of Legends
JimRising 602
Counter-Strike
summit1g8092
Stewie2K717
m0e_tv290
Super Smash Bros
Mew2King87
Other Games
C9.Mang0266
Organizations
Other Games
gamesdonequick784
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• Berry_CruncH27
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Rush1553
Upcoming Events
Sparkling Tuna Cup
3h 40m
Afreeca Starleague
3h 40m
Rush vs PianO
Flash vs Speed
WardiTV Team League
4h 40m
PiGosaur Cup
17h 40m
Replay Cast
1d 2h
Afreeca Starleague
1d 3h
BeSt vs Leta
Queen vs Jaedong
Replay Cast
1d 17h
The PondCast
2 days
OSC
2 days
RSL Revival
3 days
TriGGeR vs Cure
ByuN vs Rogue
[ Show More ]
Replay Cast
3 days
RSL Revival
4 days
Maru vs MaxPax
BSL
4 days
RSL Revival
5 days
uThermal 2v2 Circuit
5 days
BSL
5 days
Replay Cast
6 days
Liquipedia Results

Completed

Acropolis #4 - TS6
WardiTV Winter 2026
NationLESS Cup

Ongoing

BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
RSL Revival: Season 4
Nations Cup 2026
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

CSL Season 20: Qualifier 2
Escore Tournament S2: W1
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
StarCraft2 Community Team League 2026 Spring
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.