By Ankit Modi
Has no other scripts.
// ==UserScript==
// @name Comics links to image script
// @namespace Aditya
// @description Grease Monkey user script to show images on comics page
// @include http://*.angadi.org/comics.html
// @include http://angadi.org/comics.html
// @include http://angadi.dnsalias.com*/comics.html
// ==/UserScript==
/*
Author: Aditya Banerjee
Ankit Modi
----Change Log----
v0.4 - Added more comics
v0.3.1 - Modified script to point to the correct table (an additional table for the top message had been inserted causing the script to break)
v0.3 - Added link (with current date) to archives at bottom so that older pages can be viewed
v0.2 - Formatted the images to show up below the title.
Added other domains where the comic site is hosted
v0.1 - Created basic script to replace links with images
*/
window.addEventListener('load',function(){ comics.load(); },true);
var comics = {
load : function(){
//alert('load');
var comicsTable = document.getElementsByTagName('table')[1];
var noRows = comicsTable.rows.length;
//alert(noRows);
var today = new Date();
var day = today.getDate();
var month = today.getMonth()+1;
var year = today.getFullYear();
var Today_Date = (today.getYear()-100).toString();
if (Today_Date.toString().length==1) {
Today_Date = '0' + Today_Date;
}
if (month.toString().length==1) {
Today_Date = Today_Date + '0' + month;
}
else {
Today_Date = Today_Date + month;
}
if (day.toString().length==1) {
Today_Date = Today_Date + '0' + day;
}
else {
Today_Date = Today_Date + day;
}
if (day!=1) day--;
else {
if (month!=3) day = 30;
else day =28
if (month!=1) month--;
else month = 12;
}
if (month.toString().length==1) month = '0' + month;
if (day.toString().length==1) day = '0' + day;
var date = month.toString() + day.toString() + year.toString();
//Enable images for the links
for (i=0;i<noRows;i++){
var strong = comicsTable.rows[i].cells[1].getElementsByTagName('strong')[0];
var br = document.createElement('br');
strong.appendChild(br);
var link = comicsTable.rows[i].cells[1].getElementsByTagName('a')[1];
var img = document.createElement('img');
img.src = link.href;
img.alt = comicsTable.rows[i].cells[1].getElementsByTagName('a')[0].innerHTML;
comicsTable.rows[i].cells[1].replaceChild(img, link);
}
insertCalvin(comicsTable,today);
insertAnimalCrackers(comicsTable,today);
insertDennis(comicsTable,today);
insertHaggar(comicsTable,today);
//Add the archive link
var link = document.createElement('a');
link.href = 'http://www.angadi.org/comics-archive/comics-'+date+'.html';
link.innerHTML = 'Archive';
document.body.appendChild(link);
}
}
function insertHaggar(comicsTable,today) {
var month=today.getMonth()+1;
var day = today.getDate();
var Today_Date = (today.getYear()+1900).toString();
Today_Date += "-";
Today_Date += (month.toString().length%2)?("0" +month.toString()):(month.toString());
Today_Date += "-";
Today_Date += (day.toString().length%2)?("0" +day.toString()):(day.toString());
HaggarImage = "http://cserver.king-online.com/content/Hagar_The_Horrible?date=" + Today_Date + "&referer=http://www.dailyink.com&uid=xvkv6o&token=ukcle6&size=hires";
insertComic(comicsTable,"Haggar the horrible","http://www.kingfeatures.com/features/comics/hagar/about.htm",HaggarImage,7);
}
function insertDennis(comicsTable,today) {
var month=today.getMonth()+1;
var day = today.getDate();
var Today_Date = (today.getYear()+1900).toString();
Today_Date += "-";
Today_Date += (month.toString().length%2)?("0" +month.toString()):(month.toString());
Today_Date += "-";
Today_Date += (day.toString().length%2)?("0" +day.toString()):(day.toString());
DennisImage = "http://cserver.king-online.com/content/Dennis_The_Menace?date=" + Today_Date +"&referer=http://www.dailyink.com&uid=xvkv6o&token=sytlm5&size=hires";
insertComic(comicsTable,"Dennis the menace","http://www.kingfeatures.com/features/comics/dennis/about.htm",DennisImage,7);
}
function insertCalvin(comicsTable,today) {
var month=today.getMonth()+1;
var year = today.getYear()-100;
var day = today.getDate();
var Today_Date = (year.toString().length%2)?("0" +year.toString()):(year.toString());
Today_Date += (month.toString().length%2)?("0" +month.toString()):(month.toString());
Today_Date += (day.toString().length%2)?("0" +day.toString()):(day.toString());
var CalvinImage = "http://images.ucomics.com/comics/ch/"+today.getFullYear().toString()+"/ch"+Today_Date+".gif";
insertComic(comicsTable,"Calvin & Hobbes","http://www.gocomics.com/calvinhobbes/",CalvinImage);
}
function insertAnimalCrackers(comicsTable,today) {
var month=today.getMonth()+1;
var year = today.getYear()-100;
var day = today.getDate();
var Today_Date = (year.toString().length%2)?("0" +year.toString()):(year.toString());
Today_Date += (month.toString().length%2)?("0" +month.toString()):(month.toString());
Today_Date += (day.toString().length%2)?("0" +day.toString()):(day.toString());
var AnimalImage = "http://picayune.uclick.com/comics/tmani/" + (today.getYear()+1900).toString() +"/tmani" + Today_Date + ".gif";
insertComic(comicsTable,"Animal Crackers","http://www.comicspage.com/animalcrackers/",AnimalImage,6);
}
//This function inserts a comic at the position/end of the table
function insertComic(Table,Title,ComicsURL,ImageURL,position) {
if(position==null) {
var NewRow = Table.insertRow(0);
}
else {
var NewRow = Table.insertRow(position);
}
if(NewRow) {
var firstCell = NewRow.insertCell(0);
var secondCell = NewRow.insertCell(1);
firstCell.width="10%";
secondCell.innerHTML="<strong><a href=\"" + ComicsURL + "\">" + Title + "</a>:</strong><br><img src=\""+ImageURL+"\">";
}
}