]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
map: Add a "show" parameter. "show=title" can be used to display page titles, rather...
authorJoey Hess <joey@kodama.kitenet.net>
Sun, 15 Jun 2008 20:11:11 +0000 (16:11 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Sun, 15 Jun 2008 20:11:11 +0000 (16:11 -0400)
IkiWiki/Plugin/map.pm
debian/changelog
doc/plugins/map.mdwn
doc/plugins/map/discussion.mdwn
doc/users/The_TOVA_Company.mdwn

index 581ae5011f8a002190f133f6ce999797bae43b1b..af08005b8e4138e7a1791b165347e5bc97b8ce5c 100644 (file)
@@ -25,8 +25,13 @@ sub preprocess (@) { #{{{
        my %mapitems;
        foreach my $page (keys %pagesources) {
                if (pagespec_match($page, $params{pages}, location => $params{page})) {
        my %mapitems;
        foreach my $page (keys %pagesources) {
                if (pagespec_match($page, $params{pages}, location => $params{page})) {
-                       $mapitems{$page}=1;
-
+                       if (exists $params{show} && 
+                           exists $pagestate{$page}{meta}{$params{show}}) {
+                               $mapitems{$page}=$pagestate{$page}{meta}{$params{show}};
+                       }
+                       else {
+                               $mapitems{$page}=$page;
+                       }
                        # Check for a common prefix.
                        if (! defined $common_prefix) {
                                $common_prefix=$page;
                        # Check for a common prefix.
                        if (! defined $common_prefix) {
                                $common_prefix=$page;
@@ -66,7 +71,7 @@ sub preprocess (@) { #{{{
        my $openli=0;
        my $dummy=0;
        my $map = "<div class='map'>\n<ul>\n";
        my $openli=0;
        my $dummy=0;
        my $map = "<div class='map'>\n<ul>\n";
-       foreach my $item (sort keys %mapitems) {
+       foreach my $item (sort { $mapitems{$a} cmp $mapitems{$b} } keys %mapitems) {
                $item=~s/^\Q$common_prefix\E\///
                        if defined $common_prefix && length $common_prefix;
                my $depth = ($item =~ tr/\//\//) + 1;
                $item=~s/^\Q$common_prefix\E\///
                        if defined $common_prefix && length $common_prefix;
                my $depth = ($item =~ tr/\//\//) + 1;
@@ -114,6 +119,7 @@ sub preprocess (@) { #{{{
                $map .= "<li>"
                        .htmllink($params{page}, $params{destpage}, 
                                "/".$common_prefix."/".$item,
                $map .= "<li>"
                        .htmllink($params{page}, $params{destpage}, 
                                "/".$common_prefix."/".$item,
+                               linktext => $mapitems{$item},
                                class => "mapitem", noimageinline => 1)
                        ."\n";
                $openli=1;
                                class => "mapitem", noimageinline => 1)
                        ."\n";
                $openli=1;
index 11a100c0d8814b1c82e695e228cec4a7742fc1dc..3465a51f46a2fb4c1e9c9203cb30e0a09e142931 100644 (file)
@@ -2,6 +2,9 @@ ikiwiki (2.51) UNRELEASED; urgency=low
 
   * Improve toplevel parentlink to link directly to index.html when usedirs is
     disabled.
 
   * Improve toplevel parentlink to link directly to index.html when usedirs is
     disabled.
+  * map: Add a "show" parameter. "show=title" can be used to display page
+    titles, rather than the default page name. Based on a patch from 
+    Jaldhar H. Vyas, Closes: #484510
 
  -- Joey Hess <joeyh@debian.org>  Sun, 15 Jun 2008 15:03:33 -0400
 
 
  -- Joey Hess <joeyh@debian.org>  Sun, 15 Jun 2008 15:03:33 -0400
 
index 44ce9edd4dfa4efa0d57bb8b85d548b0a9787489..d50c9b292538d6e220e101343536fd5964140b1a 100644 (file)
@@ -8,6 +8,11 @@ This plugin generates a hierarchical page map for the wiki. Example usage:
 If the pages to include are not specified, all pages (and other files) in
 the wiki are mapped.
 
 If the pages to include are not specified, all pages (and other files) in
 the wiki are mapped.
 
+By default, the names of pages are shown in the map. The `show` parameter
+can be used to show the titles of pages instead. For example:
+       
+       \[[map pages="* and !blog/* and !*/Discussion" show=title]]
+
 Hint: To limit the map to displaying pages less than a certain level deep,
 use a [[ikiwiki/PageSpec]] like this: `pages="* and !*/*/*"`
 
 Hint: To limit the map to displaying pages less than a certain level deep,
 use a [[ikiwiki/PageSpec]] like this: `pages="* and !*/*/*"`
 
index 9fdd32eeb733d71e6de6b36880eea48aa88519b3..814e4f9343bfbca2dd974f57558f38e882a3e9a0 100644 (file)
@@ -17,4 +17,4 @@ Thoughts, anyone?  --[[KarlMW]]
 We'd also very much like to have an option to display the title of the page instead of the filename in the map plugin. --Andrew
 
 There's a patch implementing this in [[debbug 484510]]. It needs a few fixes
 We'd also very much like to have an option to display the title of the page instead of the filename in the map plugin. --Andrew
 
 There's a patch implementing this in [[debbug 484510]]. It needs a few fixes
-before I merge it. --[[Joey]]
+before I merge it. Now applied. --[[Joey]]
index 0e56ec4f4b3327b581f4aff303876dc7c9092fa2..406dc7fc1d4453d4a4751228f9194b4813bd919a 100644 (file)
@@ -14,7 +14,8 @@ We're looking for the following "standard" wiki features for some of our git-dis
 
 - Some cleanups on other plugins:
    - Add the ability to use the meta title to the map plugin.
 
 - Some cleanups on other plugins:
    - Add the ability to use the meta title to the map plugin.
-     > Patch [[exists|plugins/map/discussion]], just needs some cleanup. --[[Joey]]
+     > Patch [[exists|plugins/map/discussion]], just needs some cleanup.
+     > Now done. --[[Joey]]
 
 ----
 Looking for a part-time ikiwiki developer
 
 ----
 Looking for a part-time ikiwiki developer