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]]
|