Fork me on GitHub » code
grabcartoons » code

Grab your fix of the funnies

Download version 2.8.4

GrabCartoons is a comic-summarizing utility. It is modular, and it is very easy to write modules for new comics.

You can see a sample of grabcartoons output here.

Available comics

Here's the list of comics for which we currently have modules:


Grabcartoons also includes templates that allow you to fetch any comic from a given site. At the moment we have the following templates:

$ --templates
Templates defined:	Comics hosted at	Comics hosted at	Comics hosted at	Comics hosted at

To fetch a comic using a module, simply use template:comic as the specification in the command line. name can be any unique part of the title of the comic you want.


Basic usage example:

$ sinfest xkcd savage_chickens > output.html
And then open output.html in your web browser.

Full set of options:

$ -h
GrabCartoons version 2.8.4
Usage: ./ [ options ] [ comic_id ...]
    --all       or -a  generate a page with all the known comics on stdout.
    --list [t:] or -l  produce a list of the known comic_id's on stdout. If
                       t: is given, the list of comics from the given template
                       is produced.
    --htmllist [t:]    produce HTML list of known comic_id's on stdout. If
                       t: is given, the list of comics from the given template
                       is produced.
    --file     or -f   read list of comics from specified file.
    --random n         select n comics at random (they will be output after
                       any other comics requested)
    --write    or -w   write output to specified file instead of stdout.
    --version  or -V   print version number
    --verbose  or -v   be verbose
    --help     or -h   print this message.
    --notitles or -t   do not show comic titles (for those that have them)
    --templates        produce a list of defined templates
    --genmodules       for any template specifications (template:comictag),
                       write a snippet to in the directory
                       specified by --genout.
    --genout dir       output directory for generated comics.

By default, it will produce a page with the given comics on stdout.

comic_id can be:
  - Any of the predefined modules (e.g. sinfest, adam_at_home)
  - Of the form 'template:comic title', including quotes if the title has
    spaces (e.g. ' Dog', This will
    generate on the fly a module for the given comic.
  - Of the form 'template:*' or 'template:', which means "all the comics
    from the named template". This can also be passed as argument to
    the --list and --htmllist options to produce the listing from the
    given template instead of from the built-in modules.


If you write any new modules, or have any suggestions, please share them with us! You can post them at the issue tracker, and we will add them to a future release. Or just fork the code in github and then send a pull request.


Diego Zamboni
Benjamin Kuperman


For the latest released version, use the download links at the top of this page.

You can download the latest source code for this project in either zip or tar formats.

You can also clone the project with Git by running:

$ git clone git://