1 The graphviz.pm plug-in currently attempts to read PNG data in UTF-8 mode, which sometimes fail with a message similar to the following (depending on the input):
3 utf8 "\x89" does not map to Unicode at /usr/local/lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/graphviz.pm line 53, <IN> chunk 1.
4 Wide character in subroutine entry at /usr/local/lib/perl5/site_perl/5.8.8/IkiWiki/Plugin/graphviz.pm line 68.
6 > Ok, will remove the binmode IN then. [[done]] --[[Joey]]
8 >> Thanks --[[HenrikBrixAndersen]]
10 It also generates image URLs relative to the page being rendered, which means the URLs wont work when previewing a graph from the CGI script.
12 > You seem to be using an old version of ikiwiki, these preview isues have
13 > been fixed for some time, and the code doesn't look like what you patch
14 > in your second hunk. --[[Joey]]
16 >> I have just tested ikiwiki-2.5. The code in question still looks
17 >> the same, and the patch is still needed for making the graphviz
18 >> plug-in work in preview mode here.
20 >> Here is an updated patch againt ikiwiki-2.5:
23 --- IkiWiki/Plugin/graphviz.pm.orig 2007-07-27 11:35:05.000000000 +0200
24 +++ IkiWiki/Plugin/graphviz.pm 2007-07-27 11:36:02.000000000 +0200
25 @@ -69,7 +69,12 @@ sub render_graph (\%) { #{{{
29 - return "<img src=\"".urlto($dest, $params{page})."\" />\n";
30 + if ($params{preview}) {
31 + return "<img src=\"".urlto($dest, "")."\" />\n";
34 + return "<img src=\"".urlto($dest, $params{page})."\" />\n";
41 >> --[[HenrikBrixAndersen]]
44 The patch below fixes these two issues.
46 --- graphviz.pm.orig Thu Jun 7 15:45:16 2007
47 +++ graphviz.pm Fri Jun 8 12:03:38 2007
48 @@ -41,7 +41,6 @@ sub render_graph (\%) { #{{{
49 $pid=open2(*IN, *OUT, "$params{prog} -Tpng");
51 # open2 doesn't respect "use open ':utf8'"
52 - binmode (IN, ':utf8');
53 binmode (OUT, ':utf8');
56 @@ -70,7 +69,12 @@ sub render_graph (\%) { #{{{
60 - return "<img src=\"".urlto($dest, $params{page})."\" />\n";
61 + if ($params{preview}) {
62 + return "<img src=\"".urlto($dest, "")."\" />\n";
65 + return "<img src=\"".urlto($dest, $params{page})."\" />\n";