Camp-planner: Difference between revisions
Jump to navigation
Jump to search
(New page: Mich hat eigentlich schon immer genervt, dass die Congress/Camp Fahrplanseiten statisch sind. Den Import des Fahrplans in iCals finde ich auch völlig unpraktikabel (unübersichtlich), des...) |
No edit summary |
||
Line 14: | Line 14: | ||
GM_xmlhttpRequest({ | GM_xmlhttpRequest({ | ||
method: 'GET', | method: 'GET', | ||
url: 'https://api.del.icio.us/v1/posts/ | url: 'https://api.del.icio.us/v1/posts/all?tag=camp-planner:goto', | ||
headers: { | headers: { | ||
'User-agent': 'camp-planner (Greasemonkey)', | 'User-agent': 'camp-planner (Greasemonkey)', |
Revision as of 02:01, 13 July 2007
Mich hat eigentlich schon immer genervt, dass die Congress/Camp Fahrplanseiten statisch sind. Den Import des Fahrplans in iCals finde ich auch völlig unpraktikabel (unübersichtlich), deshalb dieses Greasemonkey Skript. Voträge, die man besuchen will bookmarkt man bei del.icio.us und taggt sie mit camp-planner:goto. Das Skript lädt alle Bookmarks mit diesem Tag beim besuchen der Fahrplanseite und markiert die Vorträge :). --PhilFry 01:42, 13 July 2007 (UTC)
// author: phil_fry (dada.asdf AT gmail DOT com) // // ==UserScript== // @name camp-planner // @namespace urn:camp-planner // @include http://events.ccc.de/camp/2007/Fahrplan/day* // ==/UserScript== GM_xmlhttpRequest({ method: 'GET', url: 'https://api.del.icio.us/v1/posts/all?tag=camp-planner:goto', headers: { 'User-agent': 'camp-planner (Greasemonkey)', 'Accept': 'application/atom+xml,application/xml,text/xml', }, onload: function(responseDetails) { var mark = function(urls) { cells = document.getElementsByTagName("td"); for (var cell = null, i=0; cell = cells.item(i); i++) { if (cell.getElementsByTagName("p").length==0) continue; titlep = cell.getElementsByTagName("p").item(0); if (titlep.getAttribute("class")!="title") continue; event_url = titlep.getElementsByTagName("a").item(0).href; if (urls[event_url]) cell.setAttribute("style", "background: #f88"); } } var parser = new DOMParser(); var dom = parser.parseFromString(responseDetails.responseText, "application/xml"); var posts = dom.getElementsByTagName("post"); var event_urls = new Array(); for (var post = null, i = 0; post = posts.item(i); i++) event_urls[post.getAttribute('href')] = true; mark(event_urls); }, });