Greasy Fork is available in English.

Guardian Picture Downloader

Adds a link to The Guardian pages to download images (meant for image series like Eyewitness)

// ==UserScript==
// @name        Guardian Picture Downloader
// @namespace   http://userscripts.org/users/4223
// @description Adds a link to The Guardian pages to download images (meant for image series like Eyewitness)
// @include     http://www.theguardian.com/*
// @include     http://theguardian.co.uk/*
// @version     1
// @grant       GM_log
// ==/UserScript==
//{

var imagesrc = $X("html/head/meta[@property='og:image']");
if(imagesrc){
    var titlenode = $X("//div[@id='main-article-info']/h1");
    titlenode.textContent += " - ";
    var a = titlenode.appendChild(document.createElement("a"));
    a.appendChild(document.createTextNode("Download"));
    a.href = imagesrc.content;
}


function $X(_xpath, node){//to search in a frame, you must traverse it's .contentDocument attribute.
	var doc = (node)?(node.ownerDocument || node):(node = document);
	try{
    	return doc.evaluate(_xpath, node, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).snapshotItem(0);
	}
	catch(e){
		log([e].concat(Array.slice(arguments)));
		return null;
	}
}

function log() {
	var arg;
	switch(arguments.length) {
		case 1:
			arg = arguments[0];
			break;
		case 0:
			arg = null;
			break;
		default:
			arg = Array.slice(arguments);
			break;
	}
	
//	if(JSON && JSON.stringify)
//		arg = JSON.stringify(arg);
	if(typeof(unsafeWindow.console) != "undefined" && typeof(unsafeWindow.console.log) === "function")
		unsafeWindow.console.log(arg);
	else if(typeof(GM_log) === "function")
		GM_log(arg);
	return arg;
}
//}