From c0ca3e7a81d0efccde44e827671bf33e559f356d Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Wed, 21 Mar 2012 10:31:35 -0700 Subject: [PATCH] add getsetup hook remove preprocess scan hook; start R during process if needed --- sweavealike.pm | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/sweavealike.pm b/sweavealike.pm index 2989c83..ec6660c 100644 --- a/sweavealike.pm +++ b/sweavealike.pm @@ -32,23 +32,29 @@ use IkiWiki '3.00'; my $id = "sweavealike"; sub import { + hook(type => "getsetup", id => $id, call => \&getsetup); hook(type => "preprocess", id => $id, call => \&preprocess); - hook(type => "preprocess", id => $id, call => \&preprocess_scan, scan => 1); hook(type => "htmlize", id => $id, call => \&htmlize); hook(type => "savestate", id => $id, call => \&savestate); } -sub preprocess_scan { - my %param = @_; - # start the R process here for this page - if (not defined $pagestate{$param{page}}{$id}{R}) { - $pagestate{$param{page}}{$id}{R} = Statistics::R->new(shared => 1) or error("Unable to create an R process"); - } +sub getsetup { + return(plugin => {safe => 1, + rebuild => 1, + section => "misc", + link => "http://git.donarmstrong.com/?p=ikiwiki_plugins.git;a=blob;f=sweavealike.pm;hb=HEAD", + description => "sweavealike plugin", + }, + ); } sub preprocess { my %param = @_; + if (not defined $pagestate{$param{page}}{$id}{R}) { + $pagestate{$param{page}}{$id}{R} = Statistics::R->new(shared => 1) + or error("Unable to create an R process"); + } # we currently don't bother to support anything but outputing the # entire segment of code and its R output -- 2.39.2