summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-09-21 17:54:58 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-09-21 17:54:58 +0000
commit9d75d3005b52e7659b8e87d9add158de171537ca (patch)
tree4aec79676decc58585d2711143a616e6041f5a2f
parent5f15f6c8835a195b833ed234a590a42f4190b7ac (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.pm18
-rw-r--r--debian/changelog5
-rw-r--r--doc/bugs/Map_sorts_subtags_under_a_different_tag.mdwn2
-rw-r--r--po/ikiwiki.pot2
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"