// ==UserScript==
// @name Emelie
// @namespace http://maxberggren.com
// @description Omvandlar skit-metrobloggen till wordpress-xml som den lägger övest. Bara att klistra in i en xml-fil och ladda upp.
// @include http://www.metrobloggen.se/*
// ==/UserScript==
var getElementsByClassName = function (className, tag, elm){
if (document.getElementsByClassName) {
getElementsByClassName = function (className, tag, elm) {
elm = elm || document;
var elements = elm.getElementsByClassName(className),
nodeName = (tag)? new RegExp("\\b" + tag + "\\b", "i") : null,
returnElements = [],
current;
for(var i=0, il=elements.length; i<il; i+=1){
current = elements[i];
if(!nodeName || nodeName.test(current.nodeName)) {
returnElements.push(current);
}
}
return returnElements;
};
}
else if (document.evaluate) {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = "",
xhtmlNamespace = "http://www.w3.org/1999/xhtml",
namespaceResolver = (document.documentElement.namespaceURI === xhtmlNamespace)? xhtmlNamespace : null,
returnElements = [],
elements,
node;
for(var j=0, jl=classes.length; j<jl; j+=1){
classesToCheck += "[contains(concat(' ', @class, ' '), ' " + classes[j] + " ')]";
}
try {
elements = document.evaluate(".//" + tag + classesToCheck, elm, namespaceResolver, 0, null);
}
catch (e) {
elements = document.evaluate(".//" + tag + classesToCheck, elm, null, 0, null);
}
while ((node = elements.iterateNext())) {
returnElements.push(node);
}
return returnElements;
};
}
else {
getElementsByClassName = function (className, tag, elm) {
tag = tag || "*";
elm = elm || document;
var classes = className.split(" "),
classesToCheck = [],
elements = (tag === "*" && elm.all)? elm.all : elm.getElementsByTagName(tag),
current,
returnElements = [],
match;
for(var k=0, kl=classes.length; k<kl; k+=1){
classesToCheck.push(new RegExp("(^|\\s)" + classes[k] + "(\\s|$)"));
}
for(var l=0, ll=elements.length; l<ll; l+=1){
current = elements[l];
match = false;
for(var m=0, ml=classesToCheck.length; m<ml; m+=1){
match = classesToCheck[m].test(current.className);
if (!match) {
break;
}
}
if (match) {
returnElements.push(current);
}
}
return returnElements;
};
}
return getElementsByClassName(className, tag, elm);
};
function htmlEncode(s) {
return s.replace(/&(?!\w+([;\s]|$))/g, "&").replace(/</g, "<").replace(/>/g, ">");
}
var inlaggInnehall = document.getElementsByClassName("inlagg");
var inlaggDatum = document.getElementsByClassName("signatur");
var inlaggPerma = document.getElementsByClassName("lankar");
var inlaggRubbe = document.getElementsByClassName("inlagg");
var inlaggBilder = document.getElementsByTagName("img");
XMLwrapPre = "<item><br /><title>";
XMLwrapEfterTitel = "</title><br /><link>http://cowboyvspirate.wordpress.com/2008/11/29/duoduo/</link><br /><pubDate>Sat, 29 Nov 2008 17:43:49 +0000</pubDate><br /><dc:creator><![CDATA[cowboyvspirate]]></dc:creator><br /><br /><br /><category><![CDATA[Uncategorized]]></category><br /><br /><br /><description></description><br /><content:encoded><![CDATA[";
XMLwrapEnd = "]]></content:encoded><br /><excerpt:encoded><![CDATA[]]></excerpt:encoded><br /><wp:post_id></wp:post_id><br /><wp:post_date></wp:post_date><br /><wp:post_date_gmt></wp:post_date_gmt><br /><wp:comment_status>open</wp:comment_status><br /><wp:ping_status>open</wp:ping_status><br /><wp:post_name>duoduo</wp:post_name><br /><wp:status>publish</wp:status><br /><wp:post_parent>0</wp:post_parent><br /><wp:menu_order>0</wp:menu_order><br /><wp:post_type>post</wp:post_type><br /><wp:post_password></wp:post_password><br /><wp:postmeta><br /><wp:meta_key>_edit_last</wp:meta_key><br /><wp:meta_value>5688304</wp:meta_value><br /></wp:postmeta><br /><wp:postmeta><br /><wp:meta_key>_edit_lock</wp:meta_key><br /><wp:meta_value>1227980632</wp:meta_value><br /></wp:postmeta><br /><br /></item>";
XMLhuvud = "<?xml version="1.0" encoding="UTF-8"?><br /><!-- This is a WordPress eXtended RSS file generated by WordPress as an export of your blog. --><br /><!-- It contains information about your blog's posts, comments, and categories. --><br /><!-- You may use this file to transfer that content from one site to another. --><br /><!-- This file is not intended to serve as a complete backup of your blog. --><br /><br /><!-- To import this information into a WordPress blog follow these steps. --><br /><!-- 1. Log into that blog as an administrator. --><br /><!-- 2. Go to Manage: Import in the blog's admin panels. --><br /><!-- 3. Choose "WordPress" from the list. --><br /><!-- 4. Upload this file using the form provided on that page. --><br /><!-- 5. You will first be asked to map the authors in this export file to users --><br /><!-- on the blog. For each author, you may choose to map to an --><br /><!-- existing user on the blog or to create a new user --><br /><!-- 6. WordPress will then import each of the posts, comments, and categories --><br /><!-- contained in this file into your blog --><br /><br /><!-- generator="WordPress/MU" created="2008-11-29 17:43"--><br /><rss version="2.0"<br /> xmlns:content="http://purl.org/rss/1.0/modules/content/"<br /> xmlns:wfw="http://wellformedweb.org/CommentAPI/"<br /> xmlns:dc="http://purl.org/dc/elements/1.1/"<br /> xmlns:wp="http://wordpress.org/export/1.0/"<br />><br /><br /><channel><br /> <title>Cowboyvspirate's Blog</title><br /> <link>http://cowboyvspirate.wordpress.com</link><br /> <description>Just another WordPress.com weblog</description><br /> <pubDate>Sat, 29 Nov 2008 17:43:49 +0000</pubDate><br /> <generator>http://wordpress.org/?v=MU</generator><br /> <language>en</language><br /> <wp:wxr_version>1.0</wp:wxr_version><br /> <wp:base_site_url>http://wordpress.com/</wp:base_site_url><br /> <wp:base_blog_url>http://cowboyvspirate.wordpress.com</wp:base_blog_url><br /> <wp:category><wp:category_nicename>uncategorized</wp:category_nicename><wp:category_parent></wp:category_parent><wp:cat_name><![CDATA[Uncategorized]]></wp:cat_name></wp:category><br /> <br /> <br /> <br /> <br /> ";
XMLslut = "<br /><br /></channel></rss>";
//DÖDA DATUM
for(var i=0; i<inlaggDatum.length; i++) { inlaggDatum[i].innerHTML = ""; }
for(var i=0; i<inlaggPerma.length; i++) { inlaggPerma[i].innerHTML = ""; }
for(var i=0; i<inlaggBilder.length; i++) { inlaggBilder[i].src = "" + inlaggBilder[i].src; }
//STOPPA IN EN DIV
main = document.getElementById('topBar');
if (main) {
newElement = document.createElement('div');
main.parentNode.insertBefore(newElement, main);
newElement.innerHTML = "";
newElement.style.margin = '30px';
//STOPPA IN INNEHÅLL I DEN
for(var i=inlaggInnehall.length-1; i>=0; i--) {
//wordData = wordData.replace(/<(SPAN|P|H1|H 2){1}.*?>/i,'');
//data.replace(/<[//]{0,1}(B|b)[^><]*>/g,"");
inlaggInnehall[i].innerHTML = inlaggInnehall[i].innerHTML.replace(/<[//]{0,1}(B|b|div|h3|H3)[^><]*>/g,"");
inlaggRubbe = inlaggInnehall[i];
inlaggRubbe = inlaggRubbe.getElementsByTagName("span");
inlaggRubbe = htmlEncode(inlaggRubbe[0].innerHTML);
inlaggInnehall[i].innerHTML = htmlEncode(inlaggInnehall[i].innerHTML);
inlaggInnehall[i].innerHTML = XMLwrapPre + inlaggRubbe + XMLwrapEfterTitel + inlaggInnehall[i].innerHTML + XMLwrapEnd;
newElement.innerHTML = newElement.innerHTML + inlaggInnehall[i].innerHTML + "<br /><br /><br /><br />";
}
newElement.innerHTML = XMLhuvud + newElement.innerHTML + XMLslut;
}
for(var i=0; i<inlaggInnehall.length; i++) {
inlaggInnehall[i].innerHTML = "FETCHED";
}