2008-07-26 Diego M. Zamboni * grabcartoons.pl: Version 2.3 * modules/eightbit.pl: Added modules for goblins (http://goblinscomic.com/) and 8-bit Theather (http://www.nuklearpower.com/). 2008-07-21 Diego M. Zamboni * grabcartoons.pl (get_comic): Added SubstOnRegexResult parameter, to allow replacing strings after obtaining them with the Regex parameter. * modules/user_friendly.pl: Modified to fix the large version of the image. * Added modules for the following comics, all originaly contributed by theyranos@sourceforge: Full Frontal Nerdity (http://nodwick.humor.gamespy.com/ffn) Herman (http://www.comics.com/comics/herman) Applegeeks (http://www.applegeeks.com) Off the Mark (http://www.comics.com/comics/offthemark) Reality Machine (http://realitymachine.net) Nodwick (http://nodwick.humor.gamespy.com/gamespyarchive) 2008-07-21 Diego M. Zamboni * Added modules for the following comics, all contributed by theyranos@sourceforge: Monty (http://www.comics.com/comics/monty) Order of the Stick (http://www.giantitp.com/comics/ootslatest.html) Erfworld (http://www.giantitp.com/comics/erflatest.html) Pearls before Swine (http://www.comics.com/comics/pearls) Sleep Deprivation Theatre (http://drmoose.net) Wally and Osborne (http://wallyandosborne.com/) Atland (http://www.realmofatland.com) Shit Happens (http://www.ruthe.de - in German) 2008-07-21 Diego M. Zamboni * grabcartoons.pl: Version 2.2 2008-07-21 Diego M. Zamboni * modules/choppingblock.pl: Fixed for changes in web page. 2008-07-17 Benjamin Kuperman * modules/adam_at_home.pl, modules/calvin_and_hobbes.pl, modules/cathy.pl, modules/dick_tracy.pl, modules/fifth_wave.pl, modules/foxtrot.pl, modules/garfield.pl, modules/nine_to_five.pl, modules/real_life_adventures.pl, modules/ziggy.pl: Updated to change from "UComics" to "GoComics" * modules/non_sequitur.pl: Changed to be hosted at GoComics.com 2008-05-30 Benjamin Kuperman * modules/little_gamers.pl: Updated for new site layout 2008-05-22 Benjamin Kuperman * modules/dilbert.pl: Switch back to main site, use "fast" page 2008-05-11 Benjamin Kuperman * modules/joy_of_tech.pl: Sometimes they have a letter after the number 2008-04-29 Diego Zamboni * modules/phd.pl: Added TitleRegex field for capturing the comic's title. 2008-04-25 Benjamin Kuperman * modules/sinfest.pl: Search string now includes JPG and PNG 2008-04-25 Diego Zamboni * modules/pVp.pl,modules/toothpastefordinner.pl: Fixed for changes in the web pages. * modules/angst_technology.pl: Removed this module, since the comic is no longer being published. * modules/concerned.pl: Removed this module, since the comic is no longer being published. 2008-04-17 Benjamin Kuperman * modules/dilbert.pl: using the RSS feed as the site now is flash * modules/diesel_sweeties.pl: updated to new alt tag 2008-03-11 Benjamin Kuperman * modules/megatokyo.pl: fixed search for image extension to include png 2008-02-22 Diego Zamboni * modules/ctrlaltdel.pl: Added module for Ctrl+Alt+Del (http://www.ctrlaltdel-online.com/). 2008-01-19 Diego M. Zamboni * modules/smbc.pl: Fixed according to change in web page. 2007-12-04 Benjamin Kuperman * modules/megatokyo.pl: Updated to new URL in page and added rule to grab the title as well. 2007-08-24 Diego Zamboni * modules/getfuzzy.pl: Added module for "Get Fuzzy" (http://www.comics.com/comics/getfuzzy/), contributed by Alan Hoyle. 2007-08-24 Benjamin Kuperman * modules/irregular.pl (get_comic): Now allow optional quotes around height and width values. 2007-08-24 Diego Zamboni * grabcartoons.pl: Version 2.1. 2007-08-23 Diego Zamboni * grabcartoons.pl (get_comic): Added support for TitleRegex field, which allows for capturing a comic title that will be displayed next to the comic name. * grabcartoons.pl (get_comic): Added --notitles option (-t) to supress display of individual comic titles even when the TitleRegex field is defined. * modules/xkcd.pl: Added TitleRegex field. * modules/penny_arcade.pl: Added TitleRegex field. 2007-06-28 Benjamin Kuperman * modules/achewood.pl: Added 'title' information via ExtraImgAttrsRegex 2007-06-15 Diego Zamboni * grabcartoons.pl (get_comic): Added use of the ExtraImgAttrsRegex field, which allows capturing additional attributes for the comic's tag. * modules/xkcd.pl: Added ExtraImgAttrsRegex field to capture xkcd's extended title attributes. * modules/chugworth.pl: Removed module - site has been down for several weeks already. * modules/machall.pl: Fixed for new page format. * modules/redmeat.pl: Fixed for new format of img tag. 2007-06-07 Benjamin Kuperman * modules/schlock_mercenary.pl: added "alt" to for HTML validation. * modules/00grabcartoons_output: added escaping for embedded '&' characters. 2007-06-06 Benjamin Kuperman * modules/00grabcartoons_output.pl, grabcartoons.pl: modified output to have hidden h2 headers included, but not displayed (useful for creating a weekly sheet) * modules/00grabcartoons_output.pl, grabcartoons.pl: began changing output web page to be HTML strict. Now uses CSS, no bare

tags, all img tags should have an alt attribute. * modules/mother_goose.pl: Escaped ampersand (for valid HTML) * modules/achewood.pl: Rolled changes back. Might need to monitor this one. 2007-06-06 Benjamin Kuperman * Updated xkcd.pl and achewood.pl to new page format. 2007-04-29 Diego Zamboni * Version 2.0 * Completely revamped module definition format, it is much simpler now. See the README file for a description of the new format. * New module for Questionable Content (http://questionablecontent.net). * Removed Purdue Exponent module (page does not exist anymore). * Fixed Achewood and Liberty Meadows modules for new page format. 2006-09-11 Diego Zamboni * Version 1.12 * modules/irregular.pl: Removed old version, renamed new version. 2006-09-10 Diego Zamboni * Switched Sourceforge repository from CVS to Subversion. * modules/wondermark.pl: Added module for Wondermark (http://wondermark.com/) * modules/xkcd.pl: Added module for xkcd (http://xkcd.com/). * modules/concerned.pl: Module for "Concerned" (http://hlcomic.com/). * modules/smbc.pl: Added module for "Saturday Morning Break Cereal" (http://smbc-comics.com/). * modules/mother_goose.pl: Updated for new website. * Removed the following modules: helen.pl (comic no longer appears in the web page), Jenny Jetpack (doesn't exist anymore), Dr. Fun (has ceased publication), Legostar Galactica (checks referrer and serves an empty image), Oddly Enough (web site disappeared). 2006-07-10 Benjamin Kuperman * modules/sinfest.pl (get_url_sinfest): Updated to new site layout. 2006-05-20 Benjamin Kuperman * modules/phd.pl (get_url_phd): Changed base url. 2006-03-08 Benjamin Kuperman * modules/goats.pl (get_url_goats): Fix to handle "" around image width and height. 2006-02-10 Benjamin Kuperman * modules/penny_arcade.pl (get_url_penny_arcade): Updated for new page url and image name. 2005-10-10 Benjamin Kuperman * module/legostar_galactica.pl (get_url_legostar_galactica): Updated URL for move from keenspace to comicgen. * modules/irregular2.pl (get_url_irregular2): Updated module to attempt to handle new annotation style. * modules/partiallyclips.pl (get_url_partiallyclips): Added PartiallyClips comic on request from author. 2005-07-17 Diego Zamboni * Version 1.11 * modules/penny_arcade.pl (get_url_penny_arcade): Updated for new page format. * modules/toothpastefordinner.pl (get_url_toothpastefordinner): Added module for http://www.toothpastefordinner.com/. 2005-04-13 Benjamin Kuperman * modules/irregular2.pl (get_url_irregular2): Updated module to take advantage of new block fetching. 2005-04-11 Benjamin Kuperman * modules/exponent.pl (get_url_exponent): Added a module to get the comics from the Purdue student newspaper (http://www.purdueexponent.org/comics/). 2005-04-09 Benjamin Kuperman * modules/schlock_mercenary.pl (get_url_schlock_mercenary): Updated to handle the Sunday edition of the comic (multi-line) 2005-03-09 Benjamin Kuperman * modules/legostar_galactica.pl (get_url_legostar_galactica): Added module for Legostar Galactica (http://legostargalactica.keenspace.com/). * modules/little_gamers.pl (get_url_little_gamers): Allowed for a mix of the new and old image format. 2005-03-06 Diego Zamboni * Version 1.10 * grabcartoons.pl: Allow modules to optionally return a full HTML snippet that gets used to display the comic, instead of a single URL. * modules/00grabcartoons_output.pl (print_section): Made it possible to pass an HTML section that, if provided, is used literally instead of the URL. * modules/chugworth.pl (get_url_chugworth): Added module for Chugworth Academy (http://www.chugworth.com/). * modules/schlock_mercenary.pl (get_url_schlock_mercenary): Modified to return actual HTML snippet instead of the previous hack with the code the assumed only a URL was returned. * modules/fifth_wave.pl (get_url_fifth_wave): Fixed URL. * modules/alien_loves_predator.pl (get_url_alien_loves_predator): Updated to new image URL. 2005-03-06 Benjamin Kuperman * modules/little_gamers.pl (get_url_little_gamers): Updated to new image URL format. * modules/penny_arcade.pl (get_url_penny_arcade): Updated to new image URL format. 2005-01-08 Benjamin Kuperman * modules/diesel_sweeties.pl (get_url_diesel_sweeties): Updated to new image URL format. * modules/dilbert.pl (get_url_dilbert): Updated to new image URL format. 2004-11-12 Diego Zamboni * modules/jenny_jetpack.pl (get_url_jenny_jetpack): Added module for Jenny Jetpack. 2004-10-24 Diego Zamboni * Version 1.9 * modules/alien_loves_predator.pl (get_url_alien_loves_predator): Added module for "Alien Loves Predator" (http://alienlovespredator.com/), contributed by Scott Baker. 2004-06-15 Benjamin Kuperman * modules/irregular.pl: Updated to new domain name. * modules/achewood.pl: Changed for new image link. 2004-05-18 Diego Zamboni * modules/joy_of_tech.pl (get_url_joy_of_tech): Renamed from joyoftech to joy_of_tech to be consistent with other modules, and to preserve the ability of specifying the comic name (with spaces) as an argument. 2004-05-18 Diego Zamboni * Version 1.8 * modules/bizarro.pl: Removed module. * modules/joyoftech.pl (get_url_joyoftech): Fixed to recognize both png and gif images. 2004-04-15 Benjamin Kuperman * modules/diesel_sweeties.pl: updated to new page format * modules/angst_technology.pl: re-enabled 2004-02-21 Diego Zamboni * modules/joyoftech.pl (get_url_joyoftech): Added module for "The Joy of Tech" (http://www.geekculture.com/joyoftech/). 2004-01-12 Benjamin Kuperman * modules/irregular2.pl: New module designed to display the annotations from the "Irregular Webcomic" page. * modules/schlock_mercenary.pl (get_url_schlock_mercenary): New module for Schlock Mercenary (http://www.schlockmercenary.com/). 2003-12-19 Benjamin Kuperman * modules/phd.pl: Modified the module to handle the fact that images may be listed as being on either phdcomic.com or phdcomics.com (which was breaking it). * modules/goats.pl: Modified the module to handle different image extensions. * ChangeLog: Fixed Diego's email in his Nov 03 update. :-) 2003-11-07 Diego Zamboni * Version 1.7 * modules/pVp.pl (get_url_pvp): New module for pVp (http://www.pvponline.com/), contributed by Scott Baker. * modules/00grabcartoons_output.pl (print_header): Patch from Scott Baker to make the output valid HTML 4.01 Transitional. 2003-11-03 Diego Zamboni * modules/dicktracy.pl: Added module contributed by Bill Huff. * modules/ziggy.pl: Added module contributed by Bill Huff. * modules/non_sequitur.pl (get_url_non_sequitur): Updated for new web page. * modules/choppingblock.pl (get_url_choppingblock): Fixed, some URLs were not being caught correctly. * modules/angst_technology.pl (get_url_angst_technology): This comic is currently not being updated. Added a meaningful error message about that. 2003-09-29 Benjamin Kuperman * modules/doonesbury.pl (get_url_dooesbury): Modified the script to handle both gif and jpg images as the weekend ones tend to be the opposite of the weekday ones. * modules/rose_is_rose.pl (get_url_rose_is_rose): Modified the script to handle both gif and jpg images as the weekend ones tend to be the opposite of the weekday ones. * modules/irregular.pl (get_url_irregular): Added module for "Irregular Webcomic" (http://www.dangermouse.net/irregular/). 2003-05-13 Benjamin Kuperman * modules/doonesbury.pl (get_url_dooesbury): Modified the base URL to no longer specify what page (index.htm, index.php, etc.) is being used as it appears to keep changing. 2003-05-07 Benjamin Kuperman * modules/achewood.pl (get_url_achewood): Updated this module to reflect the change from index.html to index.php as well as a new search for the comic within the page. 2003-05-02 Benjamin Kuperman * modules/phd.pl (get_url_phd): Updated this module to reflect the move from Stanford's web domain to their own phdcomics.com domain. 2003-01-19 Diego Zamboni * Version 1.6 * modules/bizarro.pl (get_url_bizarro): Fixed this module to get the comic from its new location at http://www.kingfeatures.com/features/comics/bizarro/about.htm. It seems that the new site does some referrer checking, so that the image grabcartoons gets is a "image not available" message. Maybe I will remove this module in a future version. 2002-08-21 Benjamin Kuperman * modules/little_gamers.pl (get_url_little_gamers): Corrected this module to work with the PHP based system they are now using. * grabcartoons.pl: Added a "-w" and "--write" option to allow output to be sent to a file instead of stdout, submitted by Yanick. * grabcartoons.pl: Added a "-f" and "--file" option to allow the list of comics to be stored in a file instead of being specified on the command line, submitted by Yanick. * modules/kevin_and_kell.pl (get_url_kevin_and_kell): Added module for "Kevin and Kell", contributed by Yanick. * modules/liberty_meadows.pl (get_url_liberty_meadows): Added module for "Liberty Meadows", contributed by Yanick. * modules/sluggy_freelance.pl (get_url_sluggy_freelance): Added module for "Sluggy Freelance", contributed by Yanick. 2002-11-20 Diego Zamboni * grabcartoons.pl: Reworked the options processing code to enable option bundling (for example, "-va" instead of "-v -a"). Changed -V to be an alias for --version and -v to be an alias for --verbose (it was the other way around) because it seems to me that --verbose is a more frequently-used option. 2002-11-19 Diego Zamboni * Version 1.5 * LICENSE: Added file. * grabcartoons.pl (vmsg): Added a --verbose option to print progress messages. * modules/sinfest.pl (get_url_sinfest): Fixed it to fetch the page and extract the comic URL from it, instead of using a fixed format (which, depending on time differences, sometimes resulted in an invalid URL). * modules/non_sequitur.pl (get_url_non_sequitur): Made it fetch the whole page even though the comic URL is fixed. * modules/glasbergen.pl (get_url_glasbergen): Made it fetch the whole page even tough the comic URL is fixed. * modules/real_life_adventures.pl (get_url_real_life_adventures): Added module for "Real Life Adventures", contributed by Nick Adams. * modules/oddly_enough.pl (get_url_oddly_enough): Added module for "Oddly Enough", contributed by Nick Adams. * modules/nine_to_five.pl (get_url_nine_to_five): Added module for "9 to 5" contributed by Nick Adams. * modules/mother_goose.pl (get_url_mother_goose): Added module for "Mother Goose & Grim", contributed by Nick Adams. * modules/garfield.pl (get_url_garfield): Added module for Garfield, contributed by Nick Adams. * modules/cathy.pl (get_url_cathy): Added module for Cathy, contributed by Nick Adams. 2002-10-10 Diego Zamboni * Version 1.4 2002-10-03 Diego Zamboni * modules/non_sequitur.pl: Added module for Non Sequitur (http://www.non-sequitur.com/), contributed by Scott Baker. * modules/bizarro.pl: Added module for Bizarro (http://www.ucomics.com/bizarro/), contributed by Scott Baker. * modules/adam_at_home.pl: Added module for Adam @ Home (http://www.ucomics.com/adamathome/), contributed by Scott Baker. 2002-09-26 Diego Zamboni * modules/glasbergen.pl: Added module for http://www.glasbergen.com/, contributed by Alain Brunet. 2002-08-29 Diego Zamboni * Version 1.3 * grabcartoons.pl: Removed "use strict" 2002-08-28 Diego Zamboni * grabcartoons.pl: Fixed bug in checking $GET_METHOD, which resulted in it having value of 0. Cleaned up options-processing code (removed specific mention of most short options, because GetOptions automatically handles abbreviations; modified code layout a little bit) Added -w, fixed the remaining warnings. 2002-08-21 Benjamin Kuperman * modules/achewood.pl modules/helen.pl modules/goats.pl modules/diesel_sweeties.pl: remove double '/' in image URLs and be sure that there is a '/' at the end of a website URL that does not list a specific page. 2002-08-21 Diego Zamboni * Version 1.2 * modules/00grabcartoons_output.pl (print_header): Removed the timestamp from the page , leaving it only on the <h1> at the top. * modules/sinfest.pl (get_url_sinfest): Fixed a double slash in the image URL that was preventing it from getting fetched correctly. 2002-08-19 Diego Zamboni <zamboni@users.sourceforge.net> * modules/00grabcartoons_output.pl (print_footer): Removed "automatically" from the footer. * grabcartoons.pl: Expanded the list of module directories to include fully-resolved (without symlinks) locations. This should make it OK to link to the grabcartoons binary from somewhere else. Also added code to eliminate duplicates from the list of directories. * Added --version option, rearranged option-handling code, and modified the help text a little bit. Renamed --html option to --htmllist, to have a more descriptive name. 2002-08-19 Diego Zamboni <zamboni@users.sourceforge.net> * Version 1.1 * grabcartoons.pl: Added --html option to produce an HTML list of the comics defined. 2002-08-18 Diego Zamboni <zamboni@users.sourceforge.net> * grabcartoons.pl: Improved command-line option processing, added help option. 2002-08-18 Diego Zamboni <zamboni@users.sourceforge.net> * Version 1.0 * First release on sourceforge.net. 2002-08-16 Benjamin Kuperman <kuperman@users.sourceforge.net> * grabcartoons.pl (fetch_url): Changed syntax to work with older version of LWP::UserAgent. 2002-08-16 Diego Zamboni <zamboni@users.sourceforge.net> * modules/00grabcartoons_output.pl: Moved print_* subroutines from the main program to modules/00grabcartoons_output.pl. This way it's easier to customize the output of the program. * Makefile (install): Added install target, local CERIAS targets. * grabcartoons.pl (fetch_url): Added quotes around the URL when using an external command. * (coolcatstudio.pl): Removed, the comic doesn't seem to be online anymore. (gucomics.pl): Removed, the comic doesn't seem to be online anymore. * grabcartoons.pl (fetch_url,get_line,get_fullpage): Added these three subroutines to make it easier to write new modules. fetch_url($url) grabs a URL and stores it in a local array, and get_line() gets one line at a time. get_fullpage returns the complete page as a single string. Now it also uses LWP::UserAgent if available, instead of an external command. * modules/*: Modified all the existing modules to use fetch_url and get_line instead of running wget directly. 2002-08-15 Benjamin Kuperman <kuperman@users.sourceforge.net> * modules/achewood.pl (get_url_achewood): Added module for Achewood comic (http://www.achewood.com/) * modules/choppingblock.pl (get_url_choppingblock): Added module for "Chopping Block" comic (http://www.choppingblock.org/) * modules/machall.pl (get_url_machall): Added module for Mac Hall comic (http://www.machall.com/) 2002-08-14 Diego Zamboni <zamboni@users.sourceforge.net> * modules/trino.pl: Removed trino.pl, because the web site is no longer up. * modules/doonesbury.pl, modules/goats.pl, modules/helen.pl, modules/megatokyo.pl, modules/penny_arcade.pl: Updates by Ben Kuperman. * modules/redmeat.pl (get_url_redmeat): Added module for Red Meat (http://www.redmeat.com), by Ben Kuperman. * modules/little_gamers.pl (get_url_little_gamers): Added module for Little Gamers (http://www.little-gamers.com), by Ben Kuperman. * modules/diesel_sweeties.pl (get_url_diesel_sweeties): Added module for Diese Sweeties (http://www.dieselsweeties.com), written by Ben Kuperman. * grabcartoons.pl: Added a "generic" first line, so that it will automatically find the perl executable. * Imported into SourceForge. 2001-07-30 Diego Zamboni <zamboni@cerias.purdue.edu> * modules/megatokyo.pl (get_url_megatokyo): Added module for "MegaTokyo" (http://www.megatokyo.com/) by Ben Kuperman. 2001-07-12 Diego Zamboni <zamboni@cerias.purdue.edu> * modules/angst_technology.pl (get_url_angst_technology): Added module for "Angst Technology" (http://www.inktank.com/AT/) by Ben Kuperman. * modules/fifth_wave.pl (get_url_fifth_wave): Added module for "The Fifth Wave" (http://www.ucomics.com/thefifthwave/viewfw.htm) by Ben Kuperman. 2001-06-26 Diego Zamboni <zamboni@cerias.purdue.edu> * modules/coolcatstudio.pl (get_url_coolcatstudio): Added module for "CoolCat Studio" (http://www.coolcatstudio.com/) * modules/gucomics.pl (get_url_gucomics): Added module for "GUcomics" (http://gucomics.everlore.com/), contributed by Ben Kuperman. 2001-06-20 Diego Zamboni <zamboni@cerias.purdue.edu> * modules/penny_arcade.pl (get_url_penny_arcade): Added module for "Penny Arcade" (http://www.penny-arcade.com/). 2001-05-31 Diego Zamboni <zamboni@cerias.purdue.edu> * modules/foxtrot.pl (get_url_foxtrot): foxtrot.com closed down, so I updated the module to get the comic from ucomics.com instead. 2001-05-25 Diego Zamboni <zamboni@cerias.purdue.edu> * grabcartoons.pl: Made -l print the cartoon names in alphabetical order. * modules/calvin_and_hobbes.pl (get_url_calvin_and_hobbes): Added Calvin and Hobbes module. * modules/goats.pl (get_url_goats): New version provided by Ben Kuperman. 2001-03-20 Diego Zamboni <zamboni@cerias.purdue.edu> * grabcartoons.pl: Fixed the HOME and GRABCARTOON_DIRS variables, which were not being imported correctly. Also renamed GRABCARTOON_DIRS to GRABCARTOONS_DIRS, to stay consistent with the name of the program. * modules/phd.pl (get_url_phd): Added phd.pl, for the Piled Higher and Deeper (PhD) cartoon from http://phd.stanford.edu/ * modules/rose_is_rose.pl (get_url_rose_is_rose): Added title. * grabcartoons.pl: Fixed a problem that made the previous cartoon's title stay if a title was not specified by the current module. 2001-02-21 Diego Zamboni <zamboni@cerias.purdue.edu> * First public release. * Major changes from my previous internal version: - Now loads modules from separate files. - Now subroutines can return the full title of the comic.