All pastes #150076 Raw Edit

Mine

public text v1 · immutable
#150076 ·published 2006-08-26 12:52 UTC
rendered paste body
// ==UserScript==
// @name          Homestar Subtitles Beta
// @namespace     http://www.hrwiki.org/
// @description	  Subtitles for Homestar Runner
// @include       http://homestarrunner.com/*
// @include       http://www.homestarrunner.com/*
// @include       http://podstar.homestarrunner.com/*
// @include       http://videlectrix.com/*
// @include       http://www.videlectrix.com/*
// @include       http://hrwiki.org/mirror/*
// @include       http://www.hrwiki.org/mirror/*
// @include       https://secure.homestarrunner.com/heythanks.html*
// ==/UserScript==

var characterColors = new Object();
var characterNames = new Object();

GM_xmlhttpRequest({
	method: "GET",
	url: "http://www.hrwiki.org/index.php/HRWiki:Subtitles/Characters?action=raw",
	onload: charactersLoaded
});
function charactersLoaded(results)
{
	var parser = new unsafeWindow.DOMParser();
	var text = results.responseText;
	text = text.replace(/^\s+/g, '');
	var doc = parser.parseFromString(text, "application/xml");
	var speakers = doc.getElementsByTagName('speaker');
	for (var i = 0; i < speakers.length; i++)
	{
		var speakername = speakers[i].getAttribute('id');
		characterColors[speakername] = speakers[i].getAttribute('color');
		characterNames[speakername] = new Object();
		var names = speakers[i].getElementsByTagName('name');
		for (var j = 0; j < names.length; j++)
		{
			var lang = names[j].getAttribute('xml:lang');
			characterNames[speakername][lang] = names[j].firstChild.nodeValue;
		}
	}
	
	/* debugging - just print out the stuff */
	while(document.body.firstChild)
		document.body.removeChild(document.body.firstChild);
	for (i in characterColors)
	{
		p = document.createElement('p');
		p.style.color = characterColors[i];
		p.appendChild(document.createTextNode(i + ' - '));
		for (j in characterNames[i])
		{
			p.appendChild(document.createTextNode(j + ': ' + characterNames[i][j] + ' '));
		}
		document.body.appendChild(p);
	}
}