diff options
author | Philippe Gauthier <philippe.gauthier@deuxpi.ca> | 2012-08-02 20:29:32 +0000 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-08-05 21:58:32 -0400 |
commit | 60ef4b19657fb46492135b342a34435b891a80ef (patch) | |
tree | 3cbac629064b9321edce6abe237141e10eb982d7 /IkiWiki/Plugin | |
parent | 5b956932ba35a54ed55335e9a96f94435d05718f (diff) | |
download | ikiwiki-60ef4b19657fb46492135b342a34435b891a80ef.tar ikiwiki-60ef4b19657fb46492135b342a34435b891a80ef.tar.gz |
Fix incorrect URL pointing to the generated waypoint files by calling will_render() before first call to urlto().
Fixes
http://ikiwiki.info/bugs/osm_linkto__40____41___usage_breaks_map_rendering/
(cherry picked from commit 691312225789ff6cd5e3fcc4979c076791d67452)
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/osm.pm | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/IkiWiki/Plugin/osm.pm b/IkiWiki/Plugin/osm.pm index c9c5646c4..e96a12837 100644 --- a/IkiWiki/Plugin/osm.pm +++ b/IkiWiki/Plugin/osm.pm @@ -62,6 +62,25 @@ sub getsetup () { }, } +sub register_rendered_files { + my $map = shift; + my $page = shift; + my $dest = shift; + + if ($page eq $dest) { + my %formats = get_formats(); + if ($formats{'GeoJSON'}) { + will_render($page, "$map/pois.json"); + } + if ($formats{'CSV'}) { + will_render($page, "$map/pois.txt"); + } + if ($formats{'KML'}) { + will_render($page, "$map/pois.kml"); + } + } +} + sub preprocess { my %params=@_; my $page = $params{page}; @@ -98,6 +117,8 @@ sub preprocess { ); } + register_rendered_files($map, $page, $dest); + $pagestate{$page}{'osm'}{$map}{'displays'}{$name} = { height => $height, width => $width, @@ -150,18 +171,7 @@ sub process_waypoint { } $icon = urlto($icon, $dest, 1); $tag = '' unless $tag; - if ($page eq $dest) { - my %formats = get_formats(); - if ($formats{'GeoJSON'}) { - will_render($page, "$map/pois.json"); - } - if ($formats{'CSV'}) { - will_render($page, "$map/pois.txt"); - } - if ($formats{'KML'}) { - will_render($page, "$map/pois.kml"); - } - } + register_rendered_files($map, $page, $dest); $pagestate{$page}{'osm'}{$map}{'waypoints'}{$name} = { page => $page, desc => $desc, |