Next plugin up (yes, I'm procrastinating before tackling the searchlinks -- I'm still not seeing a good solution for the race condition inherent in doing that in a plugin at reasonable speed): PostGraph.

This plugin creates the two graphs over there in my Archives box; the first style shows all posts since a given start date (or all posts, period); the second, just for the current month, but gives more detail on the exact times -- and is (intended to be) directly compatible with the Movable Type blogtimes plugin.

This plugin requires the GD and GD::Graph modules, because I'm both sane and lazy.

Installation

  1. Verify you have the necessary modules installed; install them if not.
  2. download and unzip the plugin.
  3. Copy the plugin to your plugins directory
  4. Configure the $destination_dir variable; it won't do anything until you do. to be useful, this needs to be a directory Blosxom can write to, that's visible through your webserver.
  5. Add <img src="..../graph.png"> or <img src="..../blogtimes.png"> to one of your template files
  6. Try it out -- load your blog in your browser, look for the graph.
  7. If everything is working, set $debug_level to 0; if not, check your error log to make sure the plugin is being loaded, and see if it's logging any errors
  8. Drop me a note letting me you're using it and how things are working for you.
  9. Enjoy!

Things still to do, maybe:

  • Fix the configuration so the width and height bits are treated the same -- they should both be either for the overall image or for the contained graph, not one one way and the other the other.

The BLOGTIMES-specific code is directly copied from code by Nilesh Chaudhari, but he's not responsible for any bugs I've introduced.

Molelog is using this with the following configuration:

$postgraph::destination_dir = $blosxom::datadir;
$postgraph::graph_start_day = "20030202";
$postgraph::graph_num_bars  = 24;
$postgraph::graph_width     = 200;
$postgraph::graph_height    = 100;
$postgraph::barcolor 	    = "#f5deb3";
$postgraph::bordercolor     = "#83660f";
$postgraph::outlinecolor    = "#83660f";
$postgraph::boxcolor 	    = "#fffbf0";
$postgraph::textcolor 	    = "#4f0000";
$postgraph::bt_width 	    = 165;
$postgraph::bt_height 	    = 30;
$postgraph::bt_linecolor    = '#83660f';
$postgraph::bt_textcolor    = '#4f0000';
$postgraph::bt_fillcolor    = '#f5deb3';
$postgraph::bt_bordercolor  = '#83660f';
$postgraph::bt_padding 	    = 5;
$postgraph::bt_show_text    = 1;
$postgraph::debug_level     = 2;