diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-09-21 17:54:58 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2007-09-21 17:54:58 +0000 |
commit | 9d75d3005b52e7659b8e87d9add158de171537ca (patch) | |
tree | 4aec79676decc58585d2711143a616e6041f5a2f | |
parent | 5f15f6c8835a195b833ed234a590a42f4190b7ac (diff) |
* map: Render empty nodes on the way to subpages whose parent pages
are not included in the map.
* map: Fix valid html issue.
-rw-r--r-- | IkiWiki/Plugin/map.pm | 18 | ||||
-rw-r--r-- | debian/changelog | 5 | ||||
-rw-r--r-- | doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn | 2 | ||||
-rw-r--r-- | po/ikiwiki.pot | 2 |
4 files changed, 22 insertions, 5 deletions
diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index 8037db773..2ff840ff7 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -35,12 +35,18 @@ sub preprocess (@) { #{{{ add_depends($params{page}, join(" or ", @mapitems)); # Create the map. + my $parent=""; my $indent=0; my $openli=0; my $map = "<div class='map'>\n"; - $map .= "<ul>\n"; foreach my $item (sort @mapitems) { my $depth = ($item =~ tr/\//\//); + my $baseitem=IkiWiki::dirname($item); + while (length $parent && length $baseitem && $baseitem !~ /^\Q$parent\E/) { + $parent=IkiWiki::dirname($parent); + $indent--; + $map.="</li></ul>\n"; + } while ($depth < $indent) { $indent--; $map.="</li></ul>\n"; @@ -48,19 +54,25 @@ sub preprocess (@) { #{{{ while ($depth > $indent) { $indent++; $map.="<ul>\n"; - $openli=0; + if ($depth > $indent) { + $map .= "<li>\n"; + $openli=1; + } + else { + $openli=0; + } } $map .= "</li>\n" if $openli; $map .= "<li>" .htmllink($params{page}, $params{destpage}, $item) ."\n"; $openli=1; + $parent=$item; } while ($indent > 0) { $indent--; $map.="</li></ul>\n"; } - $map .= "</li></ul>\n"; $map .= "</div>\n"; return $map; } # }}} diff --git a/debian/changelog b/debian/changelog index fa7951c71..3041fad45 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,8 +5,11 @@ ikiwiki (2.9) UNRELEASED; urgency=low Closes: #443344 * map: Fully specify paths to links to avoid issues when the bestlink didn't point to the correct page. + * map: Render empty nodes on the way to subpages whose parent pages + are not included in the map. + * map: Fix valid html issue. - -- Joey Hess <joeyh@debian.org> Thu, 20 Sep 2007 15:21:29 -0400 + -- Joey Hess <joeyh@debian.org> Fri, 21 Sep 2007 13:28:32 -0400 ikiwiki (2.8) unstable; urgency=low diff --git a/doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn b/doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn index f7ff2dd31..444de431b 100644 --- a/doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn +++ b/doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn @@ -45,3 +45,5 @@ So it's not that the `<ul>` has an empty parent `<li>`, the three tags are *really* children of `active`. This really blows my mind. :) + +Rendering issue. [[fixed|done]] --[[Joey]] diff --git a/po/ikiwiki.pot b/po/ikiwiki.pot index 711618f15..f5b77b266 100644 --- a/po/ikiwiki.pot +++ b/po/ikiwiki.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-09-20 15:21-0400\n" +"POT-Creation-Date: 2007-09-21 13:25-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" |