summaryrefslogtreecommitdiff
path: root/doc/bugs/Problems_with_graphviz.pm_plug-in_previews.mdwn
blob: c77bbeeaf8b7c2c7b8ecdaf5cc74ab8b52e93e85 (plain)

(split from [[Problems_with_graphviz.pm_plug-in]])

[graphviz] generates image URLs relative to the page being rendered, which means the URLs wont work when previewing a graph from the CGI script.

Here is an updated patch againt ikiwiki-2.5:

Applied, thanks. --[[Joey]]

--- IkiWiki/Plugin/graphviz.pm.orig	2007-07-27 11:35:05.000000000 +0200
+++ IkiWiki/Plugin/graphviz.pm	2007-07-27 11:36:02.000000000 +0200
@@ -69,7 +69,12 @@ sub render_graph (\%) {
 		}
 	}
 
-	return "<img src=\"".urlto($dest, $params{page})."\" />\n";
+	if ($params{preview}) {
+		return "<img src=\"".urlto($dest, "")."\" />\n";
+	}
+	else {
+		return "<img src=\"".urlto($dest, $params{page})."\" />\n";
+	}
 }
 
 sub graph (@) {

--[[HenrikBrixAndersen]]

Despite this patch I am still experiencing the problem. Normal page source for a graph contains:

<div id="content">
<p><img src="./graph-c9fd2a197322feb417bdedbca5e99f5aa65b3f06.png" /></p>

</div>

preview contains

<div id="preview">
<p><img src="./demo/diagrams/graph-c9fd2a197322feb417bdedbca5e99f5aa65b3f06.png" /></p>

</div>

I don't quite understand why, this makes sense from the CGI path (in my case from the root of the site). The browsers appear to be trying to fetch /demo/diagrams/demo/diagrams/graph-c9fd2a197322feb417bdedbca5e99f5aa65b3f06.png (i.e., prepending the required relpath twice). -- [[Jon]]

Yeah, that patch may have been right once, but it's wrong now; preview mode uses <base> to make urls work the same as they would when viewing the html page.

Perhaps this was not noticed for a while while because it only shows up if previewing an unchanged graph on a page that has already been built before. Fixed now. [[done]] --[[Joey]]