check for longname for each syntax plugin
authorJon Dowland <jon@alcopop.org>
Sat, 16 May 2009 12:56:25 +0000 (13:56 +0100)
committerJon Dowland <jon@alcopop.org>
Sat, 16 May 2009 12:56:25 +0000 (13:56 +0100)
We build an array of [ plugin name, long name ] pairs, where long name
is an optional argument to hook(). So, a syntax plugin could define
long "friendly" name, such as "Markdown" instead of mdwn, and we would
then pass this array to formbuilder to populate the drop-down on the
edit page.

IkiWiki/Plugin/editpage.pm

index 0068a6b118cd15ca7e110a51fdf81fa1ab313526..eb6a7bbcb845bbe2563a7f3e7e0a84f5af0c2a5c 100644 (file)
@@ -276,8 +276,14 @@ sub cgi_editpage ($$) {
                        
                        my @page_types;
                        if (exists $hooks{htmlize}) {
                        
                        my @page_types;
                        if (exists $hooks{htmlize}) {
-                               @page_types=grep { !/^_/ }
-                                       keys %{$hooks{htmlize}};
+                               foreach my $key (grep { !/^_/ } keys %{$hooks{htmlize}}) {
+                                       my $pluginref = ${$hooks{htmlize}}{$key};
+                                       if(${$pluginref}{'longname'}) {
+                                               push @page_types, [$key, ${$pluginref}{'longname'}];
+                                       } else {
+                                               push @page_types, [$key, $key];
+                                       }
+                               }
                        }
                        
                        $form->tmpl_param("page_select", 1);
                        }
                        
                        $form->tmpl_param("page_select", 1);