]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Coding style change: Remove explcit vim folding markers.
authorJoey Hess <joey@gnu.kitenet.net>
Wed, 17 Dec 2008 20:22:16 +0000 (15:22 -0500)
committerJoey Hess <joey@gnu.kitenet.net>
Wed, 17 Dec 2008 20:22:16 +0000 (15:22 -0500)
175 files changed:
IkiWiki.pm
IkiWiki/CGI.pm
IkiWiki/Plugin/aggregate.pm
IkiWiki/Plugin/amazon_s3.pm
IkiWiki/Plugin/anonok.pm
IkiWiki/Plugin/attachment.pm
IkiWiki/Plugin/autoindex.pm
IkiWiki/Plugin/brokenlinks.pm
IkiWiki/Plugin/bzr.pm
IkiWiki/Plugin/calendar.pm
IkiWiki/Plugin/camelcase.pm
IkiWiki/Plugin/color.pm
IkiWiki/Plugin/comments.pm
IkiWiki/Plugin/conditional.pm
IkiWiki/Plugin/creole.pm
IkiWiki/Plugin/cutpaste.pm
IkiWiki/Plugin/ddate.pm
IkiWiki/Plugin/editdiff.pm
IkiWiki/Plugin/editpage.pm
IkiWiki/Plugin/edittemplate.pm
IkiWiki/Plugin/embed.pm
IkiWiki/Plugin/external.pm
IkiWiki/Plugin/favicon.pm
IkiWiki/Plugin/filecheck.pm
IkiWiki/Plugin/format.pm
IkiWiki/Plugin/fortune.pm
IkiWiki/Plugin/git.pm
IkiWiki/Plugin/goodstuff.pm
IkiWiki/Plugin/google.pm
IkiWiki/Plugin/googlecalendar.pm
IkiWiki/Plugin/graphviz.pm
IkiWiki/Plugin/haiku.pm
IkiWiki/Plugin/hnb.pm
IkiWiki/Plugin/html.pm
IkiWiki/Plugin/htmlbalance.pm
IkiWiki/Plugin/htmlscrubber.pm
IkiWiki/Plugin/htmltidy.pm
IkiWiki/Plugin/httpauth.pm
IkiWiki/Plugin/img.pm
IkiWiki/Plugin/inline.pm
IkiWiki/Plugin/link.pm
IkiWiki/Plugin/linkmap.pm
IkiWiki/Plugin/listdirectives.pm
IkiWiki/Plugin/lockedit.pm
IkiWiki/Plugin/map.pm
IkiWiki/Plugin/mdwn.pm
IkiWiki/Plugin/mercurial.pm
IkiWiki/Plugin/meta.pm
IkiWiki/Plugin/mirrorlist.pm
IkiWiki/Plugin/monotone.pm
IkiWiki/Plugin/more.pm
IkiWiki/Plugin/norcs.pm
IkiWiki/Plugin/opendiscussion.pm
IkiWiki/Plugin/openid.pm
IkiWiki/Plugin/orphans.pm
IkiWiki/Plugin/otl.pm
IkiWiki/Plugin/pagecount.pm
IkiWiki/Plugin/pagestats.pm
IkiWiki/Plugin/pagetemplate.pm
IkiWiki/Plugin/parentlinks.pm
IkiWiki/Plugin/passwordauth.pm
IkiWiki/Plugin/pingee.pm
IkiWiki/Plugin/pinger.pm
IkiWiki/Plugin/poll.pm
IkiWiki/Plugin/polygen.pm
IkiWiki/Plugin/postsparkline.pm
IkiWiki/Plugin/prettydate.pm
IkiWiki/Plugin/progress.pm
IkiWiki/Plugin/rawhtml.pm
IkiWiki/Plugin/recentchanges.pm
IkiWiki/Plugin/recentchangesdiff.pm
IkiWiki/Plugin/relativedate.pm
IkiWiki/Plugin/remove.pm
IkiWiki/Plugin/rename.pm
IkiWiki/Plugin/search.pm
IkiWiki/Plugin/shortcut.pm
IkiWiki/Plugin/sidebar.pm
IkiWiki/Plugin/signinedit.pm
IkiWiki/Plugin/skeleton.pm.example
IkiWiki/Plugin/smiley.pm
IkiWiki/Plugin/sparkline.pm
IkiWiki/Plugin/svn.pm
IkiWiki/Plugin/table.pm
IkiWiki/Plugin/tag.pm
IkiWiki/Plugin/template.pm
IkiWiki/Plugin/testpagespec.pm
IkiWiki/Plugin/teximg.pm
IkiWiki/Plugin/textile.pm
IkiWiki/Plugin/tla.pm
IkiWiki/Plugin/toc.pm
IkiWiki/Plugin/toggle.pm
IkiWiki/Plugin/txt.pm
IkiWiki/Plugin/typography.pm
IkiWiki/Plugin/version.pm
IkiWiki/Plugin/websetup.pm
IkiWiki/Plugin/wikitext.pm
IkiWiki/Receive.pm
IkiWiki/Render.pm
IkiWiki/Setup.pm
IkiWiki/Setup/Automator.pm
IkiWiki/Setup/Standard.pm
IkiWiki/UserInfo.pm
IkiWiki/Wrapper.pm
debian/changelog
doc/bugs/Allow_overriding_of_symlink_restriction.mdwn
doc/bugs/Can__39__t_create_root_page.mdwn
doc/bugs/Insecure_dependency_in_eval_while_running_with_-T_switch.mdwn
doc/bugs/Monotone_rcs_support.mdwn
doc/bugs/No_link_for_blog_items_when_filename_contains_a_colon.mdwn
doc/bugs/Problem_with_toc.pm_plug-in.mdwn
doc/bugs/Problems_with_graphviz.pm_plug-in.mdwn
doc/bugs/RecentChanges_broken_with_empty_svnpath.mdwn
doc/bugs/Titles_are_lower-cased_when_creating_a_page.mdwn
doc/bugs/Warns_about_use_of_uninitialized_value_if_prefix__95__directives_is_on_and_a_directive_does_not_contain_a_space.mdwn
doc/bugs/bugfix_for:___34__mtn:_operation_canceled:_Broken_pipe__34_____40__patch__41__.mdwn
doc/bugs/git_stderr_output_causes_problems.mdwn
doc/bugs/img_plugin_should_pass_through_class_attribute.mdwn
doc/bugs/inline_sort-by-title_issues.mdwn
doc/bugs/mercurial_fail_to_add.mdwn
doc/bugs/methodResponse_in_add__95__plugins.mdwn
doc/bugs/multiple_pages_with_same_name.mdwn
doc/bugs/pagespec_parsing_chokes_on_function__40____41__.mdwn
doc/bugs/prune_causing_taint_mode_failures.mdwn
doc/bugs/quieten_mercurial.mdwn
doc/bugs/search_for_locale_data_in_the_installed_location.mdwn
doc/bugs/tbasewiki__95__brokenlinks.t_broken.mdwn
doc/plugins/contrib/headinganchors.mdwn
doc/plugins/contrib/siterel2pagerel.mdwn
doc/plugins/contrib/unixauth.mdwn
doc/todo/Add_DATE_parameter_for_use_in_templates.mdwn
doc/todo/Add_support_for_latest_Text::Markdown_as_found_on_CPAN.mdwn
doc/todo/Allow_change_of_wiki_file_types.mdwn
doc/todo/Allow_edittemplate_to_set_file_type.mdwn
doc/todo/Bestdir_along_with_bestlink_in_IkiWiki.pm.mdwn
doc/todo/Default_text_for_new_pages.mdwn
doc/todo/Give_access_to_more_TMPL__95__VAR_variables_in_templates_inserted_by_the_template_plugin.mdwn
doc/todo/Inline_plugin_option_to_show_full_page_path.mdwn
doc/todo/Move_teximg_latex_preamble_to_config_file.mdwn
doc/todo/Set_arbitrary_date_to_be_used_by_calendar_plugin.mdwn
doc/todo/Silence_monotone_warning.mdwn
doc/todo/Support_wildcard_inside_of_link__40____41___within_a_pagespec.mdwn
doc/todo/Wrapper_config_with_multiline_regexp.mdwn
doc/todo/add_forward_age_sorting_option_to_inline.mdwn
doc/todo/automatic_use_of_syntax_plugin_on_source_code_files/discussion.mdwn
doc/todo/blogpost_plugin.mdwn
doc/todo/bzr.mdwn
doc/todo/cas_authentication.mdwn
doc/todo/color_plugin.mdwn
doc/todo/darcs.mdwn
doc/todo/datearchives-plugin.mdwn
doc/todo/different_search_engine.mdwn
doc/todo/directive_docs.mdwn
doc/todo/enable-htaccess-files.mdwn
doc/todo/format_escape.mdwn
doc/todo/fortune:_select_options_via_environment.mdwn
doc/todo/index.html_allowed.mdwn
doc/todo/inline:_numerical_ordering_by_title.mdwn
doc/todo/language_definition_for_the_meta_plugin.mdwn
doc/todo/meta_rcsid.mdwn
doc/todo/missingparents.pm.mdwn
doc/todo/modify_page_filename_in_plugin.mdwn
doc/todo/pagespec_relative_to_a_target.mdwn
doc/todo/provide_sha1_for_git_diffurl.mdwn
doc/todo/require_CAPTCHA_to_edit.mdwn
doc/todo/source_link.mdwn
doc/todo/structured_page_data.mdwn
doc/todo/supporting_comments_via_disussion_pages.mdwn
doc/todo/syntax_highlighting.mdwn
doc/todo/tidy_git__39__s_ctime_debug_output.mdwn
doc/todo/tmplvars_plugin.mdwn
doc/todo/tracking_bugs_with_dependencies.mdwn
doc/todo/turn_edittemplate_verbosity_off_by_default.mdwn
doc/todo/using_meta_titles_for_parentlinks.html
doc/todo/varioki_--_add_template_variables___40__with_closures_for_values__41___in_ikiwiki.setup.mdwn
ikiwiki.in

index 1c68c2cb3e5dca343ded1e8fff8d6b1d8fb96909..d93ff7374069684a97e35c5626ec853e02d4ce47 100644 (file)
@@ -34,7 +34,7 @@ memoize("abs2rel");
 memoize("pagespec_translate");
 memoize("file_pruned");
 
-sub getsetup () { #{{{
+sub getsetup () {
        wikiname => {
                type => "string",
                default => "wiki",
@@ -431,9 +431,9 @@ sub getsetup () { #{{{
                safe => 0,
                rebuild => 0,
        },
-} #}}}
+}
 
-sub defaultconfig () { #{{{
+sub defaultconfig () {
        my %s=getsetup();
        my @ret;
        foreach my $key (keys %s) {
@@ -441,9 +441,9 @@ sub defaultconfig () { #{{{
        }
        use Data::Dumper;
        return @ret;
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        # locale stuff; avoid LC_ALL since it overrides everything
        if (defined $ENV{LC_ALL}) {
                $ENV{LANG} = $ENV{LC_ALL};
@@ -490,9 +490,9 @@ sub checkconfig () { #{{{
        run_hooks(checkconfig => sub { shift->() });
 
        return 1;
-} #}}}
+}
 
-sub listplugins () { #{{{
+sub listplugins () {
        my %ret;
 
        foreach my $dir (@INC, $config{libdir}) {
@@ -510,9 +510,9 @@ sub listplugins () { #{{{
        }
 
        return keys %ret;
-} #}}}
+}
 
-sub loadplugins () { #{{{
+sub loadplugins () {
        if (defined $config{libdir} && length $config{libdir}) {
                unshift @INC, possibly_foolish_untaint($config{libdir});
        }
@@ -539,9 +539,9 @@ sub loadplugins () { #{{{
        }
 
        return 1;
-} #}}}
+}
 
-sub loadplugin ($) { #{{{
+sub loadplugin ($) {
        my $plugin=shift;
 
        return if grep { $_ eq $plugin} @{$config{disable_plugins}};
@@ -567,9 +567,9 @@ sub loadplugin ($) { #{{{
        }
        $loaded_plugins{$plugin}=1;
        return 1;
-} #}}}
+}
 
-sub error ($;$) { #{{{
+sub error ($;$) {
        my $message=shift;
        my $cleaner=shift;
        log_message('err' => $message) if $config{syslog};
@@ -577,15 +577,15 @@ sub error ($;$) { #{{{
                $cleaner->();
        }
        die $message."\n";
-} #}}}
+}
 
-sub debug ($) { #{{{
+sub debug ($) {
        return unless $config{verbose};
        return log_message(debug => @_);
-} #}}}
+}
 
 my $log_open=0;
-sub log_message ($$) { #{{{
+sub log_message ($$) {
        my $type=shift;
 
        if ($config{syslog}) {
@@ -605,44 +605,44 @@ sub log_message ($$) { #{{{
        else {
                return print STDERR "@_\n";
        }
-} #}}}
+}
 
-sub possibly_foolish_untaint ($) { #{{{
+sub possibly_foolish_untaint ($) {
        my $tainted=shift;
        my ($untainted)=$tainted=~/(.*)/s;
        return $untainted;
-} #}}}
+}
 
-sub basename ($) { #{{{
+sub basename ($) {
        my $file=shift;
 
        $file=~s!.*/+!!;
        return $file;
-} #}}}
+}
 
-sub dirname ($) { #{{{
+sub dirname ($) {
        my $file=shift;
 
        $file=~s!/*[^/]+$!!;
        return $file;
-} #}}}
+}
 
-sub pagetype ($) { #{{{
+sub pagetype ($) {
        my $page=shift;
        
        if ($page =~ /\.([^.]+)$/) {
                return $1 if exists $hooks{htmlize}{$1};
        }
        return;
-} #}}}
+}
 
-sub isinternal ($) { #{{{
+sub isinternal ($) {
        my $page=shift;
        return exists $pagesources{$page} &&
                $pagesources{$page} =~ /\._([^.]+)$/;
-} #}}}
+}
 
-sub pagename ($) { #{{{
+sub pagename ($) {
        my $file=shift;
 
        my $type=pagetype($file);
@@ -652,9 +652,9 @@ sub pagename ($) { #{{{
                $page=$1;
        }
        return $page;
-} #}}}
+}
 
-sub newpagefile ($$) { #{{{
+sub newpagefile ($$) {
        my $page=shift;
        my $type=shift;
 
@@ -664,9 +664,9 @@ sub newpagefile ($$) { #{{{
        else {
                return $page."/index.".$type;
        }
-} #}}}
+}
 
-sub targetpage ($$;$) { #{{{
+sub targetpage ($$;$) {
        my $page=shift;
        my $ext=shift;
        my $filename=shift;
@@ -680,15 +680,15 @@ sub targetpage ($$;$) { #{{{
        else {
                return $page."/index.".$ext;
        }
-} #}}}
+}
 
-sub htmlpage ($) { #{{{
+sub htmlpage ($) {
        my $page=shift;
        
        return targetpage($page, $config{htmlext});
-} #}}}
+}
 
-sub srcfile_stat { #{{{
+sub srcfile_stat {
        my $file=shift;
        my $nothrow=shift;
 
@@ -698,13 +698,13 @@ sub srcfile_stat { #{{{
        }
        error("internal error: $file cannot be found in $config{srcdir} or underlay") unless $nothrow;
        return;
-} #}}}
+}
 
-sub srcfile ($;$) { #{{{
+sub srcfile ($;$) {
        return (srcfile_stat(@_))[0];
-} #}}}
+}
 
-sub add_underlay ($) { #{{{
+sub add_underlay ($) {
        my $dir=shift;
 
        if ($dir !~ /^\//) {
@@ -716,9 +716,9 @@ sub add_underlay ($) { #{{{
        }
 
        return 1;
-} #}}}
+}
 
-sub readfile ($;$$) { #{{{
+sub readfile ($;$$) {
        my $file=shift;
        my $binary=shift;
        my $wantfd=shift;
@@ -738,9 +738,9 @@ sub readfile ($;$$) { #{{{
        }
        close $in || error("failed to read $file: $!");
        return $ret;
-} #}}}
+}
 
-sub prep_writefile ($$) { #{{{
+sub prep_writefile ($$) {
        my $file=shift;
        my $destdir=shift;
        
@@ -764,9 +764,9 @@ sub prep_writefile ($$) { #{{{
        }
 
        return 1;
-} #}}}
+}
 
-sub writefile ($$$;$$) { #{{{
+sub writefile ($$$;$$) {
        my $file=shift; # can include subdirs
        my $destdir=shift; # directory to put file in
        my $content=shift;
@@ -794,10 +794,10 @@ sub writefile ($$$;$$) { #{{{
                error("failed renaming $newfile to $destdir/$file: $!", $cleanup);
 
        return 1;
-} #}}}
+}
 
 my %cleared;
-sub will_render ($$;$) { #{{{
+sub will_render ($$;$) {
        my $page=shift;
        my $dest=shift;
        my $clear=shift;
@@ -821,9 +821,9 @@ sub will_render ($$;$) { #{{{
        $destsources{$dest}=$page;
 
        return 1;
-} #}}}
+}
 
-sub bestlink ($$) { #{{{
+sub bestlink ($$) {
        my $page=shift;
        my $link=shift;
        
@@ -859,15 +859,15 @@ sub bestlink ($$) { #{{{
 
        #print STDERR "warning: page $page, broken link: $link\n";
        return "";
-} #}}}
+}
 
-sub isinlinableimage ($) { #{{{
+sub isinlinableimage ($) {
        my $file=shift;
        
        return $file =~ /\.(png|gif|jpg|jpeg)$/i;
-} #}}}
+}
 
-sub pagetitle ($;$) { #{{{
+sub pagetitle ($;$) {
        my $page=shift;
        my $unescaped=shift;
 
@@ -879,31 +879,31 @@ sub pagetitle ($;$) { #{{{
        }
 
        return $page;
-} #}}}
+}
 
-sub titlepage ($) { #{{{
+sub titlepage ($) {
        my $title=shift;
        # support use w/o %config set
        my $chars = defined $config{wiki_file_chars} ? $config{wiki_file_chars} : "-[:alnum:]+/.:_";
        $title=~s/([^$chars]|_)/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
        return $title;
-} #}}}
+}
 
-sub linkpage ($) { #{{{
+sub linkpage ($) {
        my $link=shift;
        my $chars = defined $config{wiki_file_chars} ? $config{wiki_file_chars} : "-[:alnum:]+/.:_";
        $link=~s/([^$chars])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
        return $link;
-} #}}}
+}
 
-sub cgiurl (@) { #{{{
+sub cgiurl (@) {
        my %params=@_;
 
        return $config{cgiurl}."?".
                join("&amp;", map $_."=".uri_escape_utf8($params{$_}), keys %params);
-} #}}}
+}
 
-sub baseurl (;$) { #{{{
+sub baseurl (;$) {
        my $page=shift;
 
        return "$config{url}/" if ! defined $page;
@@ -912,9 +912,9 @@ sub baseurl (;$) { #{{{
        $page=~s/[^\/]+$//;
        $page=~s/[^\/]+\//..\//g;
        return $page;
-} #}}}
+}
 
-sub abs2rel ($$) { #{{{
+sub abs2rel ($$) {
        # Work around very innefficient behavior in File::Spec if abs2rel
        # is passed two relative paths. It's much faster if paths are
        # absolute! (Debian bug #376658; fixed in debian unstable now)
@@ -925,15 +925,15 @@ sub abs2rel ($$) { #{{{
        my $ret=File::Spec->abs2rel($path, $base);
        $ret=~s/^// if defined $ret;
        return $ret;
-} #}}}
+}
 
-sub displaytime ($;$) { #{{{
+sub displaytime ($;$) {
        # Plugins can override this function to mark up the time to
        # display.
        return '<span class="date">'.formattime(@_).'</span>';
-} #}}}
+}
 
-sub formattime ($;$) { #{{{
+sub formattime ($;$) {
        # Plugins can override this function to format the time.
        my $time=shift;
        my $format=shift;
@@ -944,9 +944,9 @@ sub formattime ($;$) { #{{{
        # strftime doesn't know about encodings, so make sure
        # its output is properly treated as utf8
        return decode_utf8(POSIX::strftime($format, localtime($time)));
-} #}}}
+}
 
-sub beautify_urlpath ($) { #{{{
+sub beautify_urlpath ($) {
        my $url=shift;
 
        if ($config{usedirs}) {
@@ -960,9 +960,9 @@ sub beautify_urlpath ($) { #{{{
        }
 
        return $url;
-} #}}}
+}
 
-sub urlto ($$;$) { #{{{
+sub urlto ($$;$) {
        my $to=shift;
        my $from=shift;
        my $absolute=shift;
@@ -982,9 +982,9 @@ sub urlto ($$;$) { #{{{
        my $link = abs2rel($to, dirname(htmlpage($from)));
 
        return beautify_urlpath($link);
-} #}}}
+}
 
-sub htmllink ($$$;@) { #{{{
+sub htmllink ($$$;@) {
        my $lpage=shift; # the page doing the linking
        my $page=shift; # the page that will contain the link (different for inline)
        my $link=shift;
@@ -1047,9 +1047,9 @@ sub htmllink ($$$;@) { #{{{
        }
 
        return "<a href=\"$bestlink\"@attrs>$linktext</a>";
-} #}}}
+}
 
-sub userlink ($) { #{{{
+sub userlink ($) {
        my $user=shift;
 
        my $oiduser=eval { openiduser($user) };
@@ -1064,9 +1064,9 @@ sub userlink ($) { #{{{
                        length $config{userdir} ? $config{userdir}."/".$user : $user
                ), noimageinline => 1);
        }
-} #}}}
+}
 
-sub htmlize ($$$$) { #{{{
+sub htmlize ($$$$) {
        my $page=shift;
        my $destpage=shift;
        my $type=shift;
@@ -1101,9 +1101,9 @@ sub htmlize ($$$$) { #{{{
        }
 
        return $content;
-} #}}}
+}
 
-sub linkify ($$$) { #{{{
+sub linkify ($$$) {
        my $page=shift;
        my $destpage=shift;
        my $content=shift;
@@ -1117,11 +1117,11 @@ sub linkify ($$$) { #{{{
        });
        
        return $content;
-} #}}}
+}
 
 our %preprocessing;
 our $preprocess_preview=0;
-sub preprocess ($$$;$$) { #{{{
+sub preprocess ($$$;$$) {
        my $page=shift; # the page the data comes from
        my $destpage=shift; # the page the data will appear in (different for inline)
        my $content=shift;
@@ -1274,9 +1274,9 @@ sub preprocess ($$$;$$) { #{{{
 
        $content =~ s{$regex}{$handle->($1, $2, $3, $4)}eg;
        return $content;
-} #}}}
+}
 
-sub filter ($$$) { #{{{
+sub filter ($$$) {
        my $page=shift;
        my $destpage=shift;
        my $content=shift;
@@ -1287,15 +1287,15 @@ sub filter ($$$) { #{{{
        });
 
        return $content;
-} #}}}
+}
 
-sub indexlink () { #{{{
+sub indexlink () {
        return "<a href=\"$config{url}\">$config{wikiname}</a>";
-} #}}}
+}
 
 my $wikilock;
 
-sub lockwiki () { #{{{
+sub lockwiki () {
        # Take an exclusive lock on the wiki to prevent multiple concurrent
        # run issues. The lock will be dropped on program exit.
        if (! -d $config{wikistatedir}) {
@@ -1307,17 +1307,17 @@ sub lockwiki () { #{{{
                error("failed to get lock");
        }
        return 1;
-} #}}}
+}
 
-sub unlockwiki () { #{{{
+sub unlockwiki () {
        POSIX::close($ENV{IKIWIKI_CGILOCK_FD}) if exists $ENV{IKIWIKI_CGILOCK_FD};
        return close($wikilock) if $wikilock;
        return;
-} #}}}
+}
 
 my $commitlock;
 
-sub commit_hook_enabled () { #{{{
+sub commit_hook_enabled () {
        open($commitlock, '+>', "$config{wikistatedir}/commitlock") ||
                error("cannot write to $config{wikistatedir}/commitlock: $!");
        if (! flock($commitlock, 1 | 4)) { # LOCK_SH | LOCK_NB to test
@@ -1326,23 +1326,23 @@ sub commit_hook_enabled () { #{{{
        }
        close($commitlock) || error("failed closing commitlock: $!");
        return 1;
-} #}}}
+}
 
-sub disable_commit_hook () { #{{{
+sub disable_commit_hook () {
        open($commitlock, '>', "$config{wikistatedir}/commitlock") ||
                error("cannot write to $config{wikistatedir}/commitlock: $!");
        if (! flock($commitlock, 2)) { # LOCK_EX
                error("failed to get commit lock");
        }
        return 1;
-} #}}}
+}
 
-sub enable_commit_hook () { #{{{
+sub enable_commit_hook () {
        return close($commitlock) if $commitlock;
        return;
-} #}}}
+}
 
-sub loadindex () { #{{{
+sub loadindex () {
        %oldrenderedfiles=%pagectime=();
        if (! $config{rebuild}) {
                %pagesources=%pagemtime=%oldlinks=%links=%depends=
@@ -1402,9 +1402,9 @@ sub loadindex () { #{{{
                $destsources{$_}=$page foreach @{$renderedfiles{$page}};
        }
        return close($in);
-} #}}}
+}
 
-sub saveindex () { #{{{
+sub saveindex () {
        run_hooks(savestate => sub { shift->() });
 
        my %hookids;
@@ -1460,18 +1460,18 @@ sub saveindex () { #{{{
                error("failed renaming $newfile to $config{wikistatedir}/indexdb", $cleanup);
        
        return 1;
-} #}}}
+}
 
-sub template_file ($) { #{{{
+sub template_file ($) {
        my $template=shift;
 
        foreach my $dir ($config{templatedir}, "$installdir/share/ikiwiki/templates") {
                return "$dir/$template" if -e "$dir/$template";
        }
        return;
-} #}}}
+}
 
-sub template_params (@) { #{{{
+sub template_params (@) {
        my $filename=template_file(shift);
 
        if (! defined $filename) {
@@ -1490,14 +1490,14 @@ sub template_params (@) { #{{{
                @_
        );
        return wantarray ? @ret : {@ret};
-} #}}}
+}
 
-sub template ($;@) { #{{{
+sub template ($;@) {
        require HTML::Template;
        return HTML::Template->new(template_params(@_));
-} #}}}
+}
 
-sub misctemplate ($$;@) { #{{{
+sub misctemplate ($$;@) {
        my $title=shift;
        my $pagebody=shift;
        
@@ -1514,9 +1514,9 @@ sub misctemplate ($$;@) { #{{{
                shift->(page => "", destpage => "", template => $template);
        });
        return $template->output;
-}#}}}
+}
 
-sub hook (@) { # {{{
+sub hook (@) {
        my %param=@_;
        
        if (! exists $param{type} || ! ref $param{call} || ! exists $param{id}) {
@@ -1527,9 +1527,9 @@ sub hook (@) { # {{{
        
        $hooks{$param{type}}{$param{id}}=\%param;
        return 1;
-} # }}}
+}
 
-sub run_hooks ($$) { # {{{
+sub run_hooks ($$) {
        # Calls the given sub for each hook of the given type,
        # passing it the hook function to call.
        my $type=shift;
@@ -1550,53 +1550,53 @@ sub run_hooks ($$) { # {{{
        }
 
        return 1;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        $hooks{rcs}{rcs_update}{call}->(@_);
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        $hooks{rcs}{rcs_prepedit}{call}->(@_);
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        $hooks{rcs}{rcs_commit}{call}->(@_);
-} #}}}
+}
 
-sub rcs_commit_staged ($$$) { #{{{
+sub rcs_commit_staged ($$$) {
        $hooks{rcs}{rcs_commit_staged}{call}->(@_);
-} #}}}
+}
 
-sub rcs_add ($) { #{{{
+sub rcs_add ($) {
        $hooks{rcs}{rcs_add}{call}->(@_);
-} #}}}
+}
 
-sub rcs_remove ($) { #{{{
+sub rcs_remove ($) {
        $hooks{rcs}{rcs_remove}{call}->(@_);
-} #}}}
+}
 
-sub rcs_rename ($$) { #{{{
+sub rcs_rename ($$) {
        $hooks{rcs}{rcs_rename}{call}->(@_);
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        $hooks{rcs}{rcs_recentchanges}{call}->(@_);
-} #}}}
+}
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        $hooks{rcs}{rcs_diff}{call}->(@_);
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        $hooks{rcs}{rcs_getctime}{call}->(@_);
-} #}}}
+}
 
-sub rcs_receive () { #{{{
+sub rcs_receive () {
        $hooks{rcs}{rcs_receive}{call}->();
-} #}}}
+}
 
-sub globlist_to_pagespec ($) { #{{{
+sub globlist_to_pagespec ($) {
        my @globlist=split(' ', shift);
 
        my (@spec, @skip);
@@ -1620,20 +1620,20 @@ sub globlist_to_pagespec ($) { #{{{
                }
        }
        return $spec;
-} #}}}
+}
 
-sub is_globlist ($) { #{{{
+sub is_globlist ($) {
        my $s=shift;
        return ( $s =~ /[^\s]+\s+([^\s]+)/ && $1 ne "and" && $1 ne "or" );
-} #}}}
+}
 
-sub safequote ($) { #{{{
+sub safequote ($) {
        my $s=shift;
        $s=~s/[{}]//g;
        return "q{$s}";
-} #}}}
+}
 
-sub add_depends ($$) { #{{{
+sub add_depends ($$) {
        my $page=shift;
        my $pagespec=shift;
        
@@ -1647,9 +1647,9 @@ sub add_depends ($$) { #{{{
        }
 
        return 1;
-} # }}}
+}
 
-sub file_pruned ($$) { #{{{
+sub file_pruned ($$) {
        require File::Spec;
        my $file=File::Spec->canonpath(shift);
        my $base=File::Spec->canonpath(shift);
@@ -1657,9 +1657,9 @@ sub file_pruned ($$) { #{{{
 
        my $regexp='('.join('|', @{$config{wiki_file_prune_regexps}}).')';
        return $file =~ m/$regexp/ && $file ne $base;
-} #}}}
+}
 
-sub gettext { #{{{
+sub gettext {
        # Only use gettext in the rare cases it's needed.
        if ((exists $ENV{LANG} && length $ENV{LANG}) ||
            (exists $ENV{LC_ALL} && length $ENV{LC_ALL}) ||
@@ -1680,15 +1680,15 @@ sub gettext { #{{{
        else {
                return shift;
        }
-} #}}}
+}
 
-sub yesno ($) { #{{{
+sub yesno ($) {
        my $val=shift;
 
        return (defined $val && lc($val) eq gettext("yes"));
-} #}}}
+}
 
-sub inject { #{{{
+sub inject {
        # Injects a new function into the symbol table to replace an
        # exported function.
        my %params=@_;
@@ -1711,9 +1711,9 @@ sub inject { #{{{
        }
        use strict;
        use warnings;
-} #}}}
+}
 
-sub pagespec_merge ($$) { #{{{
+sub pagespec_merge ($$) {
        my $a=shift;
        my $b=shift;
 
@@ -1728,9 +1728,9 @@ sub pagespec_merge ($$) { #{{{
         }
 
        return "($a) or ($b)";
-} #}}}
+}
 
-sub pagespec_translate ($) { #{{{
+sub pagespec_translate ($) {
        my $spec=shift;
 
        # Support for old-style GlobLists.
@@ -1784,9 +1784,9 @@ sub pagespec_translate ($) { #{{{
 
        no warnings;
        return eval 'sub { my $page=shift; '.$code.' }';
-} #}}}
+}
 
-sub pagespec_match ($$;@) { #{{{
+sub pagespec_match ($$;@) {
        my $page=shift;
        my $spec=shift;
        my @params=@_;
@@ -1799,55 +1799,55 @@ sub pagespec_match ($$;@) { #{{{
        my $sub=pagespec_translate($spec);
        return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"") if $@;
        return $sub->($page, @params);
-} #}}}
+}
 
-sub pagespec_valid ($) { #{{{
+sub pagespec_valid ($) {
        my $spec=shift;
 
        my $sub=pagespec_translate($spec);
        return ! $@;
-} #}}}
+}
 
-sub glob2re ($) { #{{{
+sub glob2re ($) {
        my $re=quotemeta(shift);
        $re=~s/\\\*/.*/g;
        $re=~s/\\\?/./g;
        return $re;
-} #}}}
+}
 
 package IkiWiki::FailReason;
 
-use overload ( #{{{
+use overload (
        '""'    => sub { ${$_[0]} },
        '0+'    => sub { 0 },
        '!'     => sub { bless $_[0], 'IkiWiki::SuccessReason'},
        fallback => 1,
-); #}}}
+);
 
-sub new { #{{{
+sub new {
        my $class = shift;
        my $value = shift;
        return bless \$value, $class;
-} #}}}
+}
 
 package IkiWiki::SuccessReason;
 
-use overload ( #{{{
+use overload (
        '""'    => sub { ${$_[0]} },
        '0+'    => sub { 1 },
        '!'     => sub { bless $_[0], 'IkiWiki::FailReason'},
        fallback => 1,
-); #}}}
+);
 
-sub new { #{{{
+sub new {
        my $class = shift;
        my $value = shift;
        return bless \$value, $class;
-}; #}}}
+};
 
 package IkiWiki::PageSpec;
 
-sub match_glob ($$;@) { #{{{
+sub match_glob ($$;@) {
        my $page=shift;
        my $glob=shift;
        my %params=@_;
@@ -1873,13 +1873,13 @@ sub match_glob ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("$glob does not match $page");
        }
-} #}}}
+}
 
-sub match_internal ($$;@) { #{{{
+sub match_internal ($$;@) {
        return match_glob($_[0], $_[1], @_, internal => 1)
-} #}}}
+}
 
-sub match_link ($$;@) { #{{{
+sub match_link ($$;@) {
        my $page=shift;
        my $link=lc(shift);
        my %params=@_;
@@ -1911,13 +1911,13 @@ sub match_link ($$;@) { #{{{
                }
        }
        return IkiWiki::FailReason->new("$page does not link to $link");
-} #}}}
+}
 
-sub match_backlink ($$;@) { #{{{
+sub match_backlink ($$;@) {
        return match_link($_[1], $_[0], @_);
-} #}}}
+}
 
-sub match_created_before ($$;@) { #{{{
+sub match_created_before ($$;@) {
        my $page=shift;
        my $testpage=shift;
 
@@ -1932,9 +1932,9 @@ sub match_created_before ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("$testpage has no ctime");
        }
-} #}}}
+}
 
-sub match_created_after ($$;@) { #{{{
+sub match_created_after ($$;@) {
        my $page=shift;
        my $testpage=shift;
 
@@ -1949,36 +1949,36 @@ sub match_created_after ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("$testpage has no ctime");
        }
-} #}}}
+}
 
-sub match_creation_day ($$;@) { #{{{
+sub match_creation_day ($$;@) {
        if ((gmtime($IkiWiki::pagectime{shift()}))[3] == shift) {
                return IkiWiki::SuccessReason->new('creation_day matched');
        }
        else {
                return IkiWiki::FailReason->new('creation_day did not match');
        }
-} #}}}
+}
 
-sub match_creation_month ($$;@) { #{{{
+sub match_creation_month ($$;@) {
        if ((gmtime($IkiWiki::pagectime{shift()}))[4] + 1 == shift) {
                return IkiWiki::SuccessReason->new('creation_month matched');
        }
        else {
                return IkiWiki::FailReason->new('creation_month did not match');
        }
-} #}}}
+}
 
-sub match_creation_year ($$;@) { #{{{
+sub match_creation_year ($$;@) {
        if ((gmtime($IkiWiki::pagectime{shift()}))[5] + 1900 == shift) {
                return IkiWiki::SuccessReason->new('creation_year matched');
        }
        else {
                return IkiWiki::FailReason->new('creation_year did not match');
        }
-} #}}}
+}
 
-sub match_user ($$;@) { #{{{
+sub match_user ($$;@) {
        shift;
        my $user=shift;
        my %params=@_;
@@ -1996,9 +1996,9 @@ sub match_user ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("user is $params{user}, not $user");
        }
-} #}}}
+}
 
-sub match_admin ($$;@) { #{{{
+sub match_admin ($$;@) {
        shift;
        shift;
        my %params=@_;
@@ -2016,9 +2016,9 @@ sub match_admin ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("user is not an admin");
        }
-} #}}}
+}
 
-sub match_ip ($$;@) { #{{{
+sub match_ip ($$;@) {
        shift;
        my $ip=shift;
        my %params=@_;
@@ -2033,6 +2033,6 @@ sub match_ip ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("IP is $params{ip}, not $ip");
        }
-} #}}}
+}
 
 1
index a45e12e3168c54540b22f72e95c28d35eef003e5..81cb42d1309fd537ef7a7e7da799ca95ff7a50ee 100644 (file)
@@ -9,7 +9,7 @@ use IkiWiki::UserInfo;
 use open qw{:utf8 :std};
 use Encode;
 
-sub printheader ($) { #{{{
+sub printheader ($) {
        my $session=shift;
        
        if ($config{sslcookie}) {
@@ -19,9 +19,9 @@ sub printheader ($) { #{{{
                print $session->header(-charset => 'utf-8',
                        -cookie => $session->cookie(-httponly => 1));
        }
-} #}}}
+}
 
-sub showform ($$$$;@) { #{{{
+sub showform ($$$$;@) {
        my $form=shift;
        my $buttons=shift;
        my $session=shift;
@@ -36,9 +36,9 @@ sub showform ($$$$;@) { #{{{
 
        printheader($session);
        print misctemplate($form->title, $form->render(submit => $buttons), @_);
-} #}}}
+}
 
-sub redirect ($$) { #{{{
+sub redirect ($$) {
        my $q=shift;
        my $url=shift;
        if (! $config{w3mmode}) {
@@ -48,9 +48,9 @@ sub redirect ($$) { #{{{
                print "Content-type: text/plain\n";
                print "W3m-control: GOTO $url\n\n";
        }
-} #}}}
+}
 
-sub decode_cgi_utf8 ($) { #{{{
+sub decode_cgi_utf8 ($) {
        # decode_form_utf8 method is needed for 5.10
        if ($] < 5.01) {
                my $cgi = shift;
@@ -58,9 +58,9 @@ sub decode_cgi_utf8 ($) { #{{{
                        $cgi->param($f, map { decode_utf8 $_ } $cgi->param($f));
                }
        }
-} #}}}
+}
 
-sub decode_form_utf8 ($) { #{{{
+sub decode_form_utf8 ($) {
        if ($] >= 5.01) {
                my $form = shift;
                foreach my $f ($form->field) {
@@ -70,11 +70,11 @@ sub decode_form_utf8 ($) { #{{{
                        );
                }
        }
-} #}}}
+}
 
 # Check if the user is signed in. If not, redirect to the signin form and
 # save their place to return to later.
-sub needsignin ($$) { #{{{
+sub needsignin ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -85,9 +85,9 @@ sub needsignin ($$) { #{{{
                cgi_savesession($session);
                exit;
        }
-} #}}} 
+}
 
-sub cgi_signin ($$) { #{{{
+sub cgi_signin ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -127,9 +127,9 @@ sub cgi_signin ($$) { #{{{
        }
 
        showform($form, $buttons, $session, $q);
-} #}}}
+}
 
-sub cgi_postsignin ($$) { #{{{
+sub cgi_postsignin ($$) {
        my $q=shift;
        my $session=shift;
        
@@ -144,9 +144,9 @@ sub cgi_postsignin ($$) { #{{{
        else {
                error(gettext("login failed, perhaps you need to turn on cookies?"));
        }
-} #}}}
+}
 
-sub cgi_prefs ($$) { #{{{
+sub cgi_prefs ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -254,9 +254,9 @@ sub cgi_prefs ($$) { #{{{
        }
        
        showform($form, $buttons, $session, $q);
-} #}}}
+}
 
-sub check_banned ($$) { #{{{
+sub check_banned ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -273,9 +273,9 @@ sub check_banned ($$) { #{{{
                        exit;
                }
        }
-} #}}}
+}
 
-sub cgi_getsession ($) { #{{{
+sub cgi_getsession ($) {
        my $q=shift;
 
        eval q{use CGI::Session; use HTML::Entities};
@@ -294,13 +294,13 @@ sub cgi_getsession ($) { #{{{
        umask($oldmask);
 
        return $session;
-} #}}}
+}
 
 # To guard against CSRF, the user's session id (sid)
 # can be stored on a form. This function will check
 # (for logged in users) that the sid on the form matches
 # the session id in the cookie.
-sub checksessionexpiry ($$) { # {{{
+sub checksessionexpiry ($$) {
        my $q=shift;
        my $session = shift;
 
@@ -310,18 +310,18 @@ sub checksessionexpiry ($$) { # {{{
                        error(gettext("Your login session has expired."));
                }
        }
-} # }}}
+}
 
-sub cgi_savesession ($) { #{{{
+sub cgi_savesession ($) {
        my $session=shift;
 
        # Force session flush with safe umask.
        my $oldmask=umask(077);
        $session->flush;
        umask($oldmask);
-} #}}}
+}
 
-sub cgi (;$$) { #{{{
+sub cgi (;$$) {
        my $q=shift;
        my $session=shift;
 
@@ -391,16 +391,16 @@ sub cgi (;$$) { #{{{
        else {
                error("unknown do parameter");
        }
-} #}}}
+}
 
 # Does not need to be called directly; all errors will go through here.
-sub cgierror ($) { #{{{
+sub cgierror ($) {
        my $message=shift;
 
        print "Content-type: text/html\n\n";
        print misctemplate(gettext("Error"),
                "<p class=\"error\">".gettext("Error").": $message</p>");
        die $@;
-} #}}}
+}
 
 1
index adaa619ab1a255d5904c71bc100c52c2fb10b414..29bc6d0ceba8349f9db5d49e223b1293882e32c7 100644 (file)
@@ -14,7 +14,7 @@ use open qw{:utf8 :std};
 my %feeds;
 my %guids;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "aggregate", call => \&getopt);
        hook(type => "getsetup", id => "aggregate", call => \&getsetup);
        hook(type => "checkconfig", id => "aggregate", call => \&checkconfig);
@@ -26,9 +26,9 @@ sub import { #{{{
        if (exists $config{aggregate_webtrigger} && $config{aggregate_webtrigger}) {
                hook(type => "cgi", id => "aggregate", call => \&cgi);
        }
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
         eval q{use Getopt::Long};
        error($@) if $@;
         Getopt::Long::Configure('pass_through');
@@ -36,9 +36,9 @@ sub getopt () { #{{{
                "aggregate" => \$config{aggregate},
                "aggregateinternal!" => \$config{aggregateinternal},
        );
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -58,16 +58,16 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if ($config{aggregate} && ! ($config{post_commit} && 
                                     IkiWiki::commit_hook_enabled())) {
                launchaggregation();
        }
-} #}}}
+}
 
-sub cgi ($) { #{{{
+sub cgi ($) {
        my $cgi=shift;
 
        if (defined $cgi->param('do') &&
@@ -90,9 +90,9 @@ sub cgi ($) { #{{{
                }
                exit 0;
        }
-} #}}}
+}
 
-sub launchaggregation () { #{{{
+sub launchaggregation () {
        # See if any feeds need aggregation.
        loadstate();
        my @feeds=needsaggregate();
@@ -135,16 +135,16 @@ sub launchaggregation () { #{{{
        unlockaggregate();
 
        return 1;
-} #}}}
+}
 
 #  Pages with extension _aggregated have plain html markup, pass through.
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        return $params{content};
-} #}}}
+}
 
 # Used by ikiwiki-transition aggregateinternal.
-sub migrate_to_internal { #{{{
+sub migrate_to_internal {
        if (! lockaggregate()) {
                error("an aggregation process is currently running");
        }
@@ -190,9 +190,9 @@ sub migrate_to_internal { #{{{
        IkiWiki::unlockwiki;
        
        unlockaggregate();
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
        
        loadstate();
@@ -206,9 +206,9 @@ sub needsbuild (@) { #{{{
                        markunseen($feed->{sourcepage});
                }
        }
-} # }}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        foreach my $required (qw{name url}) {
@@ -265,9 +265,9 @@ sub preprocess (@) { #{{{
               ($feed->{newposts} ? "; ".$feed->{newposts}.
                                    " ".gettext("new") : "").
               ")";
-} # }}}
+}
 
-sub delete (@) { #{{{
+sub delete (@) {
        my @files=@_;
 
        # Remove feed data for removed pages.
@@ -275,9 +275,9 @@ sub delete (@) { #{{{
                my $page=pagename($file);
                markunseen($page);
        }
-} #}}}
+}
 
-sub markunseen ($) { #{{{
+sub markunseen ($) {
        my $page=shift;
 
        foreach my $id (keys %feeds) {
@@ -285,11 +285,11 @@ sub markunseen ($) { #{{{
                        $feeds{$id}->{unseen}=1;
                }
        }
-} #}}}
+}
 
 my $state_loaded=0;
 
-sub loadstate () { #{{{
+sub loadstate () {
        return if $state_loaded;
        $state_loaded=1;
        if (-e "$config{wikistatedir}/aggregate") {
@@ -323,9 +323,9 @@ sub loadstate () { #{{{
 
                close IN;
        }
-} #}}}
+}
 
-sub savestate () { #{{{
+sub savestate () {
        return unless $state_loaded;
        garbage_collect();
        my $newfile="$config{wikistatedir}/aggregate.new";
@@ -350,9 +350,9 @@ sub savestate () { #{{{
        close OUT || error("save $newfile: $!", $cleanup);
        rename($newfile, "$config{wikistatedir}/aggregate") ||
                error("rename $newfile: $!", $cleanup);
-} #}}}
+}
 
-sub garbage_collect () { #{{{
+sub garbage_collect () {
        foreach my $name (keys %feeds) {
                # remove any feeds that were not seen while building the pages
                # that used to contain them
@@ -375,9 +375,9 @@ sub garbage_collect () { #{{{
                        delete $guid->{md5};
                }
        }
-} #}}}
+}
 
-sub mergestate () { #{{{
+sub mergestate () {
        # Load the current state in from disk, and merge into it
        # values from the state in memory that might have changed
        # during aggregation.
@@ -407,15 +407,15 @@ sub mergestate () { #{{{
                        $guids{$guid}=$myguids{$guid};
                }
        }
-} #}}}
+}
 
-sub clearstate () { #{{{
+sub clearstate () {
        %feeds=();
        %guids=();
        $state_loaded=0;
-} #}}}
+}
 
-sub expire () { #{{{
+sub expire () {
        foreach my $feed (values %feeds) {
                next unless $feed->{expireage} || $feed->{expirecount};
                my $count=0;
@@ -444,14 +444,14 @@ sub expire () { #{{{
                        }
                }
        }
-} #}}}
+}
 
-sub needsaggregate () { #{{{
+sub needsaggregate () {
        return values %feeds if $config{rebuild};
        return grep { time - $_->{lastupdate} >= $_->{updateinterval} } values %feeds;
-} #}}}
+}
 
-sub aggregate (@) { #{{{
+sub aggregate (@) {
        eval q{use XML::Feed};
        error($@) if $@;
        eval q{use URI::Fetch};
@@ -542,9 +542,9 @@ sub aggregate (@) { #{{{
                        );
                }
        }
-} #}}}
+}
 
-sub add_page (@) { #{{{
+sub add_page (@) {
        my %params=@_;
        
        my $feed=$params{feed};
@@ -635,21 +635,21 @@ sub add_page (@) { #{{{
                # Dummy value for expiry code.
                $IkiWiki::pagectime{$guid->{page}}=time;
        }
-} #}}}
+}
 
-sub wikiescape ($) { #{{{
+sub wikiescape ($) {
        # escape accidental wikilinks and preprocessor stuff
        return encode_entities(shift, '\[\]');
-} #}}}
+}
 
-sub urlabs ($$) { #{{{
+sub urlabs ($$) {
        my $url=shift;
        my $urlbase=shift;
 
        URI->new_abs($url, $urlbase)->as_string;
-} #}}}
+}
 
-sub htmlabs ($$) { #{{{
+sub htmlabs ($$) {
        # Convert links in html from relative to absolute.
        # Note that this is a heuristic, which is not specified by the rss
        # spec and may not be right for all feeds. Also, see Debian
@@ -685,15 +685,15 @@ sub htmlabs ($$) { #{{{
        $p->eof;
 
        return $ret;
-} #}}}
+}
 
-sub htmlfn ($) { #{{{
+sub htmlfn ($) {
        return shift().".".($config{aggregateinternal} ? "_aggregated" : $config{htmlext});
-} #}}}
+}
 
 my $aggregatelock;
 
-sub lockaggregate () { #{{{
+sub lockaggregate () {
        # Take an exclusive lock to prevent multiple concurrent aggregators.
        # Returns true if the lock was aquired.
        if (! -d $config{wikistatedir}) {
@@ -706,11 +706,11 @@ sub lockaggregate () { #{{{
                return 0;
        }
        return 1;
-} #}}}
+}
 
-sub unlockaggregate () { #{{{
+sub unlockaggregate () {
        return close($aggregatelock) if $aggregatelock;
        return;
-} #}}}
+}
 
 1
index 597539c13b0f2c218955dc81da2f26dfb7aa6fb4..93c10b629320bf78b5fc1d7e28df24598244f2a4 100644 (file)
@@ -16,13 +16,13 @@ BEGIN {
        }
 };
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "amazon_s3", call => \&getopt);
        hook(type => "getsetup", id => "amazon_s3", call => \&getsetup);
        hook(type => "checkconfig", id => "amazon_s3", call => \&checkconfig);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
         eval q{use Getopt::Long};
         error($@) if $@;
         Getopt::Long::Configure('pass_through');
@@ -38,9 +38,9 @@ sub getopt () { #{{{
                debug(gettext("done"));
                exit(0);
        });
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0,
@@ -88,9 +88,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub checkconfig { #{{{
+sub checkconfig {
        foreach my $field (qw{amazon_s3_key_id amazon_s3_key_file
                              amazon_s3_bucket}) {
                if (! exists $config{$field} || ! defined $config{$field}) {
@@ -101,11 +101,11 @@ sub checkconfig { #{{{
            ! defined $config{amazon_s3_prefix}) {
            $config{amazon_s3_prefix}="wiki/";
        }
-} #}}}
+}
 
 {
 my $bucket;
-sub getbucket { #{{{
+sub getbucket {
        return $bucket if defined $bucket;
        
        open(IN, "<", $config{amazon_s3_key_file}) || error($config{amazon_s3_key_file}.": ".$!);
@@ -138,11 +138,11 @@ sub getbucket { #{{{
        }
 
        return $bucket;
-} #}}}
+}
 }
 
 # Given a file, return any S3 keys associated with it.
-sub file2keys ($) { #{{{
+sub file2keys ($) {
        my $file=shift;
 
        my @keys;
@@ -162,14 +162,14 @@ sub file2keys ($) { #{{{
                }
        }
        return @keys;
-} #}}}
+}
 
 package IkiWiki;
 use File::MimeInfo;
 use Encode;
 
 # This is a wrapper around the real writefile.
-sub writefile ($$$;$$) { #{{{
+sub writefile ($$$;$$) {
         my $file=shift;
         my $destdir=shift;
         my $content=shift;
@@ -225,10 +225,10 @@ sub writefile ($$$;$$) { #{{{
        }
 
        return $ret;
-} #}}}
+}
 
 # This is a wrapper around the real prune.
-sub prune ($) { #{{{
+sub prune ($) {
        my $file=shift;
 
        my @keys=IkiWiki::Plugin::amazon_s3::file2keys($file);
@@ -247,6 +247,6 @@ sub prune ($) { #{{{
        }
 
        return $IkiWiki::Plugin::amazon_s3::subs{'IkiWiki::prune'}->($file);
-} #}}}
+}
 
 1
index 2be983693d7d2d67f5cbd39a93b19c0885f6cfa6..1cbdfe4e5f337972c5c2a92e3cbb84aa5ebd514b 100644 (file)
@@ -5,12 +5,12 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "anonok", call => \&getsetup);
        hook(type => "canedit", id => "anonok", call => \&canedit);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -24,9 +24,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub canedit ($$$) { #{{{
+sub canedit ($$$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
@@ -45,6 +45,6 @@ sub canedit ($$$) { #{{{
        else {
                return "";
        }
-} #}}}
+}
 
 1
index 44781165cdaee4d6a0928d4dfe9ec5acc58cb066..87da6cd4ebe50ab55bfab1484e9b87cdc7aa4fe7 100644 (file)
@@ -5,16 +5,16 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        add_underlay("javascript");
        hook(type => "getsetup", id => "attachment", call => \&getsetup);
        hook(type => "checkconfig", id => "attachment", call => \&checkconfig);
        hook(type => "formbuilder_setup", id => "attachment", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "attachment", call => \&formbuilder);
        IkiWiki::loadplugin("filecheck");
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -35,9 +35,9 @@ sub getsetup () { #{{{
                        safe => 0, # executed
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub check_canattach ($$;$) { #{{{
+sub check_canattach ($$;$) {
        my $session=shift;
        my $dest=shift; # where it's going to be put, under the srcdir
        my $file=shift; # the path to the attachment currently
@@ -84,13 +84,13 @@ sub check_canattach ($$;$) { #{{{
        else {
                return 1;
        }
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        $config{cgi_disable_uploads}=0;
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
        my $form=$params{form};
        my $q=$params{cgi};
@@ -153,9 +153,9 @@ sub formbuilder_setup (@) { #{{{
                        }
                }
        }
-} #}}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        my $form=$params{form};
        my $q=$params{cgi};
@@ -253,9 +253,9 @@ sub formbuilder (@) { #{{{
        # Generate the attachment list only after having added any new
        # attachments.
        $form->tmpl_param("attachment_list" => [attachment_list($form->field('page'))]);
-} # }}}
+}
 
-sub attachment_location ($) { #{{{
+sub attachment_location ($) {
        my $page=shift;
        
        # Put the attachment in a subdir of the page it's attached
@@ -264,9 +264,9 @@ sub attachment_location ($) { #{{{
        $page.="/" if length $page;
        
        return $page;
-} #}}}
+}
 
-sub attachment_list ($) { #{{{
+sub attachment_list ($) {
        my $page=shift;
        my $loc=attachment_location($page);
 
@@ -287,6 +287,6 @@ sub attachment_list ($) { #{{{
        # Sort newer attachments to the top of the list, so a newly-added
        # attachment appears just before the form used to add it.
        return sort { $b->{mtime_raw} <=> $a->{mtime_raw} || $a->{link} cmp $b->{link} } @ret;
-} #}}}
+}
 
 1
index d1b3edb1f3cb6394d6bda558aed507fee627b4c3..bb08091aefdf97b4f3043470f3bb8703f2f47a88 100644 (file)
@@ -6,20 +6,20 @@ use strict;
 use IkiWiki 2.00;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "autoindex", call => \&getsetup);
        hook(type => "refresh", id => "autoindex", call => \&refresh);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub genindex ($) { #{{{
+sub genindex ($) {
        my $page=shift;
        my $file=newpagefile($page, $config{default_pageext});
        my $template=template("autoindex.tmpl");
@@ -28,9 +28,9 @@ sub genindex ($) { #{{{
        if ($config{rcs}) {
                IkiWiki::rcs_add($file);
        }
-} #}}}
+}
 
-sub refresh () { #{{{
+sub refresh () {
        eval q{use File::Find};
        error($@) if $@;
 
@@ -107,6 +107,6 @@ sub refresh () { #{{{
                        IkiWiki::enable_commit_hook();
                }
        }
-} #}}}
+}
 
 1
index 37752dd3ef9e9b4113bfcaa1a9b49bb0a4e06bab..1c52099bf9be94360e7f6fde85befdd6e22ca4b4 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "brokenlinks", call => \&getsetup);
        hook(type => "preprocess", id => "brokenlinks", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
        
@@ -61,6 +61,6 @@ sub preprocess (@) { #{{{
                        }
                        sort @broken)
                ."</ul>\n";
-} # }}}
+}
 
 1
index 1054f5b3e3f0be1c39e3865fc0a8b90b80ae2b74..16c959069e915c5ca746b609a1b753dbe1e42446 100644 (file)
@@ -7,7 +7,7 @@ use IkiWiki;
 use Encode;
 use open qw{:utf8 :std};
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "bzr", call => \&checkconfig);
        hook(type => "getsetup", id => "bzr", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -20,18 +20,18 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (defined $config{bzr_wrapper} && length $config{bzr_wrapper}) {
                push @{$config{wrappers}}, {
                        wrapper => $config{bzr_wrapper},
                        wrappermode => (defined $config{bzr_wrappermode} ? $config{bzr_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -65,9 +65,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub bzr_log ($) { #{{{
+sub bzr_log ($) {
        my $out = shift;
        my @infos = ();
        my $key = undef;
@@ -99,20 +99,20 @@ sub bzr_log ($) { #{{{
        close $out;
 
        return @infos;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        my @cmdline = ("bzr", "update", "--quiet", $config{srcdir});
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        return "";
-} #}}}
+}
 
-sub bzr_author ($$) { #{{{
+sub bzr_author ($$) {
        my ($user, $ipaddr) = @_;
 
        if (defined $user) {
@@ -124,9 +124,9 @@ sub bzr_author ($$) { #{{{
        else {
                return "Anonymous";
        }
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
 
        $user = bzr_author($user, $ipaddr);
@@ -143,7 +143,7 @@ sub rcs_commit ($$$;$$) { #{{{
        }
 
        return undef; # success
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -164,27 +164,27 @@ sub rcs_commit_staged ($$$) {
        }
 
        return undef; # success
-} #}}}
+}
 
-sub rcs_add ($) { # {{{
+sub rcs_add ($) {
        my ($file) = @_;
 
        my @cmdline = ("bzr", "add", "--quiet", "$config{srcdir}/$file");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_remove ($) { # {{{
+sub rcs_remove ($) {
        my ($file) = @_;
 
        my @cmdline = ("bzr", "rm", "--force", "--quiet", "$config{srcdir}/$file");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_rename ($$) { # {{{
+sub rcs_rename ($$) {
        my ($src, $dest) = @_;
 
        my $parent = IkiWiki::dirname($dest);
@@ -196,9 +196,9 @@ sub rcs_rename ($$) { # {{{
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        my ($num) = @_;
 
        my @cmdline = ("bzr", "log", "-v", "--show-ids", "--limit", $num, 
@@ -253,9 +253,9 @@ sub rcs_recentchanges ($) { #{{{
        }
 
        return @ret;
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my ($file) = @_;
 
        # XXX filename passes through the shell here, should try to avoid
@@ -274,6 +274,6 @@ sub rcs_getctime ($) { #{{{
        
        my $ctime = str2time($log[0]->{"timestamp"});
        return $ctime;
-} #}}}
+}
 
 1
index 6d536a91bb63a6e0a32f399844115e52208d5bdf..88303fc44b971c226c1d0bf02464a75f68d96006 100644 (file)
@@ -29,13 +29,13 @@ my %linkcache;
 my $time=time;
 my @now=localtime($time);
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "calendar", call => \&getsetup);
        hook(type => "needsbuild", id => "calendar", call => \&needsbuild);
        hook(type => "preprocess", id => "calendar", call => \&preprocess);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -48,23 +48,23 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub is_leap_year (@) { #{{{
+sub is_leap_year (@) {
        my %params=@_;
        return ($params{year} % 4 == 0 && (($params{year} % 100 != 0) || $params{year} % 400 == 0));
-} #}}}
+}
 
-sub month_days { #{{{
+sub month_days {
        my %params=@_;
        my $days_in_month = (31,28,31,30,31,30,31,31,30,31,30,31)[$params{month}-1];
        if ($params{month} == 2 && is_leap_year(%params)) {
                $days_in_month++;
        }
        return $days_in_month;
-} #}}}
+}
 
-sub format_month (@) { #{{{
+sub format_month (@) {
        my %params=@_;
 
        my $pagespec = $params{pages};
@@ -215,9 +215,9 @@ EOF
         add_depends($params{page}, join(" or ", @list));
 
        return $calendar;
-} #}}}
+}
 
-sub format_year (@) { #{{{
+sub format_year (@) {
        my %params=@_;
 
        my $pagespec = $params{pages};
@@ -318,9 +318,9 @@ EOF
 EOF
 
        return $calendar;
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages} = "*"            unless defined $params{pages};
        $params{type}  = "month"        unless defined $params{type};
@@ -397,7 +397,7 @@ sub preprocess (@) { #{{{
        return "\n<div><div class=\"calendar\">$calendar</div></div>\n";
 } #}}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{calendar}{nextchange}) {
@@ -415,6 +415,6 @@ sub needsbuild (@) { #{{{
                        }
                }
        }
-} # }}}
+}
 
 1
index 7881becd5a1174f3539a93385d415a906574ada7..6c1fafb7bf13c9673940454acb6b8da22f6c2449 100644 (file)
@@ -22,21 +22,21 @@ my $link_regexp=qr{
        )
 }x;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "camelcase", call => \&getsetup);
        hook(type => "linkify", id => "camelcase", call => \&linkify);
        hook(type => "scan", id => "camelcase", call => \&scan);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                };
-} #}}}
+}
 
-sub linkify (@) { #{{{
+sub linkify (@) {
        my %params=@_;
        my $page=$params{page};
        my $destpage=$params{destpage};
@@ -46,9 +46,9 @@ sub linkify (@) { #{{{
        }eg;
 
        return $params{content};
-} #}}}
+}
 
-sub scan (@) { #{{{
+sub scan (@) {
         my %params=@_;
         my $page=$params{page};
         my $content=$params{content};
index ac702ff026052e34b780ec380cf3cc048b7443bc..53d8389d231cacafc6320292bd2a6b4fcc1456e8 100644 (file)
@@ -7,12 +7,12 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "preprocess", id => "color", call => \&preprocess);
        hook(type => "format",     id => "color", call => \&format);
-} #}}}
+}
 
-sub preserve_style ($$$) { #{{{
+sub preserve_style ($$$) {
        my $foreground = shift;
        my $background = shift;
        my $text       = shift;
@@ -37,18 +37,18 @@ sub preserve_style ($$$) { #{{{
        
        return $preserved;
 
-} #}}}
+}
 
-sub replace_preserved_style ($) { #{{{
+sub replace_preserved_style ($) {
        my $content = shift;
 
        $content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
        $content =~ s!<span class="colorend">!!g;
 
        return $content;
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params = @_;
 
        # Preprocess the text to expand any preprocessor directives
@@ -57,13 +57,13 @@ sub preprocess (@) { #{{{
                                IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
 
        return preserve_style($params{foreground}, $params{background}, $params{text});
-} #}}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
        my %params = @_;
 
        $params{content} = replace_preserved_style($params{content});
        return $params{content};        
-} #}}}
+}
 
 1
index b8748a1d65e188abefee86cde10110356c941b5a..6184c6031281f5c0bd719b2b9dab95ae8337a100 100644 (file)
@@ -17,7 +17,7 @@ use constant CANCEL => "Cancel";
 
 my $postcomment;
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => 'comments',  call => \&checkconfig);
        hook(type => "getsetup", id => 'comments',  call => \&getsetup);
        hook(type => "preprocess", id => '_comment', call => \&preprocess);
@@ -26,9 +26,9 @@ sub import { #{{{
        hook(type => "pagetemplate", id => "comments", call => \&pagetemplate);
        hook(type => "cgi", id => "comments", call => \&linkcgi);
        IkiWiki::loadplugin("inline");
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -88,15 +88,15 @@ sub getsetup () { #{{{
                        safe => 0,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub htmlize { # {{{
+sub htmlize {
        my %params = @_;
        return $params{content};
-} # }}}
+}
 
 # FIXME: copied verbatim from meta
-sub safeurl ($) { #{{{
+sub safeurl ($) {
        my $url=shift;
        if (exists $IkiWiki::Plugin::htmlscrubber::{safe_url_regexp} &&
            defined $IkiWiki::Plugin::htmlscrubber::safe_url_regexp) {
@@ -105,9 +105,9 @@ sub safeurl ($) { #{{{
        else {
                return 1;
        }
-} #}}}
+}
 
-sub preprocess { # {{{
+sub preprocess {
        my %params = @_;
        my $page = $params{page};
 
@@ -206,16 +206,16 @@ sub preprocess { # {{{
        # FIXME: hard-coded HTML (although it's just to set an ID)
        return "<div id=\"$anchor\">$content</div>" if $anchor;
        return $content;
-} # }}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        $config{comments_commit} = 1 unless defined $config{comments_commit};
        $config{comments_pagename} = 'comment_'
                unless defined $config{comments_pagename};
-} #}}}
+}
 
 # This is exactly the same as recentchanges_link :-(
-sub linkcgi ($) { #{{{
+sub linkcgi ($) {
        my $cgi=shift;
        if (defined $cgi->param('do') && $cgi->param('do') eq "commenter") {
 
@@ -245,7 +245,7 @@ sub linkcgi ($) { #{{{
 
 # FIXME: basically the same logic as recentchanges
 # returns (author URL, pretty-printed version)
-sub linkuser ($) { # {{{
+sub linkuser ($) {
        my $user = shift;
        my $oiduser = eval { IkiWiki::openiduser($user) };
 
@@ -262,10 +262,10 @@ sub linkuser ($) { # {{{
                                        : "$user")
                        ), $user);
        }
-} # }}}
+}
 
 # Mostly cargo-culted from IkiWiki::plugin::editpage
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
 
@@ -512,9 +512,9 @@ sub sessioncgi ($$) { #{{{
        }
 
        exit;
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params = @_;
 
        my $page = $params{page};
@@ -583,7 +583,7 @@ sub pagetemplate (@) { #{{{
                $template->param(commentauthorurl =>
                        $pagestate{$page}{comments}{commentauthorurl});
        }
-} # }}}
+}
 
 package IkiWiki::PageSpec;
 
index e787424aaee5ca0e01c58f236a87f32c2d493e02..66253e07d9e5aa18d33a4d81db177acf672a8a90 100644 (file)
@@ -6,20 +6,20 @@ use strict;
 use IkiWiki 2.00;
 use UNIVERSAL;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "conditional", call => \&getsetup);
        hook(type => "preprocess", id => "if", call => \&preprocess_if);
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess_if (@) { #{{{
+sub preprocess_if (@) {
        my %params=@_;
 
        foreach my $param (qw{test then}) {
@@ -66,11 +66,11 @@ sub preprocess_if (@) { #{{{
        }
        return IkiWiki::preprocess($params{page}, $params{destpage}, 
                IkiWiki::filter($params{page}, $params{destpage}, $ret));
-} # }}}
+}
 
 package IkiWiki::PageSpec;
 
-sub match_enabled ($$;@) { #{{{
+sub match_enabled ($$;@) {
        shift;
        my $plugin=shift;
        
@@ -81,9 +81,9 @@ sub match_enabled ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("$plugin is not enabled");
        }
-} #}}}
+}
 
-sub match_sourcepage ($$;@) { #{{{
+sub match_sourcepage ($$;@) {
        shift;
        my $glob=shift;
        my %params=@_;
@@ -95,9 +95,9 @@ sub match_sourcepage ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("sourcepage does not match $glob");
        }
-} #}}}
+}
 
-sub match_destpage ($$;@) { #{{{
+sub match_destpage ($$;@) {
        shift;
        my $glob=shift;
        my %params=@_;
@@ -109,9 +109,9 @@ sub match_destpage ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("destpage does not match $glob");
        }
-} #}}}
+}
 
-sub match_included ($$;@) { #{{{
+sub match_included ($$;@) {
        shift;
        shift;
        my %params=@_;
@@ -123,6 +123,6 @@ sub match_included ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("page $params{sourcepage} is not included");
        }
-} #}}}
+}
 
 1
index 7c729300d9a7e964a72dd137e67a6e42e3fc9991..3c46a48df1e43336763361d3a9d4f3ded41cf76a 100644 (file)
@@ -7,20 +7,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "creole", call => \&getsetup);
        hook(type => "htmlize", id => "creole", call => \&htmlize);
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        my $content = $params{content};
 
@@ -32,6 +32,6 @@ sub htmlize (@) { #{{{
        creole_custombarelinks();
 
        return creole_parse($content);
-} # }}}
+}
 
 1
index 92667a1ef458922f6cc8e18a9df6eef4e1002937..e579c1ea27596b3ce02c8e48b70fde7499bf0055 100644 (file)
@@ -7,22 +7,22 @@ use IkiWiki 2.00;
 
 my %savedtext;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "cutpaste", call => \&getsetup);
        hook(type => "preprocess", id => "cut", call => \&preprocess_cut, scan => 1);
        hook(type => "preprocess", id => "copy", call => \&preprocess_copy, scan => 1);
        hook(type => "preprocess", id => "paste", call => \&preprocess_paste);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess_cut (@) { #{{{
+sub preprocess_cut (@) {
        my %params=@_;
 
        foreach my $param (qw{id text}) {
@@ -35,9 +35,9 @@ sub preprocess_cut (@) { #{{{
        $savedtext{$params{page}}->{$params{id}} = $params{text};
 
        return "" if defined wantarray;
-} # }}}
+}
 
-sub preprocess_copy (@) { #{{{
+sub preprocess_copy (@) {
        my %params=@_;
 
        foreach my $param (qw{id text}) {
@@ -51,9 +51,9 @@ sub preprocess_copy (@) { #{{{
 
        return IkiWiki::preprocess($params{page}, $params{destpage}, 
                IkiWiki::filter($params{page}, $params{destpage}, $params{text})) if defined wantarray;
-} # }}}
+}
 
-sub preprocess_paste (@) { #{{{
+sub preprocess_paste (@) {
        my %params=@_;
 
        foreach my $param (qw{id}) {
@@ -71,6 +71,6 @@ sub preprocess_paste (@) { #{{{
 
        return IkiWiki::preprocess($params{page}, $params{destpage}, 
                IkiWiki::filter($params{page}, $params{destpage}, $savedtext{$params{page}}->{$params{id}}));
-} # }}}
+}
 
 1;
index c73317b2f81cbb46abb48b2a55357e8d77adb625..3470640dc1ed30748181d14118847680cbd47284 100644 (file)
@@ -5,19 +5,19 @@ package IkiWiki::Plugin::ddate;
 use IkiWiki 2.00;
 no warnings;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "ddate", call => \&getsetup);
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub IkiWiki::formattime ($;$) { #{{{
+sub IkiWiki::formattime ($;$) {
        my $time=shift;
        my $format=shift;
        if (! defined $format) {
@@ -36,6 +36,6 @@ sub IkiWiki::formattime ($;$) { #{{{
        my $dt = DateTime->from_epoch(epoch => $time);
        my $dd = DateTime::Calendar::Discordian->from_object(object => $dt);
        return $dd->strftime($format);
-} #}}}
+}
 
 5
index f5d7837fc4c4712de2b693497ce3dd1b7a977b59..068b83b3c15f9b3a790e4c51c56fe5559eadff3a 100644 (file)
@@ -8,21 +8,21 @@ use IkiWiki 2.00;
 use HTML::Entities;
 use IPC::Open2;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "editdiff", call => \&getsetup);
        hook(type => "formbuilder_setup", id => "editdiff",
                call => \&formbuilder_setup);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub diff ($$) { #{{{
+sub diff ($$) {
        my $orig=shift;
        my $content=shift;
 
@@ -50,9 +50,9 @@ sub diff ($$) { #{{{
        return "couldn't run diff\n" if $sigpipe;
 
        return "<pre>".encode_entities($ret)."</pre>";
-} #}}}
+}
 
-sub formbuilder_setup { #{{{
+sub formbuilder_setup {
        my %params=@_;
        my $form=$params{form};
 
@@ -72,6 +72,6 @@ sub formbuilder_setup { #{{{
                my $diff = diff(srcfile($pagesources{$page}), $content);
                $form->tmpl_param("page_preview", $diff);
        }
-} #}}}
+}
 
 1
index 242624d77fb89ae03bed3b6970498673a6137613..9210d6ff8c7a61eeac6e3162e89cc9b92d09847b 100644 (file)
@@ -6,19 +6,19 @@ use strict;
 use IkiWiki;
 use open qw{:utf8 :std};
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "editpage", call => \&getsetup);
        hook(type => "refresh", id => "editpage", call => \&refresh);
         hook(type => "sessioncgi", id => "editpage", call => \&IkiWiki::cgi_editpage);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
 sub refresh () {
        if (exists $wikistate{editpage} && exists $wikistate{editpage}{previews}) {
@@ -54,7 +54,7 @@ sub refresh () {
 # and other plugins use the functions below.
 package IkiWiki;
 
-sub check_canedit ($$$;$) { #{{{
+sub check_canedit ($$$;$) {
        my $page=shift;
        my $q=shift;
        my $session=shift;
@@ -79,9 +79,9 @@ sub check_canedit ($$$;$) { #{{{
                }
        });
        return $canedit;
-} #}}}
+}
 
-sub cgi_editpage ($$) { #{{{
+sub cgi_editpage ($$) {
        my $q=shift;
        my $session=shift;
        
@@ -453,6 +453,6 @@ sub cgi_editpage ($$) { #{{{
        }
 
        exit;
-} #}}}
+}
 
 1
index 846b4e7c832c499a0755860b2c277b282a2b2f1d..7c0e7c2f84fe916f0b26250dfd3a4e0631448956 100644 (file)
@@ -7,7 +7,7 @@ use IkiWiki 2.00;
 use HTML::Template;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "edittemplate",
                call => \&getsetup);
        hook(type => "needsbuild", id => "edittemplate",
@@ -16,17 +16,17 @@ sub import { #{{{
                call => \&preprocess);
        hook(type => "formbuilder", id => "edittemplate",
                call => \&formbuilder);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
 
        foreach my $page (keys %pagestate) {
@@ -40,9 +40,9 @@ sub needsbuild (@) { #{{{
                        }
                }
        }
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
         my %params=@_;
 
        return "" if $params{page} ne $params{destpage};
@@ -62,9 +62,9 @@ sub preprocess (@) { #{{{
        return sprintf(gettext("edittemplate %s registered for %s"),
                htmllink($params{page}, $params{destpage}, $link),
                $params{match});
-} # }}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        my $form=$params{form};
 
@@ -103,9 +103,9 @@ sub formbuilder (@) { #{{{
                        }
                }
        }
-} #}}}
+}
 
-sub filltemplate ($$) { #{{{
+sub filltemplate ($$) {
        my $template_page=shift;
        my $page=shift;
 
@@ -136,6 +136,6 @@ sub filltemplate ($$) { #{{{
        $template->param(name => $page);
 
        return $template->output;
-} #}}}
+}
 
 1
index 2a16373921436d78db16be6455fb59081149ecd2..664c95763c97be51995c092b0689c3544ab17155 100644 (file)
@@ -43,35 +43,35 @@ my $safehtml=qr{(
 
 my @embedded;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "embed", call => \&getsetup);
        hook(type => "filter", id => "embed", call => \&filter);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub embed ($) { #{{{
+sub embed ($) {
        hook(type => "format", id => "embed", call => \&format) unless @embedded;
        push @embedded, shift;
        return "<div class=\"embed$#embedded\"></div>";
-} #}}}
+}
 
-sub filter (@) { #{{{
+sub filter (@) {
        my %params=@_;
        $params{content} =~ s/$safehtml/embed($1)/eg;
        return $params{content};
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
        $params{content} =~ s/<div class="embed(\d+)"><\/div>/$embedded[$1]/eg;
         return $params{content};
-} # }}}
+}
 
 1
index 4ce9c8babb62d45bacb3bb76a4773bd27cb09b5c..2d540143f6471fa46ffd61f4563138ead5ee0b9f 100644 (file)
@@ -14,7 +14,7 @@ use IO::Handle;
 
 my %plugins;
 
-sub import { #{{{
+sub import {
        my $self=shift;
        my $plugin=shift;
        return unless defined $plugin;
@@ -32,17 +32,17 @@ sub import { #{{{
        $RPC::XML::ENCODING="utf-8";
 
        rpc_call($plugins{$plugin}, "import");
-} #}}}
+}
 
-sub rpc_write ($$) { #{{{
+sub rpc_write ($$) {
        my $fh=shift;
        my $string=shift;
 
        $fh->print($string."\n");
        $fh->flush;
-} #}}}
+}
 
-sub rpc_call ($$;@) { #{{{
+sub rpc_call ($$;@) {
        my $plugin=shift;
        my $command=shift;
 
@@ -131,12 +131,12 @@ sub rpc_call ($$;@) { #{{{
        }
 
        return undef;
-} #}}}
+}
 
 package IkiWiki::RPC::XML;
 use Memoize;
 
-sub getvar ($$$) { #{{{
+sub getvar ($$$) {
        my $plugin=shift;
        my $varname="IkiWiki::".shift;
        my $key=shift;
@@ -145,9 +145,9 @@ sub getvar ($$$) { #{{{
        my $ret=$varname->{$key};
        use strict 'refs';
        return $ret;
-} #}}}
+}
 
-sub setvar ($$$;@) { #{{{
+sub setvar ($$$;@) {
        my $plugin=shift;
        my $varname="IkiWiki::".shift;
        my $key=shift;
@@ -157,18 +157,18 @@ sub setvar ($$$;@) { #{{{
        my $ret=$varname->{$key}=$value;
        use strict 'refs';
        return $ret;
-} #}}}
+}
 
-sub getstate ($$$$) { #{{{
+sub getstate ($$$$) {
        my $plugin=shift;
        my $page=shift;
        my $id=shift;
        my $key=shift;
 
        return $IkiWiki::pagestate{$page}{$id}{$key};
-} #}}}
+}
 
-sub setstate ($$$$;@) { #{{{
+sub setstate ($$$$;@) {
        my $plugin=shift;
        my $page=shift;
        my $id=shift;
@@ -176,22 +176,22 @@ sub setstate ($$$$;@) { #{{{
        my $value=shift;
 
        return $IkiWiki::pagestate{$page}{$id}{$key}=$value;
-} #}}}
+}
 
-sub getargv ($) { #{{{
+sub getargv ($) {
        my $plugin=shift;
 
        return \@ARGV;
-} #}}}
+}
 
-sub setargv ($@) { #{{{
+sub setargv ($@) {
        my $plugin=shift;
        my $array=shift;
 
        @ARGV=@$array;
-} #}}}
+}
 
-sub inject ($@) { #{{{
+sub inject ($@) {
        # Bind a given perl function name to a particular RPC request.
        my $plugin=shift;
        my %params=@_;
@@ -213,9 +213,9 @@ sub inject ($@) { #{{{
        # the injected version.
        IkiWiki::inject(name => $params{name}, call => $sub);
        return 1;
-} #}}}
+}
 
-sub hook ($@) { #{{{
+sub hook ($@) {
        # the call parameter is a function name to call, since XML RPC
        # cannot pass a function reference
        my $plugin=shift;
@@ -227,13 +227,13 @@ sub hook ($@) { #{{{
        IkiWiki::hook(%params, call => sub {
                IkiWiki::Plugin::external::rpc_call($plugin, $callback, @_);
        });
-} #}}}
+}
 
-sub pagespec_match ($@) { #{{{
+sub pagespec_match ($@) {
        # convert pagespec_match's return object into a XML RPC boolean
        my $plugin=shift;
 
        return RPC::XML::boolean->new(0 + IkiWiki::pagespec_march(@_));
-} #}}}
+}
 
 1
index e9204dea9fbf1841b386c87b107e33bf0bbfd603..68359a4aa2011d5bdadd461a62b0641526f3fd23 100644 (file)
@@ -7,20 +7,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "favicon", call => \&getsetup);
        hook(type => "pagetemplate", id => "favicon", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
 
        my $template=$params{template};
@@ -28,6 +28,6 @@ sub pagetemplate (@) { #{{{
        if ($template->query(name => "favicon")) {
                $template->param(favicon => "favicon.ico");
        }
-} # }}}
+}
 
 1
index 27f764e3b344a344ef2d491552824c2c40e6e5f1..5040a185cace7e831ff4ab32ee39bd3e338b32cf 100644 (file)
@@ -37,9 +37,9 @@ my %units=( #{{{      # size in bytes
        # ikiwiki, if you find you need larger data quantities, either modify
        # yourself to add them, or travel back in time to 2008 and kill me.
        #   -- Joey
-); #}}}
+);
 
-sub parsesize ($) { #{{{
+sub parsesize ($) {
        my $size=shift;
 
        no warnings;
@@ -51,10 +51,10 @@ sub parsesize ($) { #{{{
                }
        }
        return $base;
-} #}}}
+}
 
 # This is provided for other plugins that want to convert back the other way.
-sub humansize ($) { #{{{
+sub humansize ($) {
        my $size=shift;
 
        foreach my $unit (reverse sort { $units{$a} <=> $units{$b} || $b cmp $a } keys %units) {
@@ -63,11 +63,11 @@ sub humansize ($) { #{{{
                }
        }
        return $size; # near zero, or negative
-} #}}}
+}
 
 package IkiWiki::PageSpec;
 
-sub match_maxsize ($$;@) { #{{{
+sub match_maxsize ($$;@) {
        my $page=shift;
        my $maxsize=eval{IkiWiki::Plugin::filecheck::parsesize(shift)};
        if ($@) {
@@ -86,9 +86,9 @@ sub match_maxsize ($$;@) { #{{{
        else {
                return IkiWiki::SuccessReason->new("file not too large");
        }
-} #}}}
+}
 
-sub match_minsize ($$;@) { #{{{
+sub match_minsize ($$;@) {
        my $page=shift;
        my $minsize=eval{IkiWiki::Plugin::filecheck::parsesize(shift)};
        if ($@) {
@@ -107,9 +107,9 @@ sub match_minsize ($$;@) { #{{{
        else {
                return IkiWiki::SuccessReason->new("file not too small");
        }
-} #}}}
+}
 
-sub match_mimetype ($$;@) { #{{{
+sub match_mimetype ($$;@) {
        my $page=shift;
        my $wanted=shift;
 
@@ -140,9 +140,9 @@ sub match_mimetype ($$;@) { #{{{
        else {
                return IkiWiki::SuccessReason->new("file MIME type is $mimetype");
        }
-} #}}}
+}
 
-sub match_virusfree ($$;@) { #{{{
+sub match_virusfree ($$;@) {
        my $page=shift;
        my $wanted=shift;
 
@@ -182,9 +182,9 @@ sub match_virusfree ($$;@) { #{{{
        else {
                return IkiWiki::SuccessReason->new("file seems virusfree ($reason)");
        }
-} #}}}
+}
 
-sub match_ispage ($$;@) { #{{{
+sub match_ispage ($$;@) {
        my $filename=shift;
 
        if (defined IkiWiki::pagetype($filename)) {
@@ -193,4 +193,4 @@ sub match_ispage ($$;@) { #{{{
        else {
                return IkiWiki::FailReason->new("file is not a wiki page");
        }
-} #}}}
+}
index 1e21a0bdc59d01b1768e04a812b6fd59e4afb7b1..b4d3a3c5ffefc2c79c91be0ff207159614d0bb22 100644 (file)
@@ -5,11 +5,11 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "preprocess", id => "format", call => \&preprocess);
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my $format=$_[0];
        shift; shift;
        my $text=$_[0];
@@ -25,6 +25,6 @@ sub preprocess (@) { #{{{
 
        return IkiWiki::htmlize($params{page}, $params{destpage}, $format,
                IkiWiki::preprocess($params{page}, $params{destpage}, $text));
-} #}}}
+}
 
 1
index 456b63e9f341f215dba522603c20c8a005fec7a0..6a12f28fdfa80506d4dd3611da5382329d1989b1 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "fortune", call => \&getsetup);
        hook(type => "preprocess", id => "fortune", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        $ENV{PATH}="$ENV{PATH}:/usr/games:/usr/local/games";
        my $f = `fortune 2>/dev/null`;
 
@@ -29,6 +29,6 @@ sub preprocess (@) { #{{{
        else {
                return "<pre>$f</pre>\n";
        }
-} # }}}
+}
 
 1
index 1a39d87e5533bccb48e25d4382c72af43901e50d..6a7f6c3ae3f9eaf3e5dafab166fa3060d946cdf0 100644 (file)
@@ -11,7 +11,7 @@ my $sha1_pattern     = qr/[0-9a-fA-F]{40}/; # pattern to validate Git sha1sums
 my $dummy_commit_msg = 'dummy commit';      # message to skip in recent changes
 my $no_chdir=0;
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "git", call => \&checkconfig);
        hook(type => "getsetup", id => "git", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -25,9 +25,9 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
        hook(type => "rcs", id => "rcs_receive", call => \&rcs_receive);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! defined $config{gitorigin_branch}) {
                $config{gitorigin_branch}="origin";
        }
@@ -49,9 +49,9 @@ sub checkconfig () { #{{{
                        wrappermode => (defined $config{git_wrappermode} ? $config{git_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -113,9 +113,9 @@ sub getsetup () { #{{{
                        safe => 0, # paranoia
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub safe_git (&@) { #{{{
+sub safe_git (&@) {
        # Start a child process safely without resorting /bin/sh.
        # Return command output or success state (in scalar context).
 
@@ -152,9 +152,9 @@ sub safe_git (&@) { #{{{
 sub run_or_die ($@) { safe_git(\&error, @_) }
 sub run_or_cry ($@) { safe_git(sub { warn @_ },  @_) }
 sub run_or_non ($@) { safe_git(undef,            @_) }
-#}}}
 
-sub merge_past ($$$) { #{{{
+
+sub merge_past ($$$) {
        # Unlike with Subversion, Git cannot make a 'svn merge -rN:M file'.
        # Git merge commands work with the committed changes, except in the
        # implicit case of '-m' of git checkout(1).  So we should invent a
@@ -246,9 +246,9 @@ sub merge_past ($$$) { #{{{
        error("Git merge failed!\n$failure\n") if $failure;
 
        return $conflict;
-} #}}}
+}
 
-sub parse_diff_tree ($@) { #{{{
+sub parse_diff_tree ($@) {
        # Parse the raw diff tree chunk and return the info hash.
        # See git-diff-tree(1) for the syntax.
 
@@ -358,9 +358,9 @@ sub parse_diff_tree ($@) { #{{{
        }
 
        return \%ci;
-} #}}}
+}
 
-sub git_commit_info ($;$) { #{{{
+sub git_commit_info ($;$) {
        # Return an array of commit info hashes of num commits
        # starting from the given sha1sum.
        my ($sha1, $num) = @_;
@@ -381,9 +381,9 @@ sub git_commit_info ($;$) { #{{{
        warn "Cannot parse commit info for '$sha1' commit" if !@ci;
 
        return wantarray ? @ci : $ci[0];
-} #}}}
+}
 
-sub git_sha1 (;$) { #{{{
+sub git_sha1 (;$) {
        # Return head sha1sum (of given file).
        my $file = shift || q{--};
 
@@ -394,25 +394,25 @@ sub git_sha1 (;$) { #{{{
                ($sha1) = $sha1 =~ m/($sha1_pattern)/; # sha1 is untainted now
        } else { debug("Empty sha1sum for '$file'.") }
        return defined $sha1 ? $sha1 : q{};
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        # Update working directory.
 
        if (length $config{gitorigin_branch}) {
                run_or_cry('git', 'pull', $config{gitorigin_branch});
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        # Return the commit sha1sum of the file when editing begins.
        # This will be later used in rcs_commit if a merge is required.
        my ($file) = @_;
 
        return git_sha1($file);
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        # Try to commit the page; returns undef on _success_ and
        # a version of the page with the rcs's conflict markers on
        # failure.
@@ -431,7 +431,7 @@ sub rcs_commit ($$$;$$) { #{{{
 
        rcs_add($file); 
        return rcs_commit_staged($message, $user, $ipaddr);
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -472,29 +472,29 @@ sub rcs_commit_staged ($$$) {
        return undef; # success
 }
 
-sub rcs_add ($) { # {{{
+sub rcs_add ($) {
        # Add file to archive.
 
        my ($file) = @_;
 
        run_or_cry('git', 'add', $file);
-} #}}}
+}
 
-sub rcs_remove ($) { # {{{
+sub rcs_remove ($) {
        # Remove file from archive.
 
        my ($file) = @_;
 
        run_or_cry('git', 'rm', '-f', $file);
-} #}}}
+}
 
-sub rcs_rename ($$) { # {{{
+sub rcs_rename ($$) {
        my ($src, $dest) = @_;
 
        run_or_cry('git', 'mv', '-f', $src, $dest);
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        # List of recent changes.
 
        my ($num) = @_;
@@ -562,9 +562,9 @@ sub rcs_recentchanges ($) { #{{{
        }
 
        return @rets;
-} #}}}
+}
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        my $rev=shift;
        my ($sha1) = $rev =~ /^($sha1_pattern)$/; # untaint
        my @lines;
@@ -579,9 +579,9 @@ sub rcs_diff ($) { #{{{
        else {
                return join("", @lines);
        }
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my $file=shift;
        # Remove srcdir prefix
        $file =~ s/^\Q$config{srcdir}\E\/?//;
@@ -592,9 +592,9 @@ sub rcs_getctime ($) { #{{{
        debug("ctime for '$file': ". localtime($ctime));
 
        return $ctime;
-} #}}}
+}
 
-sub rcs_receive () { #{{{
+sub rcs_receive () {
        # The wiki may not be the only thing in the git repo.
        # Determine if it is in a subdirectory by examining the srcdir,
        # and its parents, looking for the .git directory.
@@ -685,6 +685,6 @@ sub rcs_receive () { #{{{
        }
 
        return reverse @rets;
-} #}}}
+}
 
 1
index a18e626d4c94b037d8a05c3c971ab9600f0f6e95..92bc8200a3e2dd7d982af6479782a3827ed863d5 100644 (file)
@@ -24,19 +24,19 @@ my @bundle=qw{
        toggle
 };
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "goodstuff", call => \&getsetup);
        foreach my $plugin (@bundle) {
                IkiWiki::loadplugin($plugin);
        }
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
 1
index 92b9b29eb63a86d031ed995ee08ab3b5d0a10ce0..5394c5a6f8a503533d5388d602fbb64bbbf03ed7 100644 (file)
@@ -8,21 +8,21 @@ use URI;
 
 my $host;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "google", call => \&getsetup);
        hook(type => "checkconfig", id => "google", call => \&checkconfig);
        hook(type => "pagetemplate", id => "google", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! length $config{url}) {
                error(sprintf(gettext("Must specify %s when using the google search plugin"), "url"));
        }
@@ -31,10 +31,10 @@ sub checkconfig () { #{{{
                error(gettext("Failed to parse url, cannot determine domain name"));
        }
        $host=$uri->host;
-} #}}}
+}
 
 my $form;
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
@@ -49,6 +49,6 @@ sub pagetemplate (@) { #{{{
 
                $template->param(searchform => $form);
        }
-} #}}}
+}
 
 1
index 81a3ad677fa9d1d2b7ab66d6b2792e3130f158f1..9e09d7dbbf2906e32084edd4af0e16a379cde1ce 100644 (file)
@@ -5,24 +5,24 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "googlecalendar",
                call => \&getsetup);
        hook(type => "preprocess", id => "googlecalendar",
                call => \&preprocess);
        hook(type => "format", id => "googlecalendar",
                call => \&format);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        # Parse the html, looking for the url to embed for the calendar.
@@ -35,21 +35,21 @@ sub preprocess (@) { #{{{
        my ($width)=$params{html}=~m#width="(\d+)"#;
 
        return "<div class=\"googlecalendar\" src=\"$url\" height=\"$height\" width=\"$width\"></div>";
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
        $params{content}=~s/<div class=\"googlecalendar" src="([^"]+)" height="([^"]+)" width="([^"]+)"><\/div>/gencal($1,$2,$3)/eg;
 
         return $params{content};
-} # }}}
+}
 
-sub gencal ($$$) { #{{{
+sub gencal ($$$) {
        my $url=shift;
        my $height=shift;
        my $width=shift;
        return qq{<iframe src="http://www.google.com/calendar/embed?$url" style=" border-width:0 " width="$width" frameborder="0" height="$height"></iframe>};
-} #}}}
+}
 
 1
index 20b419413094f5f7dbbbd16ec78efca947da3e01..23631da300509c9ced74dcfc4eb58ab14dd91e2b 100644 (file)
@@ -8,24 +8,24 @@ use strict;
 use IkiWiki 2.00;
 use IPC::Open2;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "graphviz", call => \&getsetup);
        hook(type => "preprocess", id => "graph", call => \&graph);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
 my %graphviz_programs = (
        "dot" => 1, "neato" => 1, "fdp" => 1, "twopi" => 1, "circo" => 1
 );
 
-sub render_graph (\%) { #{{{
+sub render_graph (\%) {
        my %params = %{(shift)};
 
        my $src = "$params{type} g {\n";
@@ -84,9 +84,9 @@ sub render_graph (\%) { #{{{
        else {
                return "<img src=\"".urlto($dest, $params{destpage})."\" />\n";
        }
-} #}}}
+}
 
-sub graph (@) { #{{{
+sub graph (@) {
        my %params=@_;
        $params{src} = "" unless defined $params{src};
        $params{type} = "digraph" unless defined $params{type};
@@ -94,6 +94,6 @@ sub graph (@) { #{{{
        error gettext("prog not a valid graphviz program") unless $graphviz_programs{$params{prog}};
 
        return render_graph(%params);
-} # }}}
+}
 
 1
index eb8b786e826d0071ff41b75f08673c781db0bea6..fe68c6eecb039edfbac1776d4b5e1b8f23b0ccd5 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "haiku", call => \&getsetup);
        hook(type => "preprocess", id => "haiku", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup { #{{{
+sub getsetup {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        my $haiku;
@@ -54,6 +54,6 @@ sub preprocess (@) { #{{{
        $haiku=~s/\n/<br \/>\n/mg;
        
        return "\n\n<blockquote><p>$haiku</p></blockquote>\n\n";
-} # }}}
+}
 
 1
index 40e4f945255df2b4ae21b732cd55818b41dfc821..d5b5ce3b4a1a46e67eb7dca435976c5b73658034 100644 (file)
@@ -13,20 +13,20 @@ use strict;
 use IkiWiki 2.00;
 use File::Temp qw(:mktemp);
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "hnb", call => \&getsetup);
        hook(type => "htmlize", id => "hnb", call => \&htmlize);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params = @_;
 
        # hnb outputs version number etc. every time to STDOUT, so
@@ -52,6 +52,6 @@ sub htmlize (@) { #{{{
        $ret =~ s/<body>.*//si;
 
        return $ret;
-} #}}}
+}
 
 1;
index b752075787801a2cc0a557ada55ba6989f67f97a..9b9547cca77aec3235b7ca4e642a8c47b2067365 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "html", call => \&getsetup);
        hook(type => "htmlize", id => "html", call => \&htmlize);
        hook(type => "htmlize", id => "htm", call => \&htmlize);
@@ -14,19 +14,19 @@ sub import { #{{{
        # ikiwiki defaults to skipping .html files as a security measure;
        # make it process them so this plugin can take effect
        $config{wiki_file_prune_regexps} = [ grep { !m/\\\.x\?html\?\$/ } @{$config{wiki_file_prune_regexps}} ];
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        return $params{content};
-} #}}}
+}
 
 1
index dcd92055fbebcdeefdbf07d45337e7f0b2f9e360..acbe40a5d6ea9f3e071c9e9199c677e1cbdbf6b7 100644 (file)
@@ -13,20 +13,20 @@ use IkiWiki 2.00;
 use HTML::TreeBuilder;
 use HTML::Entities;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "htmlbalance", call => \&getsetup);
        hook(type => "sanitize", id => "htmlbalance", call => \&sanitize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
        my $ret = '';
 
@@ -52,6 +52,6 @@ sub sanitize (@) { #{{{
        }
        $tree->delete();
        return $ret;
-} # }}}
+}
 
 1
index 7398c84784632048c41eab1976436578a8bf7027..823b3d806cf1c51ae2eec5b715ff2991f7c79b3d 100644 (file)
@@ -9,7 +9,7 @@ use IkiWiki 2.00;
 # Feel free to use it from other plugins.
 our $safe_url_regexp;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "htmlscrubber", call => \&getsetup);
        hook(type => "sanitize", id => "htmlscrubber", call => \&sanitize);
 
@@ -33,9 +33,9 @@ sub import { #{{{
        # data is a special case. Allow data:image/*, but
        # disallow data:text/javascript and everything else.
        $safe_url_regexp=qr/^(?:(?:$uri_schemes):|data:image\/|[^:]+(?:$|\/))/i;
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -49,9 +49,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
 
        if (exists $config{htmlscrubber_skip} &&
@@ -62,10 +62,10 @@ sub sanitize (@) { #{{{
        }
 
        return scrubber()->scrub($params{content});
-} # }}}
+}
 
 my $_scrubber;
-sub scrubber { #{{{
+sub scrubber {
        return $_scrubber if defined $_scrubber;
 
        eval q{use HTML::Scrubber};
@@ -111,6 +111,6 @@ sub scrubber { #{{{
                }],
        );
        return $_scrubber;
-} # }}}
+}
 
 1
index 9ba5e9592b0c84482e01175c5881f901315a4397..02438ebeffef800e511556dc68ad27d1fd312456 100644 (file)
@@ -12,20 +12,20 @@ use strict;
 use IkiWiki 2.00;
 use IPC::Open2;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "tidy", call => \&getsetup);
        hook(type => "sanitize", id => "tidy", call => \&sanitize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
 
        my $pid;
@@ -49,6 +49,6 @@ sub sanitize (@) { #{{{
        return "" if $sigpipe || ! defined $ret;
 
        return $ret;
-} # }}}
+}
 
 1
index fc0cffb1e3fa3d529baccc812b0ee77818bd6a39..39edff6158e077c0c5c924ef645bb1b55bec5923 100644 (file)
@@ -6,26 +6,26 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "httpauth", call => \&getsetup);
        hook(type => "auth", id => "httpauth", call => \&auth);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub auth ($$) { #{{{
+sub auth ($$) {
        my $cgi=shift;
        my $session=shift;
 
        if (defined $cgi->remote_user()) {
                $session->param("name", $cgi->remote_user());
        }
-} #}}}
+}
 
 1
index 7b89ab6730faed3693f2d0eb59afa38a5194e854..395890c0e1bcafdebc1ff4b84082026a634b42a0 100644 (file)
@@ -9,20 +9,20 @@ use IkiWiki 2.00;
 
 my %imgdefaults;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "img", call => \&getsetup);
        hook(type => "preprocess", id => "img", call => \&preprocess, scan => 1);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my ($image) = $_[0] =~ /$config{wiki_file_regexp}/; # untaint
        my %params=@_;
 
@@ -149,6 +149,6 @@ sub preprocess (@) { #{{{
        else {
                return $imgtag;
        }
-} #}}}
+}
 
 1
index d6ef6c54c7d86f7b9e3f1a263806e14cb962ce17..d37db97ec4f3d1fd68ed9d6f4fc71f94e9540060 100644 (file)
@@ -13,7 +13,7 @@ my %page_numfeeds;
 my @inline;
 my $nested=0;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "inline", call => \&getopt);
        hook(type => "getsetup", id => "inline", call => \&getsetup);
        hook(type => "checkconfig", id => "inline", call => \&checkconfig);
@@ -27,9 +27,9 @@ sub import { #{{{
        # This ensures each page only pings once and prevents slow
        # pings interrupting page builds.
        hook(type => "change", id => "inline", call => \&IkiWiki::pingurl);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        eval q{use Getopt::Long};
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
@@ -42,9 +42,9 @@ sub getopt () { #{{{
                        push @{$config{pingurl}}, $_[1];
                },      
        );
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -85,9 +85,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (($config{rss} || $config{atom}) && ! length $config{url}) {
                error(gettext("Must specify url to wiki with --url when using --rss or --atom"));
        }
@@ -100,9 +100,9 @@ sub checkconfig () { #{{{
        if (! exists $config{pingurl}) {
                $config{pingurl}=[];
        }
-} #}}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
        # Fill in the inline content generated earlier. This is actually an
@@ -111,9 +111,9 @@ sub format (@) { #{{{
                delete @inline[$1,]
        }eg;
        return $params{content};
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -148,7 +148,7 @@ package IkiWiki;
 my %toping;
 my %feedlinks;
 
-sub preprocess_inline (@) { #{{{
+sub preprocess_inline (@) {
        my %params=@_;
        
        if (! exists $params{pages}) {
@@ -416,18 +416,18 @@ sub preprocess_inline (@) { #{{{
        return $ret if $raw || $nested;
        push @inline, $ret;
        return "<div class=\"inline\" id=\"$#inline\"></div>\n\n";
-} #}}}
+}
 
-sub pagetemplate_inline (@) { #{{{
+sub pagetemplate_inline (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
 
        $template->param(feedlinks => $feedlinks{$page})
                if exists $feedlinks{$page} && $template->query(name => "feedlinks");
-} #}}}
+}
 
-sub get_inline_content ($$) { #{{{
+sub get_inline_content ($$) {
        my $page=shift;
        my $destpage=shift;
        
@@ -446,9 +446,9 @@ sub get_inline_content ($$) { #{{{
        else {
                return "";
        }
-} #}}}
+}
 
-sub date_822 ($) { #{{{
+sub date_822 ($) {
        my $time=shift;
 
        my $lc_time=POSIX::setlocale(&POSIX::LC_TIME);
@@ -456,9 +456,9 @@ sub date_822 ($) { #{{{
        my $ret=POSIX::strftime("%a, %d %b %Y %H:%M:%S %z", localtime($time));
        POSIX::setlocale(&POSIX::LC_TIME, $lc_time);
        return $ret;
-} #}}}
+}
 
-sub date_3339 ($) { #{{{
+sub date_3339 ($) {
        my $time=shift;
 
        my $lc_time=POSIX::setlocale(&POSIX::LC_TIME);
@@ -466,9 +466,9 @@ sub date_3339 ($) { #{{{
        my $ret=POSIX::strftime("%Y-%m-%dT%H:%M:%SZ", gmtime($time));
        POSIX::setlocale(&POSIX::LC_TIME, $lc_time);
        return $ret;
-} #}}}
+}
 
-sub absolute_urls ($$) { #{{{
+sub absolute_urls ($$) {
        # sucky sub because rss sucks
        my $content=shift;
        my $baseurl=shift;
@@ -489,9 +489,9 @@ sub absolute_urls ($$) { #{{{
        $content=~s/(<a(?:\s+(?:class|id)\s*="?\w+"?)?)\s+href=\s*"(?!\w+:)(\/[^"]*)"/$1 href="$urltop$2"/mig;
        $content=~s/(<img(?:\s+(?:class|id|width|height)\s*="?\w+"?)*)\s+src=\s*"(?!\w+:)(\/[^"]*)"/$1 src="$urltop$2"/mig;
        return $content;
-} #}}}
+}
 
-sub genfeed ($$$$$@) { #{{{
+sub genfeed ($$$$$@) {
        my $feedtype=shift;
        my $feedurl=shift;
        my $feeddesc=shift;
@@ -576,9 +576,9 @@ sub genfeed ($$$$$@) { #{{{
        });
        
        return $template->output;
-} #}}}
+}
 
-sub pingurl (@) { #{{{
+sub pingurl (@) {
        return unless @{$config{pingurl}} && %toping;
 
        eval q{require RPC::XML::Client};
@@ -624,6 +624,6 @@ sub pingurl (@) { #{{{
        }
 
        exit 0; # daemon done
-} #}}}
+}
 
 1
index 0638d4bddd0b1d82bd54714601f80d9582d18918..3799209d062ad4308cebb3cead4e5f2617a87508 100644 (file)
@@ -7,23 +7,23 @@ use IkiWiki 2.00;
 
 my $link_regexp;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "link", call => \&getsetup);
        hook(type => "checkconfig", id => "link", call => \&checkconfig);
        hook(type => "linkify", id => "link", call => \&linkify);
        hook(type => "scan", id => "link", call => \&scan);
        hook(type => "renamepage", id => "link", call => \&renamepage);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if ($config{prefix_directives}) {
                $link_regexp = qr{
                        \[\[(?=[^!])            # beginning of link
@@ -58,9 +58,9 @@ sub checkconfig () { #{{{
                        \]\]                    # end of link
                }x,
        }
-} #}}}
+}
 
-sub linkify (@) { #{{{
+sub linkify (@) {
        my %params=@_;
        my $page=$params{page};
        my $destpage=$params{destpage};
@@ -78,9 +78,9 @@ sub linkify (@) { #{{{
        }eg;
        
        return $params{content};
-} #}}}
+}
 
-sub scan (@) { #{{{
+sub scan (@) {
        my %params=@_;
        my $page=$params{page};
        my $content=$params{content};
@@ -88,9 +88,9 @@ sub scan (@) { #{{{
        while ($content =~ /(?<!\\)$link_regexp/g) {
                push @{$links{$page}}, linkpage($2);
        }
-} # }}}
+}
 
-sub renamepage (@) { #{{{
+sub renamepage (@) {
        my %params=@_;
        my $page=$params{page};
        my $old=$params{oldpage};
@@ -118,6 +118,6 @@ sub renamepage (@) { #{{{
        }eg;
 
        return $params{content};
-} #}}}
+}
 
 1
index 81ee665c8c5513cc5a1acdcf16a93028ad9bb141..cb9f3ef413cc0e0c4fa669595f376619fcb881e0 100644 (file)
@@ -6,24 +6,24 @@ use strict;
 use IkiWiki 2.00;
 use IPC::Open2;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "linkmap", call => \&getsetup);
        hook(type => "preprocess", id => "linkmap", call => \&preprocess);
        hook(type => "format", id => "linkmap", call => \&format);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
 my $mapnum=0;
 my %maps;
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        $params{pages}="*" unless defined $params{pages};
@@ -39,17 +39,17 @@ sub preprocess (@) { #{{{
        $mapnum++;
        $maps{$mapnum}=\%params;
        return "<div class=\"linkmap$mapnum\"></div>";
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
        $params{content}=~s/<div class=\"linkmap(\d+)"><\/div>/genmap($1)/eg;
 
         return $params{content};
-} # }}}
+}
 
-sub genmap ($) { #{{{
+sub genmap ($) {
        my $mapnum=shift;
        return "" unless exists $maps{$mapnum};
        my %params=%{$maps{$mapnum}};
@@ -106,6 +106,6 @@ sub genmap ($) { #{{{
        error gettext("failed to run dot") if $sigpipe;
 
        return $ret;
-} #}}}
+}
 
 1
index 2ab3e4665fc2c95000f6c22bd14bbc246775ed66..be82b0495f4d3481a80cf9ca33e981adf6f49ae8 100644 (file)
@@ -6,15 +6,15 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        add_underlay("directives");
        hook(type => "getsetup", id => "listdirectives", call => \&getsetup);
        hook(type => "checkconfig", id => "listdirectives", call => \&checkconfig);
        hook(type => "needsbuild", id => "listdirectives", call => \&needsbuild);
        hook(type => "preprocess", id => "listdirectives", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -27,22 +27,22 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
 my @fulllist;
 my @shortlist;
 my $pluginstring;
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! defined $config{directive_description_dir}) {
                $config{directive_description_dir} = "ikiwiki/directive";
        }
        else {
                $config{directive_description_dir} =~ s/\/+$//;
        }
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
 
        @fulllist = sort keys %{$IkiWiki::hooks{preprocess}};
@@ -63,9 +63,9 @@ sub needsbuild (@) { #{{{
                        }
                }
        }
-} # }}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        
        $pagestate{$params{destpage}}{listdirectives}{shown}=$pluginstring;
@@ -92,6 +92,6 @@ sub preprocess (@) { #{{{
        $result .= "</ul>";
 
        return $result;
-} # }}}
+}
 
 1
index f6cac6cdd8c69b520824c2557d14d9a9ea3d5fdc..31a9e70cd919124beb1b01b944b000b682e210be 100644 (file)
@@ -5,14 +5,14 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "lockedit", call => \&getsetup);
        hook(type => "canedit", id => "lockedit", call => \&canedit);
        hook(type => "formbuilder_setup", id => "lockedit",
             call => \&formbuilder_setup);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -26,9 +26,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub canedit ($$) { #{{{
+sub canedit ($$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
@@ -70,9 +70,9 @@ sub canedit ($$) { #{{{
        }
 
        return undef;
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
 
        # XXX deprecated, should be removed eventually  
@@ -109,6 +109,6 @@ sub formbuilder_setup (@) { #{{{
                        }
                }
        }
-} #}}}
+}
 
 1
index 18c584a30ccba43f0fab289392c18987422ac8db..af14ef5dee9cd6b33e127794c9bf7be7ee80bd91 100644 (file)
@@ -11,20 +11,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "map", call => \&getsetup);
        hook(type => "preprocess", id => "map", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
        
@@ -144,6 +144,6 @@ sub preprocess (@) { #{{{
        }
        $map .= "</div>\n";
        return $map;
-} # }}}
+}
 
 1
index 6c1d2ef3c3839ed95d73284292a59e1541995907..0d5f398a07a83eb87351341c729a3b516e6784af 100644 (file)
@@ -6,12 +6,12 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "mdwn", call => \&getsetup);
        hook(type => "htmlize", id => "mdwn", call => \&htmlize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -24,10 +24,10 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
 my $markdown_sub;
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        my $content = $params{content};
 
@@ -83,6 +83,6 @@ sub htmlize (@) { #{{{
        $content=Encode::decode_utf8($content);
 
        return $content;
-} # }}}
+}
 
 1
index 7aceebcdb4821ba46929df6b3245e93fa4365fe6..82423286db0c9ccb03d52ea6ae146b25ad7ad0df 100644 (file)
@@ -7,7 +7,7 @@ use IkiWiki;
 use Encode;
 use open qw{:utf8 :std};
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "mercurial", call => \&checkconfig);
        hook(type => "getsetup", id => "mercurial", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -20,18 +20,18 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (exists $config{mercurial_wrapper} && length $config{mercurial_wrapper}) {
                push @{$config{wrappers}}, {
                        wrapper => $config{mercurial_wrapper},
                        wrappermode => (defined $config{mercurial_wrappermode} ? $config{mercurial_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -65,9 +65,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub mercurial_log ($) { #{{{
+sub mercurial_log ($) {
        my $out = shift;
        my @infos;
 
@@ -111,20 +111,20 @@ sub mercurial_log ($) { #{{{
        close $out;
 
        return @infos;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "update");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        return "";
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
 
        if (defined $user) {
@@ -149,7 +149,7 @@ sub rcs_commit ($$$;$$) { #{{{
        }
 
        return undef; # success
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -159,28 +159,28 @@ sub rcs_commit_staged ($$$) {
        error("rcs_commit_staged not implemented for mercurial"); # TODO
 }
 
-sub rcs_add ($) { # {{{
+sub rcs_add ($) {
        my ($file) = @_;
 
        my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "add", "$config{srcdir}/$file");
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
        }
-} #}}}
+}
 
-sub rcs_remove ($) { # {{{
+sub rcs_remove ($) {
        my ($file) = @_;
 
        error("rcs_remove not implemented for mercurial"); # TODO
-} #}}}
+}
 
-sub rcs_rename ($$) { # {{{
+sub rcs_rename ($$) {
        my ($src, $dest) = @_;
 
        error("rcs_rename not implemented for mercurial"); # TODO
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        my ($num) = @_;
 
        my @cmdline = ("hg", "-R", $config{srcdir}, "log", "-v", "-l", $num,
@@ -225,13 +225,13 @@ sub rcs_recentchanges ($) { #{{{
        }
 
        return @ret;
-} #}}}
+}
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        # TODO
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my ($file) = @_;
 
        # XXX filename passes through the shell here, should try to avoid
@@ -251,6 +251,6 @@ sub rcs_getctime ($) { #{{{
        
        my $ctime = str2time($log[0]->{"date"});
        return $ctime;
-} #}}}
+}
 
 1
index 3991797c0fe6f7be305e9b3e799f5aaa7bdc7ae2..ea60be5071f084321346db808e9f99b9b957bb5c 100644 (file)
@@ -8,22 +8,22 @@ use IkiWiki 2.00;
 
 my %metaheaders;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "meta", call => \&getsetup);
        hook(type => "needsbuild", id => "meta", call => \&needsbuild);
        hook(type => "preprocess", id => "meta", call => \&preprocess, scan => 1);
        hook(type => "pagetemplate", id => "meta", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{meta}) {
@@ -38,7 +38,7 @@ sub needsbuild (@) { #{{{
        }
 }
 
-sub scrub ($$) { #{{{
+sub scrub ($$) {
        if (IkiWiki::Plugin::htmlscrubber->can("sanitize")) {
                return IkiWiki::Plugin::htmlscrubber::sanitize(
                        content => shift, destpage => shift);
@@ -46,9 +46,9 @@ sub scrub ($$) { #{{{
        else {
                return shift;
        }
-} #}}}
+}
 
-sub safeurl ($) { #{{{
+sub safeurl ($) {
        my $url=shift;
        if (exists $IkiWiki::Plugin::htmlscrubber::{safe_url_regexp} &&
            defined $IkiWiki::Plugin::htmlscrubber::safe_url_regexp) {
@@ -57,9 +57,9 @@ sub safeurl ($) { #{{{
        else {
                return 1;
        }
-} #}}}
+}
 
-sub htmlize ($$$) { #{{{
+sub htmlize ($$$) {
        my $page = shift;
        my $destpage = shift;
 
@@ -68,7 +68,7 @@ sub htmlize ($$$) { #{{{
                IkiWiki::preprocess($page, $destpage, shift)));
 }
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        return "" unless @_;
        my %params=@_;
        my $key=shift;
@@ -230,9 +230,9 @@ sub preprocess (@) { #{{{
        }
 
        return "";
-} # }}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
         my $page=$params{page};
         my $destpage=$params{destpage};
@@ -260,9 +260,9 @@ sub pagetemplate (@) { #{{{
                        $template->param($field => htmlize($page, $destpage, $pagestate{$page}{meta}{$field}));
                }
        }
-} # }}}
+}
 
-sub match { #{{{
+sub match {
        my $field=shift;
        my $page=shift;
        
@@ -288,28 +288,28 @@ sub match { #{{{
        else {
                return IkiWiki::FailReason->new("$page does not have a $field");
        }
-} #}}}
+}
 
 package IkiWiki::PageSpec;
 
-sub match_title ($$;@) { #{{{
+sub match_title ($$;@) {
        IkiWiki::Plugin::meta::match("title", @_);      
-} #}}}
+}
 
-sub match_author ($$;@) { #{{{
+sub match_author ($$;@) {
        IkiWiki::Plugin::meta::match("author", @_);
-} #}}}
+}
 
-sub match_authorurl ($$;@) { #{{{
+sub match_authorurl ($$;@) {
        IkiWiki::Plugin::meta::match("authorurl", @_);
-} #}}}
+}
 
-sub match_license ($$;@) { #{{{
+sub match_license ($$;@) {
        IkiWiki::Plugin::meta::match("license", @_);
-} #}}}
+}
 
-sub match_copyright ($$;@) { #{{{
+sub match_copyright ($$;@) {
        IkiWiki::Plugin::meta::match("copyright", @_);
-} #}}}
+}
 
 1
index aab60c435d271d60568f6824bcbfe684e3853ac6..b726386f6bca9538cc74878e79b288544eaf0de4 100644 (file)
@@ -5,12 +5,12 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "mirrorlist", call => \&getsetup);
        hook(type => "pagetemplate", id => "mirrorlist", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -23,9 +23,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
         my $template=$params{template};
        
@@ -34,9 +34,9 @@ sub pagetemplate (@) { #{{{
                $value.=mirrorlist($params{page});
                $template->param(extrafooter => $value);
        }
-} # }}}
+}
 
-sub mirrorlist ($) { #{{{
+sub mirrorlist ($) {
        my $page=shift;
        return "<p>".
                (keys %{$config{mirrorlist}} > 1 ? gettext("Mirrors") : gettext("Mirror")).
@@ -49,6 +49,6 @@ sub mirrorlist ($) { #{{{
                        } keys %{$config{mirrorlist}}
                ).
                "</p>";
-} # }}}
+}
 
 1
index 3a8b267a393f5d69cdccc1577df795d2504ce73d..38abb9a07f21a3cc53ef430a012fb0528ba841a0 100644 (file)
@@ -10,7 +10,7 @@ use Date::Format qw(time2str);
 
 my $sha1_pattern = qr/[0-9a-fA-F]{40}/; # pattern to validate sha1sums
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "monotone", call => \&checkconfig);
        hook(type => "getsetup", id => "monotone", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -23,9 +23,9 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (!defined($config{mtnrootdir})) {
                $config{mtnrootdir} = $config{srcdir};
        }
@@ -61,9 +61,9 @@ sub checkconfig () { #{{{
                        wrappermode => (defined $config{mtn_wrappermode} ? $config{mtn_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -117,9 +117,9 @@ sub getsetup () { #{{{
                        safe => 0, # path
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub get_rev () { #{{{
+sub get_rev () {
        my $sha1 = `mtn --root=$config{mtnrootdir} automate get_base_revision_id`;
 
        ($sha1) = $sha1 =~ m/($sha1_pattern)/; # sha1 is untainted now
@@ -128,9 +128,9 @@ sub get_rev () { #{{{
        }
 
        return $sha1;
-} #}}}
+}
 
-sub get_rev_auto ($) { #{{{
+sub get_rev_auto ($) {
        my $automator=shift;
 
        my @results = $automator->call("get_base_revision_id");
@@ -142,9 +142,9 @@ sub get_rev_auto ($) { #{{{
        }
 
        return $sha1;
-} #}}}
+}
 
-sub mtn_merge ($$$$) { #{{{
+sub mtn_merge ($$$$) {
        my $leftRev=shift;
        my $rightRev=shift;
        my $branch=shift;
@@ -172,9 +172,9 @@ sub mtn_merge ($$$$) { #{{{
        debug("merged $leftRev, $rightRev to make $mergeRev");
 
        return $mergeRev;
-} #}}}
+}
 
-sub commit_file_to_new_rev ($$$$$$$$) { #{{{
+sub commit_file_to_new_rev ($$$$$$$$) {
        my $automator=shift;
        my $wsfilename=shift;
        my $oldFileID=shift;
@@ -219,9 +219,9 @@ sub commit_file_to_new_rev ($$$$$$$$) { #{{{
        
        debug("Added certs for rev: $newRevID");
        return $newRevID;
-} #}}}
+}
 
-sub read_certs ($$) { #{{{
+sub read_certs ($$) {
        my $automator=shift;
        my $rev=shift;
        my @results = $automator->call("certs", $rev);
@@ -239,9 +239,9 @@ sub read_certs ($$) { #{{{
        }
 
        return @ret;
-} #}}}
+}
 
-sub get_changed_files ($$) { #{{{
+sub get_changed_files ($$) {
        my $automator=shift;
        my $rev=shift;
        
@@ -261,9 +261,9 @@ sub get_changed_files ($$) { #{{{
        }
        
        return @ret;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        chdir $config{srcdir}
            or error("Cannot chdir to $config{srcdir}: $!");
 
@@ -278,9 +278,9 @@ sub rcs_update () { #{{{
        if (system("mtn", "--root=$config{mtnrootdir}", "update", "--quiet") != 0) {
                debug("monotone update failed");
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        my $file=shift;
 
        chdir $config{srcdir}
@@ -289,9 +289,9 @@ sub rcs_prepedit ($) { #{{{
        # For monotone, return the revision of the file when
        # editing begins.
        return get_rev();
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        # Tries to commit the page; returns undef on _success_ and
        # a version of the page with the rcs's conflict markers on failure.
        # The file is relative to the srcdir.
@@ -434,7 +434,7 @@ sub rcs_commit ($$$;$$) { #{{{
        }
 
        return undef # success
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -466,7 +466,7 @@ sub rcs_commit_staged ($$$) {
        }
 }
 
-sub rcs_add ($) { #{{{
+sub rcs_add ($) {
        my $file=shift;
 
        chdir $config{srcdir}
@@ -476,9 +476,9 @@ sub rcs_add ($) { #{{{
                   $file) != 0) {
                error("Monotone add failed");
        }
-} #}}}
+}
 
-sub rcs_remove ($) { # {{{
+sub rcs_remove ($) {
        my $file = shift;
 
        chdir $config{srcdir}
@@ -495,9 +495,9 @@ sub rcs_remove ($) { # {{{
                   $file) != 0) {
                error("Monotone remove failed");
        }
-} #}}}
+}
 
-sub rcs_rename ($$) { # {{{
+sub rcs_rename ($$) {
        my ($src, $dest) = @_;
 
        chdir $config{srcdir}
@@ -507,9 +507,9 @@ sub rcs_rename ($$) { # {{{
                   $src, $dest) != 0) {
                error("Monotone rename failed");
        }
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        my $num=shift;
        my @ret;
 
@@ -614,9 +614,9 @@ sub rcs_recentchanges ($) { #{{{
        $automator->close();
 
        return @ret;
-} #}}}
+}
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        my $rev=shift;
        my ($sha1) = $rev =~ /^($sha1_pattern)$/; # untaint
        
@@ -638,9 +638,9 @@ sub rcs_diff ($) { #{{{
        else {
                return join("", @lines);
        }
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my $file=shift;
 
        chdir $config{srcdir}
@@ -690,6 +690,6 @@ sub rcs_getctime ($) { #{{{
        $date=str2time($date, 'UTC');
        debug("found ctime ".localtime($date)." for $file");
        return $date;
-} #}}}
+}
 
 1
index 4484441c37e3fe9338cb5ab96512913da7201032..f1216ad3dfe8b4bf61b8296cb693150bbc81216d 100644 (file)
@@ -7,20 +7,20 @@ use IkiWiki 2.00;
 
 my $linktext = gettext("more");
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "more", call => \&getsetup);
        hook(type => "preprocess", id => "more", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        $params{linktext} = $linktext unless defined $params{linktext};
index 58c26b63350b5ccc1540d7815ee78d0e8f2ab7cc..bfe84c0e1ebc15961986ce57a59be9fc26c53290 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 use strict;
 use IkiWiki;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "norcs", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
        hook(type => "rcs", id => "rcs_prepedit", call => \&rcs_prepedit);
@@ -18,51 +18,51 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
                        rebuild => 0,
                },
-} #}}}
+}
 
 
-sub rcs_update () { #{{{
-} #}}}
+sub rcs_update () {
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        return ""
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
        return undef # success
-} #}}}
+}
 
-sub rcs_commit_staged ($$$) { #{{{
+sub rcs_commit_staged ($$$) {
        my ($message, $user, $ipaddr)=@_;
        return undef # success
-} #}}}
+}
 
-sub rcs_add ($) { #{{{
-} #}}}
+sub rcs_add ($) {
+}
 
-sub rcs_remove ($) { #{{{
-} #}}}
+sub rcs_remove ($) {
+}
 
-sub rcs_rename ($$) { #{{{
-} #}}}
+sub rcs_rename ($$) {
+}
 
-sub rcs_recentchanges ($) { #{{{
-} #}}}
+sub rcs_recentchanges ($) {
+}
 
-sub rcs_diff ($) { #{{{
-} #}}}
+sub rcs_diff ($) {
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        error gettext("getctime not implemented");
-} #}}}
+}
 
 1
index 96a74aee832d31af0fd653a851f95b2044a56ded..95220d7b3ed39598ce0760fbdecc374b7f2c59ae 100644 (file)
@@ -5,20 +5,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "opendiscussion", call => \&getsetup);
        hook(type => "canedit", id => "opendiscussion", call => \&canedit);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub canedit ($$) { #{{{
+sub canedit ($$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
@@ -26,6 +26,6 @@ sub canedit ($$) { #{{{
        my $discussion=gettext("discussion");
        return "" if $page=~/(\/|^)\Q$discussion\E$/;
        return undef;
-} #}}}
+}
 
 1
index f12cbdaa37fad0c77ada865a521ff68a0d95e785..2933c9ed99960dd8e5edece394f11a6b9b08f085 100644 (file)
@@ -6,22 +6,22 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "openid", call => \&getopt);
        hook(type => "getsetup", id => "openid", call => \&getsetup);
        hook(type => "auth", id => "openid", call => \&auth);
        hook(type => "formbuilder_setup", id => "openid",
                call => \&formbuilder_setup, last => 1);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        eval q{use Getopt::Long};
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
        GetOptions("openidsignup=s" => \$config{openidsignup});
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -34,9 +34,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
 
        my $form=$params{form};
@@ -92,7 +92,7 @@ sub formbuilder_setup (@) { #{{{
        }
 }
 
-sub validate ($$$;$) { #{{{
+sub validate ($$$;$) {
        my $q=shift;
        my $session=shift;
        my $openid_url=shift;
@@ -121,9 +121,9 @@ sub validate ($$$;$) { #{{{
        # eventually bounce them back to auth()
        IkiWiki::redirect($q, $check_url);
        exit 0;
-} #}}}
+}
 
-sub auth ($$) { #{{{
+sub auth ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -147,9 +147,9 @@ sub auth ($$) { #{{{
                # myopenid.com affiliate support
                validate($q, $session, $q->param('openid_identifier'));
        }
-} #}}}
+}
 
-sub getobj ($$) { #{{{
+sub getobj ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -178,13 +178,13 @@ sub getobj ($$) { #{{{
                consumer_secret => sub { return shift()+$secret },
                required_root => $config{cgiurl},
        );
-} #}}}
+}
 
 package IkiWiki;
 
 # This is not used by this plugin, but this seems the best place to put it.
 # Used elsewhere to pretty-display the name of an openid user.
-sub openiduser ($) { #{{{
+sub openiduser ($) {
        my $user=shift;
 
        if ($user =~ m!^https?://! &&
index 32cbc5dd5508d3df58945ebef75a80704034c7ad..8e9ab0ff402a12799843981787f427dcfc13812c 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "orphans", call => \&getsetup);
        hook(type => "preprocess", id => "orphans", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
        
@@ -58,6 +58,6 @@ sub preprocess (@) { #{{{
                                "</li>"
                        } sort @orphans).
                "</ul>\n";
-} # }}}
+}
 
 1
index ef76d621549d44dd575fda54dfa1760bb5c4febd..280b19db0ae71e7029c940b15f0eade8c355ccad 100644 (file)
@@ -7,22 +7,22 @@ use strict;
 use IkiWiki 2.00;
 use open qw{:utf8 :std};
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "otl", call => \&getsetup);
        hook(type => "filter", id => "otl", call => \&filter);
        hook(type => "htmlize", id => "otl", call => \&htmlize);
 
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
-sub filter (@) { #{{{
+sub filter (@) {
        my %params=@_;
         
        # Munge up check boxes to look a little bit better. This is a hack.
@@ -34,9 +34,9 @@ sub filter (@) { #{{{
        $params{content}=~s/^(\s*)\[_\]\s/${1}$unchecked /mg;
         
        return $params{content};
-} # }}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
 
        # Can't use open2 since otl2html doesn't play nice with buffering.
@@ -95,6 +95,6 @@ sub htmlize (@) { #{{{
        $ret=~s/<body>.*//s;
        $ret=~s/<div class="Footer">.*//s;
        return $ret;
-} # }}}
+}
 
 1
index e059fa61850c531083a7cfb743597ea2691f3be2..c08ab3931df261de093a558002712a4ccc5db685 100644 (file)
@@ -5,20 +5,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "pagecount", call => \&getsetup);
        hook(type => "preprocess", id => "pagecount", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
        
@@ -33,6 +33,6 @@ sub preprocess (@) { #{{{
                $count++ if pagespec_match($page, $params{pages}, location => $params{page});
        }
        return $count;
-} # }}}
+}
 
 1
index de4b7d0686f5867a3477873b88a9d6d7074d799f..e20d0dac6e48f14b73faa2ff8fb0637a7e72975a 100644 (file)
@@ -17,20 +17,20 @@ use IkiWiki 2.00;
 # Names of the HTML classes to use for the tag cloud
 our @classes = ('smallestPC', 'smallPC', 'normalPC', 'bigPC', 'biggestPC' );
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "pagestats", call => \&getsetup);
        hook(type => "preprocess", id => "pagestats", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $params{pages}="*" unless defined $params{pages};
        my $style = ($params{style} or 'cloud');
@@ -73,6 +73,6 @@ sub preprocess (@) { #{{{
 
                return $res;
        }
-} # }}}
+}
 
 1
index 99a66ee96964f9750ab3d2d41a6ec87755cd31a0..60db8b327de0d4a60eef07e7d6e861024c0dd148 100644 (file)
@@ -7,21 +7,21 @@ use IkiWiki 2.00;
 
 my %templates;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "pagetemplate", call => \&getsetup);
        hook(type => "preprocess", id => "pagetemplate", call => \&preprocess);
        hook(type => "templatefile", id => "pagetemplate", call => \&templatefile);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        if (! exists $params{template} ||
@@ -35,9 +35,9 @@ sub preprocess (@) { #{{{
        }
 
        return "";
-} # }}}
+}
 
-sub templatefile (@) { #{{{
+sub templatefile (@) {
        my %params=@_;
 
        if (exists $templates{$params{page}}) {
@@ -45,6 +45,6 @@ sub templatefile (@) { #{{{
        }
        
        return undef;
-} # }}}
+}
 
 1
index a8b3641e922a43e51a5d295ce64c6ad042890726..fb41e1c838161abd36b34699b847491549ca7aae 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "parentlinks", id => "parentlinks", call => \&parentlinks);
        hook(type => "pagetemplate", id => "parentlinks", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub parentlinks ($) { #{{{
+sub parentlinks ($) {
        my $page=shift;
 
        my @ret;
@@ -48,9 +48,9 @@ sub parentlinks ($) { #{{{
                $i++;
        }
        return @ret;
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
         my $page=$params{page};
         my $template=$params{template};
@@ -58,6 +58,6 @@ sub pagetemplate (@) { #{{{
        if ($template->query(name => "parentlinks")) {
                $template->param(parentlinks => [parentlinks($page)]);
        }
-} # }}}
+}
 
 1
index e0c0a3b0e650bd001b835c1c0cc92680af42440a..7176f0c33b71f0a1062e064318e1f7601589671d 100644 (file)
@@ -6,14 +6,14 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "passwordauth", "call" => \&getsetup);
         hook(type => "formbuilder_setup", id => "passwordauth", call => \&formbuilder_setup);
         hook(type => "formbuilder", id => "passwordauth", call => \&formbuilder);
        hook(type => "sessioncgi", id => "passwordauth", call => \&sessioncgi);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -33,10 +33,10 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
 # Checks if a string matches a user's password, and returns true or false.
-sub checkpassword ($$;$) { #{{{
+sub checkpassword ($$;$) {
        my $user=shift;
        my $password=shift;
        my $field=shift || "password";
@@ -74,9 +74,9 @@ sub checkpassword ($$;$) { #{{{
        }
 
        return $ret;
-} #}}}
+}
 
-sub setpassword ($$;$) { #{{{
+sub setpassword ($$;$) {
        my $user=shift;
        my $password=shift;
        my $field=shift || "password";
@@ -94,9 +94,9 @@ sub setpassword ($$;$) { #{{{
        else {
                IkiWiki::userinfo_set($user, $field, $password);
        }
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
 
        my $form=$params{form};
@@ -222,7 +222,7 @@ sub formbuilder_setup (@) { #{{{
        }
 }
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
 
        my $form=$params{form};
@@ -313,9 +313,9 @@ sub formbuilder (@) { #{{{
                        }
                }
        }
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -335,6 +335,6 @@ sub sessioncgi ($$) { #{{{
                IkiWiki::cgi_prefs($q, $session);
                exit;
        }
-} #}}}
+}
 
 1
index c2f21b0cfaf93cabfb562009b5db53260b8dbadf..fcbe6b57b151cc7ac8a174d708f32ba9a589ca1d 100644 (file)
@@ -5,20 +5,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "pingee", call => \&getsetup);
        hook(type => "cgi", id => "pingee", call => \&cgi);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub cgi ($) { #{{{
+sub cgi ($) {
        my $cgi=shift;
 
        if (defined $cgi->param('do') && $cgi->param("do") eq "ping") {
@@ -37,6 +37,6 @@ sub cgi ($) { #{{{
                IkiWiki::saveindex();
                exit 0;
        }
-} #}}}
+}
 
 1
index 043b074a7986d8e23ac3d8f0ede649f9e289c6c9..7b4dce5867534c702f220b3df6e792c91b3cbb61 100644 (file)
@@ -8,15 +8,15 @@ use IkiWiki 2.00;
 my %pages;
 my $pinged=0;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "pinger", call => \&getsetup);
        hook(type => "needsbuild", id => "pinger", call => \&needsbuild);
        hook(type => "preprocess", id => "ping", call => \&preprocess);
        hook(type => "delete", id => "pinger", call => \&ping);
        hook(type => "change", id => "pinger", call => \&ping);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -29,9 +29,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{pinger}) {
@@ -45,9 +45,9 @@ sub needsbuild (@) { #{{{
                        }
                }
        }
-} # }}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        if (! exists $params{from} || ! exists $params{to}) {
                error gettext("requires 'from' and 'to' parameters");
@@ -60,7 +60,7 @@ sub preprocess (@) { #{{{
        else {
                return sprintf(gettext("Ignoring ping directive for wiki %s (this wiki is %s)"), $params{from}, $config{url});
        }
-} # }}}
+}
 
 sub ping {
        if (! $pinged && %pages) {
index fadc1773e66a61758d0012991e32da66d5ae0209..5ac5b818de872e16ecd9470f77c2d6a6486cdd20 100644 (file)
@@ -6,22 +6,22 @@ use strict;
 use IkiWiki 2.00;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "poll", call => \&getsetup);
        hook(type => "preprocess", id => "poll", call => \&preprocess);
        hook(type => "sessioncgi", id => "poll", call => \&sessioncgi);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
 my %pagenum;
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=(open => "yes", total => "yes", percent => "yes", @_);
 
        my $open=IkiWiki::yesno($params{open});
@@ -77,9 +77,9 @@ sub preprocess (@) { #{{{
                $ret.="<span>".gettext("Total votes:")." $total</span>\n";
        }
        return "<div class=poll>$ret</div>";
-} # }}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
        if (defined $cgi->param('do') && $cgi->param('do') eq "poll") {
@@ -152,6 +152,6 @@ sub sessioncgi ($$) { #{{{
                        -url => urlto($page, undef, 1));
                exit;
        }
-} #}}}
+}
 
 1
index fa564aa86d1841fd13a7e31d0db5b105e3093e3f..a32003778303870515ff1cf026e56a897839989c 100644 (file)
@@ -10,20 +10,20 @@ use strict;
 use IkiWiki 2.00;
 use File::Find;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "polygen", call => \&getsetup);
        hook(type => "preprocess", id => "polygen", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        my $grammar = ($params{grammar} or 'polygen');
        my $symbol = ($params{symbol} or undef);
@@ -64,6 +64,6 @@ sub preprocess (@) { #{{{
        # markdown text
        $res =~ s/\s*$//;
        return $res;
-} # }}}
+}
 
 1
index 1f4c065c1e1f09ad6ba9d395ecd3c002a1bb0a25..1753e4cf90b87fc615056d915d112a2f61fe4bc4 100644 (file)
@@ -5,21 +5,21 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        IkiWiki::loadplugin('sparkline');
        hook(type => "getsetup", id => "postsparkline", call => \&getsetup);
        hook(type => "preprocess", id => "postsparkline", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        if (! exists $params{max}) {
@@ -78,7 +78,7 @@ sub preprocess (@) { #{{{
        delete $params{color};
        return IkiWiki::Plugin::sparkline::preprocess(%params, 
                map { $_.$color => "" } reverse @data);
-} # }}}
+}
 
 sub perfoo ($@) {
        my $sub=shift;
index 0f02142b06812cb7bb11bc0b5a98cde3e13f8526..501f17f5d07e354246f0a149c4738943a38e999d 100644 (file)
@@ -39,12 +39,12 @@ sub default_timetable {
        ];
 }
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "prettydate", call => \&getsetup);
        hook(type => "checkconfig", id => "prettydate", call => \&checkconfig);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -64,9 +64,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! defined $config{prettydateformat} ||
            $config{prettydateformat} eq '%c') {
                $config{prettydateformat}='%X, %B %o, %Y';
@@ -82,9 +82,9 @@ sub checkconfig () { #{{{
                        $config{timetable}[$h] = $config{timetable}[$h - 1];
                }
        }
-} #}}}
+}
 
-sub IkiWiki::formattime ($;$) { #{{{
+sub IkiWiki::formattime ($;$) {
        my $time=shift;
        my $format=shift;
        if (! defined $format) {
@@ -122,6 +122,6 @@ sub IkiWiki::formattime ($;$) { #{{{
 
        $format=~s/\%X/$t/g;
        return strftime($format, \@t);
-} #}}}
+}
 
 1
index e536f4e23370773aebd296e290d0c84b2ded83ae..75da16d16de80e72b14b76dc2a11d63fe84c88f3 100644 (file)
@@ -7,21 +7,21 @@ use IkiWiki 2.00;
 
 my $percentage_pattern = qr/[0-9]+\%?/; # pattern to validate percentages
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "progress", call => \&getsetup);
        hook(type => "preprocess", id => "progress", call => \&preprocess);
        hook(type => "format",     id => "progress", call => \&format);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        
        my $fill;
@@ -64,9 +64,9 @@ sub preprocess (@) { #{{{
   <div class="progress-done" style="width: $fill">$fill</div>
 </div>
 EODIV
-} # }}}
+}
 
-sub format(@) { #{{{
+sub format(@) {
        my %params = @_;
 
        # If HTMLScrubber has removed the style attribute, then bring it back
@@ -74,6 +74,6 @@ sub format(@) { #{{{
        $params{content} =~ s!<div class="progress-done">($percentage_pattern)</div>!<div class="progress-done" style="width: $1">$1</div>!g;
 
        return $params{content};    
-} #}}}
+}
 
 1
index 74ca13f3bcac3b1041fd73a1c35ea43e1729aed8..73093439d55621ffa0bd75286e3d8a62ac2b2bb2 100644 (file)
@@ -6,17 +6,17 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "rawhtml", call => \&getsetup);
        $config{wiki_file_prune_regexps} = [ grep { !m/\\\.x\?html\?\$/ } @{$config{wiki_file_prune_regexps}} ];
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 1, # changes file types
                },
-} #}}}
+}
 
 1
index 4d7023c1c1e5a0af91aad4841eb85c817dfefab3..12577e9efc9f56e1748a160a6cdab5b768540501 100644 (file)
@@ -7,16 +7,16 @@ use IkiWiki 2.00;
 use Encode;
 use HTML::Entities;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "recentchanges", call => \&getsetup);
        hook(type => "checkconfig", id => "recentchanges", call => \&checkconfig);
        hook(type => "refresh", id => "recentchanges", call => \&refresh);
        hook(type => "pagetemplate", id => "recentchanges", call => \&pagetemplate);
        hook(type => "htmlize", id => "_change", call => \&htmlize);
        hook(type => "cgi", id => "recentchanges", call => \&cgi);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -36,14 +36,14 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        $config{recentchangespage}='recentchanges' unless defined $config{recentchangespage};
        $config{recentchangesnum}=100 unless defined $config{recentchangesnum};
-} #}}}
+}
 
-sub refresh ($) { #{{{
+sub refresh ($) {
        my %seen;
 
        # add new changes
@@ -57,10 +57,10 @@ sub refresh ($) { #{{{
                        unlink($config{srcdir}.'/'.$pagesources{$page});
                }
        }
-} #}}}
+}
 
 # Enable the recentchanges link on wiki pages.
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $template=$params{template};
        my $page=$params{page};
@@ -71,15 +71,15 @@ sub pagetemplate (@) { #{{{
                $template->param(recentchangesurl => urlto($config{recentchangespage}, $page));
                $template->param(have_actions => 1);
        }
-} #}}}
+}
 
 # Pages with extension _change have plain html markup, pass through.
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        return $params{content};
-} #}}}
+}
 
-sub cgi ($) { #{{{
+sub cgi ($) {
        my $cgi=shift;
        if (defined $cgi->param('do') && $cgi->param('do') eq "recentchanges_link") {
                # This is a link from a change page to some
@@ -112,7 +112,7 @@ sub cgi ($) { #{{{
        }
 }
 
-sub store ($$$) { #{{{
+sub store ($$$) {
        my $change=shift;
 
        my $page="$config{recentchangespage}/change_".titlepage($change->{rev});
@@ -192,6 +192,6 @@ sub store ($$$) { #{{{
        utime $change->{when}, $change->{when}, "$config{srcdir}/$file";
 
        return $page;
-} #}}}
+}
 
 1
index 08cec3f5a2f0a526482cca2e5d3e5c04b72d75ee..4dea9c26bde1e8a446797139ba99c11b0f991ba7 100644 (file)
@@ -8,22 +8,22 @@ use HTML::Entities;
 
 my $maxlines=200;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "recentchangesdiff",
                call => \&getsetup);
        hook(type => "pagetemplate", id => "recentchangesdiff",
                call => \&pagetemplate);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $template=$params{template};
        if ($config{rcs} && exists $params{rev} && length $params{rev} &&
@@ -46,6 +46,6 @@ sub pagetemplate (@) { #{{{
                        $template->param(diff => $diff);
                }
        }
-} #}}}
+}
 
 1
index dc8f7d538a726f5689b6c9b51ddeb4691cc1750f..e5fa8e1a5822983a6be7c53e3645f8ae77eb2be6 100644 (file)
@@ -8,22 +8,22 @@ use IkiWiki 2.00;
 use POSIX;
 use Encode;
 
-sub import { #{{{
+sub import {
        add_underlay("javascript");
        hook(type => "getsetup", id => "relativedate", call => \&getsetup);
        hook(type => "format", id => "relativedate", call => \&format);
        inject(name => "IkiWiki::displaytime", call => \&mydisplaytime);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
        if (! ($params{content}=~s!^(<body>)!$1.include_javascript($params{page})!em)) {
@@ -31,9 +31,9 @@ sub format (@) { #{{{
                $params{content}=include_javascript($params{page}, 1).$params{content};
        }
        return $params{content};
-} # }}}
+}
 
-sub include_javascript ($;$) { #{{{
+sub include_javascript ($;$) {
        my $page=shift;
        my $absolute=shift;
        
@@ -41,9 +41,9 @@ sub include_javascript ($;$) { #{{{
                '" type="text/javascript" charset="utf-8"></script>'."\n".
                '<script src="'.urlto("relativedate.js", $page, $absolute).
                '" type="text/javascript" charset="utf-8"></script>';
-} #}}}
+}
 
-sub mydisplaytime ($;$) { #{{{
+sub mydisplaytime ($;$) {
        my $time=shift;
        my $format=shift;
 
@@ -55,6 +55,6 @@ sub mydisplaytime ($;$) { #{{{
 
        return '<span class="relativedate" title="'.$gmtime.'">'.
                IkiWiki::formattime($time, $format).'</span>';
-} #}}}
+}
 
 1
index c512b3b9793af3f489762ac8f4327daeb8361919..7815016625a3c84b4e8dc212d9fb86f728adf31d 100644 (file)
@@ -5,23 +5,23 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "remove", call => \&getsetup);
        hook(type => "formbuilder_setup", id => "remove", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "remove", call => \&formbuilder);
        hook(type => "sessioncgi", id => "remove", call => \&sessioncgi);
 
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub check_canremove ($$$) { #{{{
+sub check_canremove ($$$) {
        my $page=shift;
        my $q=shift;
        my $session=shift;
@@ -54,9 +54,9 @@ sub check_canremove ($$$) { #{{{
                        error("renaming of attachments is not allowed");
                }
        }
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
        my $form=$params{form};
        my $q=$params{cgi};
@@ -67,9 +67,9 @@ sub formbuilder_setup (@) { #{{{
                push @{$params{buttons}}, "Remove" if $form->field("do") eq "edit";
                $form->tmpl_param("field-remove" => '<input name="_submit" type="submit" value="Remove Attachments" />');
        }
-} #}}}
+}
 
-sub confirmation_form ($$) { #{{{ 
+sub confirmation_form ($$) {
        my $q=shift;
        my $session=shift;
 
@@ -90,9 +90,9 @@ sub confirmation_form ($$) { #{{{
        $f->field(name => "do", type => "hidden", value => "remove", force => 1);
 
        return $f, ["Remove", "Cancel"];
-} #}}}
+}
 
-sub removal_confirm ($$@) { #{{{
+sub removal_confirm ($$@) {
        my $q=shift;
        my $session=shift;
        my $attachment=shift;
@@ -122,9 +122,9 @@ sub removal_confirm ($$@) { #{{{
 
        IkiWiki::showform($f, $buttons, $session, $q);
        exit 0;
-} #}}}
+}
 
-sub postremove ($) { #{{{
+sub postremove ($) {
        my $session=shift;
 
        # Load saved form state and return to edit form.
@@ -132,9 +132,9 @@ sub postremove ($) { #{{{
        $session->clear("postremove");
        IkiWiki::cgi_savesession($session);
        IkiWiki::cgi($postremove, $session);
-} #}}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        my $form=$params{form};
 
@@ -154,9 +154,9 @@ sub formbuilder (@) { #{{{
                        removal_confirm($q, $session, 1, @selected);
                }
        }
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
         my $q=shift;
 
        if ($q->param("do") eq 'remove') {
index e4201cc941ec81fe736fbe4ef54a610a66ec7031..b1bb1576728945a00238949ce48821fe6cc1d5f5 100644 (file)
@@ -5,23 +5,23 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "rename", call => \&getsetup);
        hook(type => "formbuilder_setup", id => "rename", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "rename", call => \&formbuilder);
        hook(type => "sessioncgi", id => "rename", call => \&sessioncgi);
 
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return 
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub check_canrename ($$$$$$) { #{{{
+sub check_canrename ($$$$$$) {
        my $src=shift;
        my $srcfile=shift;
        my $dest=shift;
@@ -87,9 +87,9 @@ sub check_canrename ($$$$$$) { #{{{
                        IkiWiki::Plugin::attachment::check_canattach($session, $dest, $srcfile);
                }
        }
-} #}}}
+}
 
-sub rename_form ($$$) { #{{{ 
+sub rename_form ($$$) {
        my $q=shift;
        my $session=shift;
        my $page=shift;
@@ -145,9 +145,9 @@ sub rename_form ($$$) { #{{{
        $f->field(name => "attachment", type => "hidden");
 
        return $f, ["Rename", "Cancel"];
-} #}}}
+}
 
-sub rename_start ($$$$) { #{{{
+sub rename_start ($$$$) {
        my $q=shift;
        my $session=shift;
        my $attachment=shift;
@@ -171,9 +171,9 @@ sub rename_start ($$$$) { #{{{
        my ($f, $buttons)=rename_form($q, $session, $page);
        IkiWiki::showform($f, $buttons, $session, $q);
        exit 0;
-} #}}}
+}
 
-sub postrename ($;$$$) { #{{{
+sub postrename ($;$$$) {
        my $session=shift;
        my $src=shift;
        my $dest=shift;
@@ -204,9 +204,9 @@ sub postrename ($;$$$) { #{{{
        }
 
        IkiWiki::cgi_editpage($postrename, $session);
-} #}}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        my $form=$params{form};
 
@@ -229,11 +229,11 @@ sub formbuilder (@) { #{{{
                        rename_start($q, $session, 1, $selected[0]);
                }
        }
-} #}}}
+}
 
 my $renamesummary;
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
        my $form=$params{form};
        my $q=$params{cgi};
@@ -248,9 +248,9 @@ sub formbuilder_setup (@) { #{{{
                        $form->tmpl_param(message => $renamesummary);
                }
        }
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
         my $q=shift;
 
        if ($q->param("do") eq 'rename') {
@@ -418,9 +418,9 @@ sub sessioncgi ($$) { #{{{
 
                exit 0;
        }
-} #}}}
+}
 
-sub renamepage_hook ($$$$) { #{{{
+sub renamepage_hook ($$$$) {
        my ($page, $src, $dest, $content)=@_;
 
        IkiWiki::run_hooks(renamepage => sub {
@@ -433,9 +433,9 @@ sub renamepage_hook ($$$$) { #{{{
        });
 
        return $content;
-}# }}}
+}
                        
-sub do_rename ($$$) { #{{{
+sub do_rename ($$$) {
        my $rename=shift;
        my $q=shift;
        my $session=shift;
@@ -460,9 +460,9 @@ sub do_rename ($$$) { #{{{
                }
        }
 
-} # }}}
+}
 
-sub fixlinks ($$$) { #{{{
+sub fixlinks ($$$) {
        my $rename=shift;
        my $session=shift;
 
@@ -498,6 +498,6 @@ sub fixlinks ($$$) { #{{{
        }
 
        return @fixedlinks;
-} #}}}
+}
 
 1
index e40f4888c44721005ab96d9a1bb4590b13fcea89..cc2130ad5b4a2d55e514d3d6891adb89caaaecfc 100644 (file)
@@ -6,16 +6,16 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "search", call => \&getsetup);
        hook(type => "checkconfig", id => "search", call => \&checkconfig);
        hook(type => "pagetemplate", id => "search", call => \&pagetemplate);
        hook(type => "postscan", id => "search", call => \&index);
        hook(type => "delete", id => "search", call => \&delete);
        hook(type => "cgi", id => "search", call => \&cgi);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -28,9 +28,9 @@ sub getsetup () { #{{{
                        safe => 0, # external program
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        foreach my $required (qw(url cgiurl)) {
                if (! length $config{$required}) {
                        error(sprintf(gettext("Must specify %s when using the search plugin"), $required));
@@ -40,10 +40,10 @@ sub checkconfig () { #{{{
        if (! defined $config{omega_cgi}) {
                $config{omega_cgi}="/usr/lib/cgi-bin/omega/omega";
        }
-} #}}}
+}
 
 my $form;
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
@@ -58,11 +58,11 @@ sub pagetemplate (@) { #{{{
 
                $template->param(searchform => $form);
        }
-} #}}}
+}
 
 my $scrubber;
 my $stemmer;
-sub index (@) { #{{{
+sub index (@) {
        my %params=@_;
 
        setupfiles();
@@ -146,17 +146,17 @@ sub index (@) { #{{{
 
        $doc->add_term($pageterm);
        $db->replace_document_by_term($pageterm, $doc);
-} #}}}
+}
 
-sub delete (@) { #{{{
+sub delete (@) {
        my $db=xapiandb();
        foreach my $page (@_) {
                my $pageterm=pageterm(pagename($page));
                $db->delete_document_by_term($pageterm) if defined $pageterm;
        }
-} #}}}
+}
 
-sub cgi ($) { #{{{
+sub cgi ($) {
        my $cgi=shift;
 
        if (defined $cgi->param('P')) {
@@ -169,9 +169,9 @@ sub cgi ($) { #{{{
                        noimageinline => 1, linktext => "Help");
                exec($config{omega_cgi}) || error("$config{omega_cgi} failed: $!");
        }
-} #}}}
+}
 
-sub pageterm ($) { #{{{
+sub pageterm ($) {
        my $page=shift;
 
        # 240 is the number used by omindex to decide when to hash an
@@ -190,10 +190,10 @@ sub pageterm ($) { #{{{
        else {
                return "U:".$page;
        }
-} #}}}
+}
 
 my $db;
-sub xapiandb () { #{{{
+sub xapiandb () {
        if (! defined $db) {
                eval q{
                        use Search::Xapian;
@@ -204,11 +204,11 @@ sub xapiandb () { #{{{
                        Search::Xapian::DB_CREATE_OR_OPEN());
        }
        return $db;
-} #}}}
+}
 
 {
 my $setup=0;
-sub setupfiles () { #{{{
+sub setupfiles () {
        if (! $setup and (! -e $config{wikistatedir}."/xapian" || $config{rebuild})) {
                writefile("omega.conf", $config{wikistatedir}."/xapian",
                        "database_dir .\n".
@@ -218,7 +218,7 @@ sub setupfiles () { #{{{
                                readfile(IkiWiki::template_file("searchquery.tmpl"))));
                $setup=1;
        }
-} #}}}
+}
 }
 
 1
index dec8afdb5fa139e0dd1bcb9e1bfa7c57c951b6a8..33d158d3eb6a74a3d02f64e996e66a9a8889724b 100644 (file)
@@ -5,21 +5,21 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "shortcut", call => \&getsetup);
        hook(type => "checkconfig", id => "shortcut", call => \&checkconfig);
        hook(type => "preprocess", id => "shortcut", call => \&preprocess_shortcut);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (defined $config{srcdir}) {
                # Preprocess the shortcuts page to get all the available shortcuts
                # defined before other pages are rendered.
@@ -29,9 +29,9 @@ sub checkconfig () { #{{{
                }
                IkiWiki::preprocess("shortcuts", "shortcuts", readfile($srcfile));
        }
-} # }}}
+}
 
-sub preprocess_shortcut (@) { #{{{
+sub preprocess_shortcut (@) {
        my %params=@_;
 
        if (! defined $params{name} || ! defined $params{url}) {
@@ -46,9 +46,9 @@ sub preprocess_shortcut (@) { #{{{
        #translators: First parameter is the name of the shortcut, the second
        #translators: is an URL.
        return sprintf(gettext("shortcut %s points to <i>%s</i>"), $params{name}, $params{url});
-} # }}}
+}
 
-sub shortcut_expand ($$@) { #{{{
+sub shortcut_expand ($$@) {
        my $url=shift;
        my $desc=shift;
        my %params=@_;
@@ -85,6 +85,6 @@ sub shortcut_expand ($$@) { #{{{
        }
 
        return "<a href=\"$url\">$desc</a>";
-} #}}}
+}
 
 1
index 9697e1198d24db690cec373e9980516e077ad936..746fa93bb3bcaf754f0d749f865f7d55906acb1d 100644 (file)
@@ -8,20 +8,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "sidebar", call => \&getsetup);
        hook(type => "pagetemplate", id => "sidebar", call => \&pagetemplate);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub sidebar_content ($) { #{{{
+sub sidebar_content ($) {
        my $page=shift;
        
        my $sidebar_page=bestlink($page, "sidebar") || return;
@@ -42,9 +42,9 @@ sub sidebar_content ($) { #{{{
                       IkiWiki::filter($sidebar_page, $page, $content))));
        }
 
-} # }}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
 
        my $page=$params{page};
@@ -56,6 +56,6 @@ sub pagetemplate (@) { #{{{
                        $template->param(sidebar => $content);
                }
        }
-} # }}}
+}
 
 1
index ef7b9b428029f57687da3538a52b2ab75727c6ad..321c93ed522141ad6a11f7d14b5ed7a1a3fa2354 100644 (file)
@@ -5,21 +5,21 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "signinedit", call => \&getsetup);
        hook(type => "canedit", id => "signinedit", call => \&canedit,
             last => 1);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub canedit ($$$) { #{{{
+sub canedit ($$$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
@@ -34,6 +34,6 @@ sub canedit ($$$) { #{{{
        else {
                return "";
        }
-} #}}}
+}
 
 1
index f844ddb91ddaa96680094d792df96af2ddd4a229..96c4a5d6b6515461dcc85ff316db3793e248f417 100644 (file)
@@ -8,7 +8,7 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "skeleton",  call => \&getopt);
        hook(type => "getsetup", id => "skeleton",  call => \&getsetup);
        hook(type => "checkconfig", id => "skeleton", call => \&checkconfig);
@@ -34,13 +34,13 @@ sub import { #{{{
        hook(type => "formbuilder_setup", id => "skeleton", call => \&formbuilder_setup);
        hook(type => "formbuilder", id => "skeleton", call => \&formbuilder);
        hook(type => "savestate", id => "skeleton", call => \&savestate);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        debug("skeleton plugin getopt");
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -53,155 +53,155 @@ sub getsetup () { #{{{
                        safe => 0,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        debug("skeleton plugin checkconfig");
-} #}}}
+}
 
-sub refresh () { #{{{
+sub refresh () {
        debug("skeleton plugin refresh");
-} #}}}
+}
 
-sub needsbuild () { #{{{
+sub needsbuild () {
        debug("skeleton plugin needsbuild");
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        return "skeleton plugin result";
-} # }}}
+}
 
-sub filter (@) { #{{{
+sub filter (@) {
        my %params=@_;
        
        debug("skeleton plugin running as filter");
 
        return $params{content};
-} # }}}
+}
 
-sub linkify (@) { #{{{
+sub linkify (@) {
        my %params=@_;
        
        debug("skeleton plugin running as linkify");
 
        return $params{content};
-} # }}}
+}
 
 sub scan (@) { #{{{a
        my %params=@_;
 
        debug("skeleton plugin running as scan");
-} # }}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
 
        debug("skeleton plugin running as htmlize");
 
        return $params{content};
-} # }}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
        
        debug("skeleton plugin running as a sanitizer");
 
        return $params{content};
-} # }}}
+}
 
-sub postscan (@) { #{{{
+sub postscan (@) {
        my %params=@_;
        
        debug("skeleton plugin running as postscan");
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
        my %params=@_;
        
        debug("skeleton plugin running as a formatter");
 
        return $params{content};
-} # }}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $template=$params{template};
        
        debug("skeleton plugin running as a pagetemplate hook");
-} # }}}
+}
 
-sub templatefile (@) { #{{{
+sub templatefile (@) {
        my %params=@_;
        my $page=$params{page};
        
        debug("skeleton plugin running as a templatefile hook");
-} # }}}
+}
 
-sub delete (@) { #{{{
+sub delete (@) {
        my @files=@_;
 
        debug("skeleton plugin told that files were deleted: @files");
-} #}}}
+}
 
-sub change (@) { #{{{
+sub change (@) {
        my @files=@_;
 
        debug("skeleton plugin told that changed files were rendered: @files");
-} #}}}
+}
 
-sub cgi ($) { #{{{
+sub cgi ($) {
        my $cgi=shift;
 
        debug("skeleton plugin running in cgi");
-} #}}}
+}
 
-sub auth ($$) { #{{{
+sub auth ($$) {
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in auth");
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in sessioncgi");
-} #}}}
+}
 
-sub canedit ($$$) { #{{{
+sub canedit ($$$) {
        my $page=shift;
        my $cgi=shift;
        my $session=shift;
 
        debug("skeleton plugin running in canedit");
-} #}}}
+}
 
-sub editcontent ($$$) { #{{{
+sub editcontent ($$$) {
        my %params=@_;
 
        debug("skeleton plugin running in editcontent");
 
        return $params{content};
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
        
        debug("skeleton plugin running in formbuilder_setup");
-} # }}}
+}
 
-sub formbuilder (@) { #{{{
+sub formbuilder (@) {
        my %params=@_;
        
        debug("skeleton plugin running in formbuilder");
-} # }}}
+}
 
-sub savestate () { #{{{
+sub savestate () {
        debug("skeleton plugin running in savestate");
-} #}}}
+}
 
 1
index 2633b1ea14cf6ab247ea858e3049c977db5f54bc..70b8cef742c61db5c2c2a1c58650a702ade02f3d 100644 (file)
@@ -8,13 +8,13 @@ use IkiWiki 2.00;
 my %smileys;
 my $smiley_regexp;
 
-sub import { #{{{
+sub import {
        add_underlay("smiley");
        hook(type => "getsetup", id => "smiley", call => \&getsetup);
        hook(type => "sanitize", id => "smiley", call => \&sanitize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -22,9 +22,9 @@ sub getsetup () { #{{{
                        # removes the smileys, which would break links
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub build_regexp () { #{{{
+sub build_regexp () {
        my $list=readfile(srcfile("smileys.mdwn"));
        while ($list =~ m/^\s*\*\s+\\\\([^\s]+)\s+\[\[([^]]+)\]\]/mg) {
                my $smiley=$1;
@@ -50,9 +50,9 @@ sub build_regexp () { #{{{
        $smiley_regexp='('.join('|', map { quotemeta }
                reverse sort keys %smileys).')';
        #debug($smiley_regexp);
-} #}}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
 
        build_regexp() unless defined $smiley_regexp;
@@ -95,6 +95,6 @@ MATCH:        while (m{(?:^|(?<=\s|>))(\\?)$smiley_regexp(?:(?=\s|<)|$)}g) {
        }
 
        return $_;
-} # }}}
+}
 
 1
index 901c2f6830548c9e23c8e24831666b44d6257bc5..dca755c634b161f656581f67f8328189729ffac5 100644 (file)
@@ -14,20 +14,20 @@ my %locmap=(
        left => 'TEXT_LEFT',
 );
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "sparkline", call => \&getsetup);
        hook(type => "preprocess", id => "sparkline", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        my $php;
@@ -166,6 +166,6 @@ sub preprocess (@) { #{{{
        }
 
        return '<img src="'.urlto($fn, $params{destpage}).'" alt="graph" />';
-} # }}}
+}
 
 1
index d738720be655a7c2140c7cdb14ff9548dd8f6552..fe55e7d0853a8ddcb78171fc3b6ffde3b62ad675 100644 (file)
@@ -6,7 +6,7 @@ use strict;
 use IkiWiki;
 use POSIX qw(setlocale LC_CTYPE);
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "svn", call => \&checkconfig);
        hook(type => "getsetup", id => "svn", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -19,9 +19,9 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! defined $config{svnpath}) {
                $config{svnpath}="trunk";
        }
@@ -37,9 +37,9 @@ sub checkconfig () { #{{{
                        wrappermode => (defined $config{svn_wrappermode} ? $config{svn_wrappermode} : "04755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -87,7 +87,7 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
 # svn needs LC_CTYPE set to a UTF-8 locale, so try to find one. Any will do.
 sub find_lc_ctype() {
@@ -107,27 +107,27 @@ sub find_lc_ctype() {
 
        # fallback to the current locale
        return $current;
-} # }}}
+}
 $ENV{LC_CTYPE} = $ENV{LC_CTYPE} || find_lc_ctype();
 
-sub svn_info ($$) { #{{{
+sub svn_info ($$) {
        my $field=shift;
        my $file=shift;
 
        my $info=`LANG=C svn info $file`;
        my ($ret)=$info=~/^$field: (.*)$/m;
        return $ret;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        if (-d "$config{srcdir}/.svn") {
                if (system("svn", "update", "--quiet", $config{srcdir}) != 0) {
                        warn("svn update failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        # Prepares to edit a file under revision control. Returns a token
        # that must be passed into rcs_commit when the file is ready
        # for committing.
@@ -140,9 +140,9 @@ sub rcs_prepedit ($) { #{{{
                my $rev=svn_info("Revision", "$config{srcdir}/$file");
                return defined $rev ? $rev : "";
        }
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        # Tries to commit the page; returns undef on _success_ and
        # a version of the page with the rcs's conflict markers on failure.
        # The file is relative to the srcdir.
@@ -185,7 +185,7 @@ sub rcs_commit ($$$;$$) { #{{{
                }
        }
        return undef # success
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -209,7 +209,7 @@ sub rcs_commit_staged ($$$) {
        return undef # success
 }
 
-sub rcs_add ($) { #{{{
+sub rcs_add ($) {
        # filename is relative to the root of the srcdir
        my $file=shift;
 
@@ -224,9 +224,9 @@ sub rcs_add ($) { #{{{
                        warn("svn add failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_remove ($) { #{{{
+sub rcs_remove ($) {
        # filename is relative to the root of the srcdir
        my $file=shift;
 
@@ -235,9 +235,9 @@ sub rcs_remove ($) { #{{{
                        warn("svn rm failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_rename ($$) { #{{{
+sub rcs_rename ($$) {
        # filenames relative to the root of the srcdir
        my ($src, $dest)=@_;
        
@@ -258,9 +258,9 @@ sub rcs_rename ($$) { #{{{
                        warn("svn rename failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_recentchanges ($) { #{{{
+sub rcs_recentchanges ($) {
        my $num=shift;
        my @ret;
        
@@ -341,14 +341,14 @@ sub rcs_recentchanges ($) { #{{{
        }
 
        return @ret;
-} #}}}
+}
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        my $rev=IkiWiki::possibly_foolish_untaint(int(shift));
        return `svnlook diff $config{svnrepo} -r$rev --no-diff-deleted`;
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my $file=shift;
 
        my $svn_log_infoline=qr/^r\d+\s+\|\s+[^\s]+\s+\|\s+(\d+-\d+-\d+\s+\d+:\d+:\d+\s+[-+]?\d+).*/;
@@ -376,6 +376,6 @@ sub rcs_getctime ($) { #{{{
        $date=str2time($date);
        debug("found ctime ".localtime($date)." for $file");
        return $date;
-} #}}}
+}
 
 1
index e782fc238dbd40b628f8675fefa36942d9be520c..b6f53f607b1741fc959afc452ef65e252b5a4e49 100644 (file)
@@ -6,20 +6,20 @@ use strict;
 use Encode;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "table", call => \&getsetup);
        hook(type => "preprocess", id => "table", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params =(
                format  => 'auto',
                header  => 'row',
@@ -102,16 +102,16 @@ sub preprocess (@) { #{{{
        else {  
                return $html;
        }            
-} #}}}
+}
 
-sub is_dsv_data ($) { #{{{
+sub is_dsv_data ($) {
        my $text = shift;
 
        my ($line) = split(/\n/, $text);
        return $line =~ m{.+\|};
 }
 
-sub split_csv ($$) { #{{{
+sub split_csv ($$) {
        my @text_lines = split(/\n/, shift);
        my $delimiter = shift;
 
@@ -137,9 +137,9 @@ sub split_csv ($$) { #{{{
        }
 
        return @data;
-} #}}}
+}
 
-sub split_dsv ($$) { #{{{
+sub split_dsv ($$) {
        my @text_lines = split(/\n/, shift);
        my $delimiter = shift;
        $delimiter="|" unless defined $delimiter;
@@ -150,9 +150,9 @@ sub split_dsv ($$) { #{{{
        }
     
        return @data;
-} #}}}
+}
 
-sub genrow ($@) { #{{{
+sub genrow ($@) {
        my %params=%{shift()};
        my $elt = shift;
        my @data = @_;
@@ -190,6 +190,6 @@ sub genrow ($@) { #{{{
        push @ret, "\t\t</tr>";
 
        return @ret;
-} #}}}
+}
 
 1
index d725ef9b3a948f3b5967f66d5ac6dde887a1f633..ecc77cbb11162a5587de36ab30adc9edc9defdb1 100644 (file)
@@ -8,22 +8,22 @@ use IkiWiki 2.00;
 
 my %tags;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "tag", call => \&getopt);
        hook(type => "getsetup", id => "tag", call => \&getsetup);
        hook(type => "preprocess", id => "tag", call => \&preprocess_tag, scan => 1);
        hook(type => "preprocess", id => "taglink", call => \&preprocess_taglink, scan => 1);
        hook(type => "pagetemplate", id => "tag", call => \&pagetemplate);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        eval q{use Getopt::Long};
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
        GetOptions("tagbase=s" => \$config{tagbase});
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -36,9 +36,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub tagpage ($) { #{{{
+sub tagpage ($) {
        my $tag=shift;
                        
        if ($tag !~ m{^\.?/} &&
@@ -48,18 +48,18 @@ sub tagpage ($) { #{{{
        }
 
        return $tag;
-} #}}}
+}
 
-sub taglink ($$$;@) { #{{{
+sub taglink ($$$;@) {
        my $page=shift;
        my $destpage=shift;
        my $tag=shift;
        my %opts=@_;
 
        return htmllink($page, $destpage, tagpage($tag), %opts);
-} #}}}
+}
 
-sub preprocess_tag (@) { #{{{
+sub preprocess_tag (@) {
        if (! @_) {
                return "";
        }
@@ -77,9 +77,9 @@ sub preprocess_tag (@) { #{{{
        }
                
        return "";
-} # }}}
+}
 
-sub preprocess_taglink (@) { #{{{
+sub preprocess_taglink (@) {
        if (! @_) {
                return "";
        }
@@ -102,9 +102,9 @@ sub preprocess_taglink (@) { #{{{
        grep {
                $_ ne 'page' && $_ ne 'destpage' && $_ ne 'preview'
        } keys %params);
-} # }}}
+}
 
-sub pagetemplate (@) { #{{{
+sub pagetemplate (@) {
        my %params=@_;
        my $page=$params{page};
        my $destpage=$params{destpage};
@@ -123,6 +123,6 @@ sub pagetemplate (@) { #{{{
                                sort keys %{$tags{$page}}]);
                }
        }
-} # }}}
+}
 
 1
index c980df48f4a48dfa8100fefa341740a2028244eb..1b7eb91bf91e3761a5a0ee9ff2fd753b65f9bb71 100644 (file)
@@ -8,20 +8,20 @@ use IkiWiki 2.00;
 use HTML::Template;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "template", call => \&getsetup);
        hook(type => "preprocess", id => "template", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        if (! exists $params{id}) {
@@ -71,6 +71,6 @@ sub preprocess (@) { #{{{
        return IkiWiki::preprocess($params{page}, $params{destpage},
                IkiWiki::filter($params{page}, $params{destpage},
                $template->output));
-} # }}}
+}
 
 1
index 9f9b50f017bb5cb75a5ed1155984531d082d200d..a6e94dbbb5a2e88867a4ac03d49d65b141949446 100644 (file)
@@ -5,20 +5,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "testpagespec", call => \&getsetup);
        hook(type => "preprocess", id => "testpagespec", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        
        foreach my $param (qw{match pagespec}) {
@@ -37,6 +37,6 @@ sub preprocess (@) { #{{{
        else {
                return "no match: $ret";
        }
-} # }}}
+}
 
 1
index 661d97b1f4fc04b86421f41baa36cd05ce021a8b..57b23147eb194746e58a256d2ac4bebf9d5801df 100644 (file)
@@ -21,12 +21,12 @@ EOPREFIX
 
 my $default_postfix = '\\end{document}';
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "teximg", call => \&getsetup);
        hook(type => "preprocess", id => "teximg", call => \&preprocess);
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -52,9 +52,9 @@ sub getsetup () { #{{{
                        safe => 0, # Not sure how secure LaTeX is...
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params = @_;
        
        my $height = $params{height};
@@ -76,9 +76,9 @@ sub preprocess (@) { #{{{
        else {
                error gettext("code includes disallowed latex commands")
        }
-} #}}}
+}
 
-sub check_height ($) { #{{{
+sub check_height ($) {
        # Since latex doesn't support unlimited scaling this function
        # returns the closest supported size.
        my $height =shift;
@@ -95,9 +95,9 @@ sub check_height ($) { #{{{
                }
        }
        return $ret;
-} #}}}
+}
 
-sub create ($$$) { #{{{
+sub create ($$$) {
        # This function calls the image generating function and returns
        # the <img .. /> for the generated image.
        my $code = shift;
@@ -127,9 +127,9 @@ sub create ($$$) { #{{{
        else {
                error qq{<a href="$logurl">}.gettext("failed to generate image from code")."</a>";
        }
-} #}}}
+}
 
-sub gen_image ($$$$) { #{{{
+sub gen_image ($$$$) {
        # Actually creates the image.
        my $code = shift;
        my $height = shift;
@@ -180,18 +180,18 @@ sub gen_image ($$$$) { #{{{
 
                return 0;
        }
-} #}}}
+}
 
-sub create_tmp_dir ($) { #{{{
+sub create_tmp_dir ($) {
        # Create a temp directory, it will be removed when ikiwiki exits.
        my $base = shift;
 
        my $template = $base.".XXXXXXXXXX";
        my $tmpdir = tempdir($template, TMPDIR => 1, CLEANUP => 1);
        return $tmpdir;
-} #}}}
+}
 
-sub check ($) { #{{{
+sub check ($) {
        # Check if the code is ok
        my $code = shift;
 
@@ -219,6 +219,6 @@ sub check ($) { #{{{
                }
        }
        return 1;
-} #}}}
+}
 
 1
index bbd282f0c8dd09035f03eadc85fbd3ea0823cf7a..d1b927b749b30220d22bfb5f3a2860a65e4f5204 100644 (file)
@@ -9,26 +9,26 @@ use strict;
 use IkiWiki 2.00;
 use Encode;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "textile", call => \&getsetup);
        hook(type => "htmlize", id => "txtl", call => \&htmlize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        my $content = decode_utf8(encode_utf8($params{content}));
 
        eval q{use Text::Textile};
        return $content if $@;
        return Text::Textile::textile($content);
-} # }}}
+}
 
 1
index 0a5c161b25e32c74bee0c14f538cc98d85375a0a..f4b20a6ec2b27681b98b92fa4d787cb9d8cb1fe1 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use strict;
 use IkiWiki;
 
-sub import { #{{{
+sub import {
        hook(type => "checkconfig", id => "tla", call => \&checkconfig);
        hook(type => "getsetup", id => "tla", call => \&getsetup);
        hook(type => "rcs", id => "rcs_update", call => \&rcs_update);
@@ -18,18 +18,18 @@ sub import { #{{{
        hook(type => "rcs", id => "rcs_recentchanges", call => \&rcs_recentchanges);
        hook(type => "rcs", id => "rcs_diff", call => \&rcs_diff);
        hook(type => "rcs", id => "rcs_getctime", call => \&rcs_getctime);
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (defined $config{tla_wrapper} && length $config{tla_wrapper}) {
                push @{$config{wrappers}}, {
                        wrapper => $config{tla_wrapper},
                        wrappermode => (defined $config{tla_wrappermode} ? $config{tla_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # rcs plugin
@@ -63,9 +63,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub quiet_system (@) { #{{{
+sub quiet_system (@) {
        # See Debian bug #385939.
        open (SAVEOUT, ">&STDOUT");
        close STDOUT;
@@ -75,17 +75,17 @@ sub quiet_system (@) { #{{{
        open (STDOUT, ">&SAVEOUT");
        close SAVEOUT;
        return $ret;
-} #}}}
+}
 
-sub rcs_update () { #{{{
+sub rcs_update () {
        if (-d "$config{srcdir}/{arch}") {
                if (quiet_system("tla", "replay", "-d", $config{srcdir}) != 0) {
                        warn("tla replay failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_prepedit ($) { #{{{
+sub rcs_prepedit ($) {
        my $file=shift;
 
        if (-d "$config{srcdir}/{arch}") {
@@ -94,9 +94,9 @@ sub rcs_prepedit ($) { #{{{
                my $rev=`tla tree-id $config{srcdir}`;
                return defined $rev ? $rev : "";
        }
-} #}}}
+}
 
-sub rcs_commit ($$$;$$) { #{{{
+sub rcs_commit ($$$;$$) {
        my $file=shift;
        my $message=shift;
        my $rcstoken=shift;
@@ -135,7 +135,7 @@ sub rcs_commit ($$$;$$) { #{{{
                }
        }
        return undef # success
-} #}}}
+}
 
 sub rcs_commit_staged ($$$) {
        # Commits all staged changes. Changes can be staged using rcs_add,
@@ -145,7 +145,7 @@ sub rcs_commit_staged ($$$) {
        error("rcs_commit_staged not implemented for tla"); # TODO
 }
 
-sub rcs_add ($) { #{{{
+sub rcs_add ($) {
        my $file=shift;
 
        if (-d "$config{srcdir}/{arch}") {
@@ -153,19 +153,19 @@ sub rcs_add ($) { #{{{
                        warn("tla add failed\n");
                }
        }
-} #}}}
+}
 
-sub rcs_remove ($) { # {{{
+sub rcs_remove ($) {
        my $file = shift;
 
        error("rcs_remove not implemented for tla"); # TODO
-} #}}}
+}
 
 sub rcs_rename ($$) { # {{{a
        my ($src, $dest) = @_;
 
        error("rcs_rename not implemented for tla"); # TODO
-} #}}}
+}
 
 sub rcs_recentchanges ($) {
        my $num=shift;
@@ -239,7 +239,7 @@ sub rcs_recentchanges ($) {
        return @ret;
 }
 
-sub rcs_diff ($) { #{{{
+sub rcs_diff ($) {
        my $rev=shift;
        my $logs = `tla logs -d $config{srcdir}`;
        my @changesets = reverse split(/\n/, $logs);
@@ -251,9 +251,9 @@ sub rcs_diff ($) { #{{{
 
        my $revminusone = $changesets[$i+1];
        return `tla diff -d $config{srcdir} $revminusone`;
-} #}}}
+}
 
-sub rcs_getctime ($) { #{{{
+sub rcs_getctime ($) {
        my $file=shift;
        eval q{use Date::Parse};
        error($@) if $@;
@@ -281,6 +281,6 @@ sub rcs_getctime ($) { #{{{
        my $date=str2time($sdate, 'UTC');
        debug("found ctime ".localtime($date)." for $file");
        return $date;
-} #}}}
+}
 
 1
index dff9d9aa5356e5928de0a9ddd654217f2165af84..460837b1d44587928702198a2fa38110ad6b76cd 100644 (file)
@@ -7,23 +7,23 @@ use strict;
 use IkiWiki 2.00;
 use HTML::Parser;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "toc", call => \&getsetup);
        hook(type => "preprocess", id => "toc", call => \&preprocess);
        hook(type => "format", id => "toc", call => \&format);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
 my %tocpages;
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
 
        if ($params{page} eq $params{destpage}) {
@@ -40,9 +40,9 @@ sub preprocess (@) { #{{{
                # right.
                return "";
        }
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
        my %params=@_;
        my $content=$params{content};
        
index 657d8d3c2d49dbc40a415fde9446aaeffe761d46..967b07fcc039e42ff14fdd775338038f5c16e8e7 100644 (file)
@@ -5,7 +5,7 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        add_underlay("javascript");
        hook(type => "getsetup", id => "toggle", call => \&getsetup);
        hook(type => "preprocess", id => "toggle",
@@ -13,17 +13,17 @@ sub import { #{{{
        hook(type => "preprocess", id => "toggleable",
                call => \&preprocess_toggleable);
        hook(type => "format", id => "toggle", call => \&format);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub genid ($$) { #{{{
+sub genid ($$) {
        my $page=shift;
        my $id=shift;
 
@@ -35,16 +35,16 @@ sub genid ($$) { #{{{
                $id="id$id";
        }
        return $id;
-} #}}}
+}
 
-sub preprocess_toggle (@) { #{{{
+sub preprocess_toggle (@) {
        my %params=(id => "default", text => "more", @_);
 
        my $id=genid($params{page}, $params{id});
        return "<a class=\"toggle\" href=\"#$id\">$params{text}</a>";
-} # }}}
+}
 
-sub preprocess_toggleable (@) { #{{{
+sub preprocess_toggleable (@) {
        my %params=(id => "default", text => "", open => "no", @_);
 
        # Preprocess the text to expand any preprocessor directives
@@ -61,9 +61,9 @@ sub preprocess_toggleable (@) { #{{{
        my ($indent)=$params{text}=~/( +)$/;
        $indent="" unless defined $indent;
        return "<div class=\"$class\" id=\"$id\"></div>\n\n$params{text}\n$indent<div class=\"toggleableend\"></div>";
-} # }}}
+}
 
-sub format (@) { #{{{
+sub format (@) {
         my %params=@_;
 
        if ($params{content}=~s!(<div class="toggleable(?:-open)?" id="[^"]+">\s*)</div>!$1!g) {
@@ -74,9 +74,9 @@ sub format (@) { #{{{
                }
        }
        return $params{content};
-} # }}}
+}
 
-sub include_javascript ($;$) { #{{{
+sub include_javascript ($;$) {
        my $page=shift;
        my $absolute=shift;
        
@@ -84,6 +84,6 @@ sub include_javascript ($;$) { #{{{
                '" type="text/javascript" charset="utf-8"></script>'."\n".
                '<script src="'.urlto("toggle.js", $page, $absolute).
                '" type="text/javascript" charset="utf-8"></script>';
-} #}}}
+}
 
 1
index e157bf07e1eff1b66c93f1ddc4b018846e42cfe8..d65bb20364cf194cc3a39f1c967c008c8830ac5b 100644 (file)
@@ -24,13 +24,13 @@ sub import {
        }
 }
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-} #}}}
+}
 
 # We use filter to convert raw text to HTML
 # (htmlize is called after other plugins insert HTML)
index 27089b39008455b92b24e69669627bc624fbf10d..e395b214394d6e0f4c98fafb25915ce1769eef01 100644 (file)
@@ -6,20 +6,20 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getopt", id => "typography", call => \&getopt);
        hook(type => "getsetup", id => "typography", call => \&getsetup);
        IkiWiki::hook(type => "sanitize", id => "typography", call => \&sanitize);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        eval q{use Getopt::Long};
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
        GetOptions("typographyattributes=s" => \$config{typographyattributes});
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        eval q{use Text::Typography};
        error($@) if $@;
 
@@ -36,9 +36,9 @@ sub getsetup () { #{{{
                        safe => 1,
                        rebuild => 1,
                },
-} #}}}
+}
 
-sub sanitize (@) { #{{{
+sub sanitize (@) {
        my %params=@_;
 
        eval q{use Text::Typography};
@@ -46,6 +46,6 @@ sub sanitize (@) { #{{{
 
        my $attributes=defined $config{typographyattributes} ? $config{typographyattributes} : '3';
        return Text::Typography::typography($params{content}, $attributes);
-} # }}}
+}
 
 1
index 18e9613aee76fd51e04681128af8646dab916963..3526dafde5bb4df0403aebda6c9bca5e3aadb86e 100644 (file)
@@ -6,21 +6,21 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "version", call => \&getsetup);
        hook(type => "needsbuild", id => "version", call => \&needsbuild);
        hook(type => "preprocess", id => "version", call => \&preprocess);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => undef,
                },
-} #}}}
+}
 
-sub needsbuild (@) { #{{{
+sub needsbuild (@) {
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{version}{shown}) {
@@ -36,11 +36,11 @@ sub needsbuild (@) { #{{{
                        }
                }
        }
-} # }}}
+}
 
-sub preprocess (@) { #{{{
+sub preprocess (@) {
        my %params=@_;
        $pagestate{$params{destpage}}{version}{shown}=$IkiWiki::version;
-} # }}}
+}
 
 1
index 827ee3099f31f0f091b6d76326842e0bfea1fd8e..66dacfde34049ee4421da73e8fd6667a4155a81f 100644 (file)
@@ -5,15 +5,15 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "websetup", call => \&getsetup);
        hook(type => "checkconfig", id => "websetup", call => \&checkconfig);
        hook(type => "sessioncgi", id => "websetup", call => \&sessioncgi);
        hook(type => "formbuilder_setup", id => "websetup", 
             call => \&formbuilder_setup);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -33,15 +33,15 @@ sub getsetup () { #{{{
                        safe => 0,
                        rebuild => 0,
                },
-} #}}}
+}
 
-sub checkconfig () { #{{{
+sub checkconfig () {
        if (! exists $config{websetup_show_unsafe}) {
                $config{websetup_show_unsafe}=1;
        }
-} #}}}
+}
 
-sub formatexample ($$) { #{{{
+sub formatexample ($$) {
        my $example=shift;
        my $value=shift;
 
@@ -54,9 +54,9 @@ sub formatexample ($$) { #{{{
        else {
                return "";
        }
-} #}}}
+}
 
-sub showfields ($$$@) { #{{{
+sub showfields ($$$@) {
        my $form=shift;
        my $plugin=shift;
        my $enabled=shift;
@@ -207,16 +207,16 @@ sub showfields ($$$@) { #{{{
        }
 
        return %enabledfields;
-} #}}}
+}
 
-sub enable_plugin ($) { #{{{
+sub enable_plugin ($) {
        my $plugin=shift;
 
        $config{disable_plugins}=[grep { $_ ne $plugin } @{$config{disable_plugins}}];
        push @{$config{add_plugins}}, $plugin;
 }
 
-sub disable_plugin ($) { #{{{
+sub disable_plugin ($) {
        my $plugin=shift;
 
        if (grep { $_ eq $plugin } @{$config{add_plugins}}) {
@@ -227,7 +227,7 @@ sub disable_plugin ($) { #{{{
        }
 }
 
-sub showform ($$) { #{{{
+sub showform ($$) {
        my $cgi=shift;
        my $session=shift;
 
@@ -441,9 +441,9 @@ sub showform ($$) { #{{{
        }
 
        IkiWiki::showform($form, $buttons, $session, $cgi);
-} #}}}
+}
 
-sub sessioncgi ($$) { #{{{
+sub sessioncgi ($$) {
        my $cgi=shift;
        my $session=shift;
 
@@ -451,9 +451,9 @@ sub sessioncgi ($$) { #{{{
                showform($cgi, $session);
                exit;
        }
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
 
        my $form=$params{form};
@@ -464,6 +464,6 @@ sub formbuilder_setup (@) { #{{{
                        exit;
                }
        }
-} #}}}
+}
 
 1
index c47ccb7b1aded4ea75f096122a39000bda34cdd1..50571e524021311b88dfb3e719fadb37587252a8 100644 (file)
@@ -6,27 +6,27 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "getsetup", id => "wiki", call => \&getsetup);
        hook(type => "htmlize", id => "wiki", call => \&htmlize);
-} # }}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        return
                plugin => {
                        safe => 0, # format plugin
                        rebuild => undef,
                },
-} #}}}
+}
 
 
-sub htmlize (@) { #{{{
+sub htmlize (@) {
        my %params=@_;
        my $content = $params{content};
 
        eval q{use Text::WikiFormat};
        return $content if $@;
        return Text::WikiFormat::format($content, undef, { implicit_links => 0 });
-} # }}}
+}
 
 1
index 72668d26a9d596c8b340946b2051fa4ad840949e..37b6f2a62667600c0ad181eb448d4629504bdd4c 100644 (file)
@@ -6,21 +6,21 @@ use warnings;
 use strict;
 use IkiWiki;
 
-sub getuser () { #{{{
+sub getuser () {
        my $user=(getpwuid(exists $ENV{CALLER_UID} ? $ENV{CALLER_UID} : $<))[0];
        if (! defined $user) {
                error("cannot determine username for $<");
        }
        return $user;
-} #}}}
+}
 
-sub trusted () { #{{{
+sub trusted () {
        my $user=getuser();
        return ! ref $config{untrusted_committers} ||
                ! grep { $_ eq $user } @{$config{untrusted_committers}};
-} #}}}
+}
 
-sub gen_wrapper () { #{{{
+sub gen_wrapper () {
        # Test for commits from untrusted committers in the wrapper, to
        # avoid loading ikiwiki at all for trusted commits.
 
@@ -43,9 +43,9 @@ EOF
        }
 EOF
        return $ret;
-} #}}}
+}
 
-sub test () { #{{{
+sub test () {
        exit 0 if trusted();
        
        IkiWiki::lockwiki();
@@ -130,6 +130,6 @@ sub test () { #{{{
        }
 
        exit 0;
-} #}}}
+}
 
 1
index 389063d4623f8f381717384691d46803825d8dec..adae9f0d5898dee39190a29328fa7e221c82dcdc 100644 (file)
@@ -10,7 +10,7 @@ use Encode;
 my %backlinks;
 my $backlinks_calculated=0;
 
-sub calculate_backlinks () { #{{{
+sub calculate_backlinks () {
        return if $backlinks_calculated;
        %backlinks=();
        foreach my $page (keys %links) {
@@ -22,9 +22,9 @@ sub calculate_backlinks () { #{{{
                }
        }
        $backlinks_calculated=1;
-} #}}}
+}
 
-sub backlinks ($) { #{{{
+sub backlinks ($) {
        my $page=shift;
 
        calculate_backlinks();
@@ -45,9 +45,9 @@ sub backlinks ($) { #{{{
                push @links, { url => $href, page => pagetitle($p_trimmed) };
        }
        return @links;
-} #}}}
+}
 
-sub genpage ($$) { #{{{
+sub genpage ($$) {
        my $page=shift;
        my $content=shift;
 
@@ -131,9 +131,9 @@ sub genpage ($$) { #{{{
        });
 
        return $content;
-} #}}}
+}
 
-sub scan ($) { #{{{
+sub scan ($) {
        my $file=shift;
 
        my $type=pagetype($file);
@@ -165,9 +165,9 @@ sub scan ($) { #{{{
        else {
                will_render($file, $file, 1);
        }
-} #}}}
+}
 
-sub fast_file_copy (@) { #{{{
+sub fast_file_copy (@) {
        my $srcfile=shift;
        my $destfile=shift;
        my $srcfd=shift;
@@ -191,7 +191,7 @@ sub fast_file_copy (@) { #{{{
        }
 }
 
-sub render ($) { #{{{
+sub render ($) {
        my $file=shift;
        
        my $type=pagetype($file);
@@ -233,9 +233,9 @@ sub render ($) { #{{{
                        fast_file_copy($srcfile, $file, $srcfd, @_);
                });
        }
-} #}}}
+}
 
-sub prune ($) { #{{{
+sub prune ($) {
        my $file=shift;
 
        unlink($file);
@@ -243,9 +243,9 @@ sub prune ($) { #{{{
        while (rmdir($dir)) {
                $dir=dirname($dir);
        }
-} #}}}
+}
 
-sub refresh () { #{{{
+sub refresh () {
        # security check, avoid following symlinks in the srcdir path by default
        my $test=$config{srcdir};
        while (length $test) {
@@ -507,9 +507,9 @@ sub refresh () { #{{{
        if (%rendered) {
                run_hooks(change => sub { shift->(keys %rendered) });
        }
-} #}}}
+}
 
-sub commandline_render () { #{{{
+sub commandline_render () {
        lockwiki();
        loadindex();
        unlockwiki();
@@ -532,6 +532,6 @@ sub commandline_render () { #{{{
 
        print genpage($page, $content);
        exit 0;
-} #}}}
+}
 
 1
index 77afdd6084e94084ba8e6a09b8bba632f3adcbfc..6ee11209624a20a1a0080852b6f4a64dda756543 100644 (file)
@@ -10,7 +10,7 @@ use IkiWiki;
 use open qw{:utf8 :std};
 use File::Spec;
 
-sub load ($) { # {{{
+sub load ($) {
        my $setup=IkiWiki::possibly_foolish_untaint(shift);
        $config{setupfile}=File::Spec->rel2abs($setup);
 
@@ -27,7 +27,7 @@ sub load ($) { # {{{
 
        eval $code;
        error("$setup: ".$@) if $@;
-} #}}}
+}
 
 sub merge ($) {
        # Merge setup into existing config and untaint.
@@ -71,9 +71,9 @@ sub merge ($) {
                        wrappermode => (defined $config{cgi_wrappermode} ? $config{cgi_wrappermode} : "06755"),
                };
        }
-} #}}}
+}
 
-sub getsetup () { #{{{
+sub getsetup () {
        # Gets all available setup data from all plugins. Returns an
        # ordered list of [plugin, setup] pairs.
        my @ret;
@@ -105,9 +105,9 @@ sub getsetup () { #{{{
         $config{syslog}=$syslog;
 
        return @ret;
-} #}}}
+}
 
-sub dump ($) { #{{{
+sub dump ($) {
        my $file=IkiWiki::possibly_foolish_untaint(shift);
        
        require IkiWiki::Setup::Standard;
index 88e9f3d245c95a2da545b1899d0d4f2a468dbd93..9f2380d52e0eb1a48bfd218b23c0cd0e94e2e9f2 100644 (file)
@@ -10,20 +10,20 @@ use IkiWiki::UserInfo;
 use Term::ReadLine;
 use File::Path;
 
-sub ask ($$) { #{{{
+sub ask ($$) {
        my ($question, $default)=@_;
 
        my $r=Term::ReadLine->new("ikiwiki");
        $r->readline($question." ", $default);
-} #}}}
+}
 
-sub prettydir ($) { #{{{
+sub prettydir ($) {
        my $dir=shift;
        $dir=~s/^\Q$ENV{HOME}\E\//~\//;
        return $dir;
-} #}}}
+}
 
-sub import (@) { #{{{
+sub import (@) {
        my $this=shift;
        IkiWiki::Setup::merge({@_});
 
@@ -142,6 +142,6 @@ sub import (@) { #{{{
        print "To modify settings, edit ".prettydir($config{dumpsetup})." and then run:\n";
        print " ikiwiki -setup ".prettydir($config{dumpsetup})."\n";
        exit 0;
-} #}}}
+}
 
 1
index e6bff2826ff73497385d1dbd332c2bb842fc110d..951bcfc56febfce724d82c652f96468c227709d2 100644 (file)
@@ -9,11 +9,11 @@ use warnings;
 use strict;
 use IkiWiki;
 
-sub import { #{{{
+sub import {
        IkiWiki::Setup::merge($_[1]);
-} #}}}
+}
 
-sub dumpline ($$$$) { #{{{
+sub dumpline ($$$$) {
        my $key=shift;
        my $value=shift;
        my $type=shift;
@@ -55,9 +55,9 @@ sub dumpline ($$$$) { #{{{
        }
        
        return "\t$prefix$key => $dumpedvalue,";
-} #}}}
+}
 
-sub dumpvalues ($@) { #{{{
+sub dumpvalues ($@) {
        my $setup=shift;
        my @ret;
        while (@_) {
@@ -80,9 +80,9 @@ sub dumpvalues ($@) { #{{{
                }
        }
        return @ret;
-} #}}}
+}
 
-sub gendump ($) { #{{{
+sub gendump ($) {
        my $description=shift;
        my %setup=(%config);
        my @ret;
@@ -112,6 +112,6 @@ sub gendump ($) { #{{{
        push @ret, "}";
 
        return @ret;
-} #}}}
+}
 
 1
index dcf99da09bda07fbb5a643f3f4fa6a9d3a436f78..3423dc92335c9a0139e02d0562ee1ac9c01121c4 100644 (file)
@@ -7,12 +7,12 @@ use strict;
 use Storable;
 use IkiWiki;
 
-sub userinfo_retrieve () { #{{{
+sub userinfo_retrieve () {
        my $userinfo=eval{ Storable::lock_retrieve("$config{wikistatedir}/userdb") };
        return $userinfo;
-} #}}}
+}
 
-sub userinfo_store ($) { #{{{
+sub userinfo_store ($) {
        my $userinfo=shift;
        
        my $newfile="$config{wikistatedir}/userdb.new";
@@ -26,9 +26,9 @@ sub userinfo_store ($) { #{{{
                }
        }
        return $ret;
-} #}}}
+}
 
-sub userinfo_get ($$) { #{{{
+sub userinfo_get ($$) {
        my $user=shift;
        my $field=shift;
 
@@ -39,9 +39,9 @@ sub userinfo_get ($$) { #{{{
                return "";
        }
        return $userinfo->{$user}->{$field};
-} #}}}
+}
 
-sub userinfo_set ($$$) { #{{{
+sub userinfo_set ($$$) {
        my $user=shift;
        my $field=shift;
        my $value=shift;
@@ -54,9 +54,9 @@ sub userinfo_set ($$$) { #{{{
        
        $userinfo->{$user}->{$field}=$value;
        return userinfo_store($userinfo);
-} #}}}
+}
 
-sub userinfo_setall ($$) { #{{{
+sub userinfo_setall ($$) {
        my $user=shift;
        my $info=shift;
        
@@ -66,32 +66,32 @@ sub userinfo_setall ($$) { #{{{
        }
        $userinfo->{$user}=$info;
        return userinfo_store($userinfo);
-} #}}}
+}
 
-sub is_admin ($) { #{{{
+sub is_admin ($) {
        my $user_name=shift;
 
        return grep { $_ eq $user_name } @{$config{adminuser}};
-} #}}}
+}
 
 # XXX deprecated, should be removed eventually
-sub get_banned_users () { #{{{
+sub get_banned_users () {
        my @ret;
        my $userinfo=userinfo_retrieve();
        foreach my $user (keys %{$userinfo}) {
                push @ret, $user if $userinfo->{$user}->{banned};
        }
        return @ret;
-} #}}}
+}
 
 # XXX deprecated, should be removed eventually
-sub set_banned_users (@) { #{{{
+sub set_banned_users (@) {
        my %banned=map { $_ => 1 } @_;
        my $userinfo=userinfo_retrieve();
        foreach my $user (keys %{$userinfo}) {
                $userinfo->{$user}->{banned} = $banned{$user};
        }
        return userinfo_store($userinfo);
-} #}}}
+}
 
 1
index 31e30ad2ebb3cd2e8da33996a2e3b8cbcf890da9..dd9971a34f8a5835b9b5b2bb1f698ef7b4f6e17e 100644 (file)
@@ -8,7 +8,7 @@ use File::Spec;
 use Data::Dumper;
 use IkiWiki;
 
-sub gen_wrapper () { #{{{
+sub gen_wrapper () {
        $config{srcdir}=File::Spec->rel2abs($config{srcdir});
        $config{destdir}=File::Spec->rel2abs($config{destdir});
        my $this=File::Spec->rel2abs($0);
@@ -173,6 +173,6 @@ EOF
        #translators: The parameter is a filename.
        printf(gettext("successfully generated %s"), $wrapper);
        print "\n";
-} #}}}
+}
 
 1
index b884dd596cd43e366c33f2f8b6beb28e40ecef49..f7085169cbb23dabd26e62d591df718624558106 100644 (file)
@@ -19,6 +19,7 @@ ikiwiki (2.71) UNRELEASED; urgency=low
   * rename: Fix double-escaping of page name in edit box.
   * monotone: When getting the log, tell monotone how many entries
     we want, rather than closing the pipe, which it dislikes. (thm)
+  * Coding style change: Remove explcit vim folding markers.
 
  -- Joey Hess <joeyh@debian.org>  Mon, 17 Nov 2008 14:02:10 -0500
 
index 07badd646658f05d4ece0b1973753705de1885dd..efdd9004ed95f25cf7037d33fbe3340eea27b70f 100644 (file)
@@ -34,9 +34,9 @@ Is there a huge objection to this patch?
     index 990fcaa..0fb78ba 100644
     --- a/IkiWiki/Render.pm
     +++ b/IkiWiki/Render.pm
-    @@ -260,13 +260,15 @@ sub prune ($) { #{{{
+    @@ -260,13 +260,15 @@ sub prune ($) {
      
-     sub refresh () { #{{{
+     sub refresh () {
        # security check, avoid following symlinks in the srcdir path
     -  my $test=$config{srcdir};
     -  while (length $test) {
@@ -108,7 +108,7 @@ like this being accepted before I bothered.
      use IkiWiki;
     +use File::Spec;
      
-     sub gen_wrapper () { #{{{
+     sub gen_wrapper () {
     -       $config{srcdir}=abs_path($config{srcdir});
     -       $config{destdir}=abs_path($config{destdir});
     -       my $this=abs_path($0);
index 60cbcd530eabdde38c305bfb6394cb154d6bc8fc..91c2eae60a046d16c5e37aeb6689f4ed3307f40b 100644 (file)
@@ -33,7 +33,7 @@ This type of page name (with leading slash) also gets created by the aggregate p
        index 99cead6..23d9616 100644
        --- a/IkiWiki/CGI.pm
        +++ b/IkiWiki/CGI.pm
-       @@ -305,9 +305,11 @@ sub cgi_editpage ($$) { #{{{
+       @@ -305,9 +305,11 @@ sub cgi_editpage ($$) {
                my $page=$form->field('page');
                $page=possibly_foolish_untaint($page);
                if (! defined $page || ! length $page ||
@@ -46,7 +46,7 @@ This type of page name (with leading slash) also gets created by the aggregate p
         
                my $baseurl=$config{url}."/".htmlpage($page);
                
-       @@ -425,6 +427,7 @@ sub cgi_editpage ($$) { #{{{
+       @@ -425,6 +427,7 @@ sub cgi_editpage ($$) {
                                    $from ne $form->field('from') ||
                                    file_pruned($from, $config{srcdir}) ||
                                    $from=~/^\// ||
index 28b48e2c6794cd5792eb39a8d53259b0094b5dc5..c3beb82199fc581fb5704d89a4ede7036fe7a8bd 100644 (file)
@@ -53,7 +53,7 @@ I didn't apply your following old patch against `Ikiwiki.pm` file:
     +   }
     +
     +   return eval $newpagespec;
-     } #}}}
+     }
  
      package IkiWiki::PageSpec;
 
@@ -83,7 +83,7 @@ to break the code I distribute in my backport ;)
        +       my $ret=eval possibly_foolish_untaint(pagespec_translate($spec));
                return IkiWiki::FailReason->new("syntax error") if $@;
                return $ret;
-        } #}}}
+        }
 
 >> Thanks a lot, Joey! It works :)
 >>
index 3d13883123bdfc8d823b311e4fd1f44e7e9be47e..8687e7983c7a506ef736082e92bfe5be44ac3e2d 100644 (file)
@@ -11,7 +11,7 @@ diff --git a/IkiWiki/Rcs/monotone.pm b/IkiWiki/Rcs/monotone.pm
 index cde6029..34f8f96 100644
 --- a/IkiWiki/Rcs/monotone.pm
 +++ b/IkiWiki/Rcs/monotone.pm
-@@ -186,8 +186,9 @@ sub rcs_update () { #{{{
+@@ -186,8 +186,9 @@ sub rcs_update () {
        check_config();
  
        if (defined($config{mtnsync}) && $config{mtnsync}) {
index 019970899e46c7f23db4c59bbbfa95a7d899fb1b..bb3f92f9c60db83efb86222135ede6d22e1ee20c 100644 (file)
@@ -38,19 +38,19 @@ At the moment I see two possible solutions:
         +++ IkiWiki.pm  2008-07-21 20:41:35.000000000 +0200
         @@ -477,13 +477,13 @@
 
-         sub titlepage ($) { #{{{
+         sub titlepage ($) {
                 my $title=shift;
         -       $title=~s/([^-[:alnum:]:+\/.])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
         +       $title=~s/([^-[:alnum:]+\/.])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
                 return $title;
-         } #}}}
+         }
 
-         sub linkpage ($) { #{{{
+         sub linkpage ($) {
                 my $link=shift;
         -       $link=~s/([^-[:alnum:]:+\/._])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
         +       $link=~s/([^-[:alnum:]+\/._])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg;
                 return $link;
-         } #}}}
+         }
 
 What do you think about that? Does the patch have any side-effects I didn't see?
 
index 8ae347d429726835cd413e026eb0cf8039497e75..6be5f89b5b9ce62b55d0b922924d5646b435eda9 100644 (file)
@@ -9,7 +9,7 @@ Here is a patch for toc.pm for producing non-empty 'a' elements.
 
     --- IkiWiki/Plugin/toc.pm.orig     Thu Jun  7 11:53:53 2007
     +++ IkiWiki/Plugin/toc.pm  Thu Jun  7 13:00:00 2007
-    @@ -47,7 +47,7 @@ sub format (@) { #{{{
+    @@ -47,7 +47,7 @@ sub format (@) {
                if ($tagname =~ /^h(\d+)$/i) {
                        my $level=$1;
                        my $anchor="index".++$anchors{$level}."h$level";
@@ -18,7 +18,7 @@ Here is a patch for toc.pm for producing non-empty 'a' elements.
        
                        # Take the first header level seen as the topmost level,
                        # even if there are higher levels seen later on.
-    @@ -90,6 +90,16 @@ sub format (@) { #{{{
+    @@ -90,6 +90,16 @@ sub format (@) {
                                        "</a>\n";
                                $p->handler(text => undef);
                        }, "dtext");
index 9a26e505af2df9f4b9a0dd47e5d57c4da31a76f8..c9f6981589fae57958abdb774034175adb83b385 100644 (file)
@@ -15,7 +15,7 @@ It also generates image URLs relative to the page being rendered, which means th
 
     --- IkiWiki/Plugin/graphviz.pm.orig        2007-07-27 11:35:05.000000000 +0200
     +++ IkiWiki/Plugin/graphviz.pm     2007-07-27 11:36:02.000000000 +0200
-    @@ -69,7 +69,12 @@ sub render_graph (\%) { #{{{
+    @@ -69,7 +69,12 @@ sub render_graph (\%) {
                }
        }
      
@@ -26,9 +26,9 @@ It also generates image URLs relative to the page being rendered, which means th
     +  else {
     +          return "<img src=\"".urlto($dest, $params{page})."\" />\n";
     +  }
-     } #}}}
+     }
      
-     sub graph (@) { #{{{
+     sub graph (@) {
 
 
 >> --[[HenrikBrixAndersen]]
@@ -38,7 +38,7 @@ The patch below fixes these two issues.
 
     --- graphviz.pm.orig       Thu Jun  7 15:45:16 2007
     +++ graphviz.pm    Fri Jun  8 12:03:38 2007
-    @@ -41,7 +41,6 @@ sub render_graph (\%) { #{{{
+    @@ -41,7 +41,6 @@ sub render_graph (\%) {
                $pid=open2(*IN, *OUT, "$params{prog} -Tpng");
      
                # open2 doesn't respect "use open ':utf8'"
@@ -46,7 +46,7 @@ The patch below fixes these two issues.
                binmode (OUT, ':utf8');
      
                print OUT $src;
-    @@ -70,7 +69,12 @@ sub render_graph (\%) { #{{{
+    @@ -70,7 +69,12 @@ sub render_graph (\%) {
                }
        }
      
@@ -57,6 +57,6 @@ The patch below fixes these two issues.
     +  else {
     +          return "<img src=\"".urlto($dest, $params{page})."\" />\n";
     +  }
-     } #}}}
+     }
      
-     sub graph (@) { #{{{
+     sub graph (@) {
index 836c39a71da6f86c29c2b5f88488bd0087d0022d..c852df5e93e5bfdcf63aa414fe53e0206d8a8903 100644 (file)
@@ -13,7 +13,7 @@ I can not see why this check is needed in the first place, so here's a patch for
     diff -upr ikiwiki-1.49.orig/IkiWiki/Rcs/svn.pm ikiwiki-1.49/IkiWiki/Rcs/svn.pm
     --- ikiwiki-1.49.orig/IkiWiki/Rcs/svn.pm   Mon Apr 16 15:15:09 2007
     +++ ikiwiki-1.49/IkiWiki/Rcs/svn.pm        Mon Apr 16 15:15:47 2007
-    @@ -176,7 +176,6 @@ sub rcs_recentchanges ($) { #{{{
+    @@ -176,7 +176,6 @@ sub rcs_recentchanges ($) {
                }
      
                foreach (keys %{$logentry->{paths}}) {
index cc53c0aeaba72b312837a21bc036129f15832eee..f2c60309ba7df335c6c8f201380a20d0daaa7fac 100644 (file)
@@ -6,7 +6,7 @@ If I click on "Czars in Russia", I'd like Ikiwiki to create "Czars\_in\_Russia.m
 
 > --- a/IkiWiki.pm
 > +++ b/IkiWiki.pm
-> @@ -584,7 +584,7 @@ sub htmllink ($$$;@) { #{{{
+> @@ -584,7 +584,7 @@ sub htmllink ($$$;@) {
 >                      return "<span class=\"createlink\"><a href=\"".
 >                              cgiurl(
 >                                      do => "create",
index a30f110a412126822742e9726cfb910dc89e788d..efb5c70b868421c895e0e178d03b23d52c3179a2 100644 (file)
@@ -6,7 +6,7 @@ In `IkiWiki::preprocess`, the last capturing group in the regex used to parse di
     index 241a7c0..d2c35a2 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -1167,7 +1167,8 @@ sub preprocess ($$$;$$) { #{{{
+    @@ -1167,7 +1167,8 @@ sub preprocess ($$$;$$) {
                     }sx;
             }
      
@@ -14,6 +14,6 @@ In `IkiWiki::preprocess`, the last capturing group in the regex used to parse di
     +       # $4 can be undef if the directive was \[[!foo]]
     +       $content =~ s{$regex}{$handle->($1, $2, $3, ($4 or ""))}eg;
             return $content;
-     } #}}}
+     }
  
 [[cherry-picked|done]] --[[Joey]]
index aa13ec339e3953cfa295ede4bf038a95d30a051c..b7f38fd294e01eeca06c859c820b8a7edcea078b 100644 (file)
@@ -3,7 +3,7 @@ When using monotone as revision control system, a "mtn: operation canceled: Brok
     diff -up ikiwiki/IkiWiki/Plugin/monotone.pm.orig ikiwiki/IkiWiki/Plugin/monotone.pm
     --- ikiwiki/IkiWiki/Plugin/monotone.pm.orig        2008-11-12 23:45:24.000000000 +0100
     +++ ikiwiki/IkiWiki/Plugin/monotone.pm     2008-12-16 12:41:38.000000000 +0100
-    @@ -525,13 +525,12 @@ sub rcs_recentchanges ($) { #{{{
+    @@ -525,13 +525,12 @@ sub rcs_recentchanges ($) {
        my $child = open(MTNLOG, "-|");
        if (! $child) {
                exec("mtn", "log", "--root=$config{mtnrootdir}", "--no-graph",
index 4146a5869d22d7256f13a6770b2cbf4c942b6fbe..c25ef69278215e0de14120c437b3b8eb613521bc 100644 (file)
@@ -6,7 +6,7 @@ Ikiwiki's git handling is sending a bunch of output to stderr.  The following pa
     index 425536f..5734bb2 100644
     --- a/IkiWiki/Rcs/git.pm
     +++ b/IkiWiki/Rcs/git.pm
-    @@ -24,6 +24,7 @@ sub _safe_git (&@) { #{{{
+    @@ -24,6 +24,7 @@ sub _safe_git (&@) {
             if (!$pid) {
                     # In child.
                     # Git commands want to be in wc.
index 2e67d63574788acb5736da313d3d4e9808d688aa..f72ecade2b41cfebfb6fa1f52af3552f4dca59d8 100644 (file)
@@ -26,7 +26,7 @@ And here's a patch to implement it. Will this survive markdown munging? It seems
     index 7226231..3eb1ae7 100644
     --- a/Plugin/img.pm
     +++ b/Plugin/img.pm
-    @@ -93,9 +93,15 @@ sub preprocess (@) { #{{{
+    @@ -93,9 +93,15 @@ sub preprocess (@) {
                     $imgurl="$config{url}/$imglink";
             }
      
@@ -42,7 +42,7 @@ And here's a patch to implement it. Will this survive markdown munging? It seems
     +        $result .= '/></a>';
     +
     +        return $result;
-     } #}}}
+     }
      
      1
     -- 
index 884846b32709680a6048ffaecfda49a1c5680392..ff45550673ba99cb2d41c4354b62adb614747e68 100644 (file)
@@ -23,7 +23,7 @@ And here is a [[patch]] for this.  It makes `sort=title` actually sort on the ti
     index 9c336e7..99f6de3 100644
     --- a/IkiWiki/Plugin/inline.pm
     +++ b/IkiWiki/Plugin/inline.pm
-    @@ -185,9 +185,12 @@ sub preprocess_inline (@) { #{{{
+    @@ -185,9 +185,12 @@ sub preprocess_inline (@) {
                }
        }
      
index dab40d684fccec2ccb221c7b006c7d4fc4170e14..3bbf4e5fd5ffe2e5c9f68c2792b2b26c88c56e94 100644 (file)
@@ -6,7 +6,7 @@ Here is a patch that's seems to work, although I'm not quite sure what's wrong w
     --- mercurial.pm        2007-03-24 16:14:35.000000000 +0100
     +++ /home/hbernard/mercurial.pm 2007-04-19 19:05:47.000000000 +0200
     @@ -95,7 +95,7 @@
-     sub rcs_add ($) { # {{{
+     sub rcs_add ($) {
             my ($file) = @_;
      
     -       my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "add", "$file");
index 8a88f4eda4baad883c157a891cc5461b93459e13..c82b532db9c3f30e3687e7e074da0228718e16c3 100644 (file)
@@ -26,7 +26,7 @@
     index e476521..d43abd4 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -471,7 +471,11 @@ sub loadplugins () { #{{{
+    @@ -471,7 +471,11 @@ sub loadplugins () {
                     unshift @INC, possibly_foolish_untaint($config{libdir});
             }
      
index 5ddfb1f6b17bad4e992e8947095780564655f255..20c38c06202c1d0b7f1fbd7f33da7f31af2cbb48 100644 (file)
@@ -28,14 +28,14 @@ Suggestions welcome.
     index 4e4da11..853f905 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -618,7 +618,7 @@ sub pagename ($) { #{{{
+    @@ -618,7 +618,7 @@ sub pagename ($) {
      
        my $type=pagetype($file);
        my $page=$file;
     -  $page=~s/\Q.$type\E*$// if defined $type;
     +  $page=~s/\Q.$type\E*$// if defined $type && !$hooks{htmlize}{$type}{leavesuffix};
        return $page;
-     } #}}}
+     }
      
     diff --git a/t/pagename.t b/t/pagename.t
     index 96e6a87..58811b9 100755
@@ -61,7 +61,7 @@ I wonder if this patch will also be useful:
     index 752d176..3f1b67b 100644
     --- a/IkiWiki/Render.pm
     +++ b/IkiWiki/Render.pm
-    @@ -279,7 +279,11 @@ sub refresh () { #{{{
+    @@ -279,7 +279,11 @@ sub refresh () {
                                else {
                                        $f=~s/^\Q$config{srcdir}\E\/?//;
                                        push @files, $f;
index a2eba694cfe9682cc975e3247d1cb0e36c262047..78fed0e5db5eae2a9b4e73aee89bfa8910136a67 100644 (file)
@@ -54,7 +54,7 @@ case the user is given to rebuilding the wiki by hand. --Ethan
 +      }
        return IkiWiki::FailReason->new("syntax error") if $@;
        return $ret;
- } #}}}
+ }
 </pre>
 
 > Thanks, [[done]] --[[Joey]]
index 1876d912942be37eba7aed2b324ab6651cab9ac7..5fc1d8b75d379ebc71c1f2b53d6452c225b1b1ab 100644 (file)
@@ -11,7 +11,7 @@ I've no idea what's happening (hey, I'm a C programmer), but I've hacked prune()
 <pre>
 use Scalar::Util qw(tainted);
 
-sub prune ($) { #{{{
+sub prune ($) {
         my $file=shift;
 
         unlink($file);
@@ -25,7 +25,7 @@ sub prune ($) { #{{{
                         $dir = $1;
                 }
         }
-} #}}}
+}
 </pre>
 
 > Old versions of perl are known to have bugs with taint checking.
index 26f833e5f4f3e8915dcd305c163c61dbe3d67a2a..3fd75ea1b9b86ef306c28792a85a541a36806f00 100644 (file)
@@ -6,7 +6,7 @@ messages which are then taken for CGI output, causing errors and general trouble
     @@ -55,7 +55,7 @@
      }
  
-     sub rcs_update () { #{{{
+     sub rcs_update () {
     -  my @cmdline = ("hg", "-R", "$config{srcdir}", "update");
     +  my @cmdline = ("hg", "-q", "-R", "$config{srcdir}", "update");
        if (system(@cmdline) != 0) {
@@ -22,7 +22,7 @@ messages which are then taken for CGI output, causing errors and general trouble
        if (system(@cmdline) != 0) {
                warn "'@cmdline' failed: $!";
     @@ -92,7 +92,7 @@
-     sub rcs_add ($) { # {{{
+     sub rcs_add ($) {
        my ($file) = @_;
      
     -  my @cmdline = ("hg", "-R", "$config{srcdir}", "add", "$file");
index 0a2b1efeaca843f788e5be7c1a5031aaf27f36fd..dace2ca1972667166d43579e91252dfbedfd4d0e 100644 (file)
@@ -2,7 +2,7 @@ It seems like gettext only searches for locale information in /usr/share/locale,
 
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -1057,6 +1057,7 @@ sub gettext { #{{{
+    @@ -1057,6 +1057,7 @@ sub gettext {
                                     $gettext_obj=undef;
                                     return shift;
                             }
index ac895896a6fe3f9685195d678a464849f4179628..db3917d21b16e1c543fc2394f49c01a681653ce5 100644 (file)
@@ -25,12 +25,12 @@ After some digging I found that HTML::Template is being required after the new s
                     filter => sub {
                             my $text_ref = shift;
     @@ -857,6 +856,7 @@
-     } #}}}
+     }
 
-     sub template ($;@) { #{{{
+     sub template ($;@) {
     +       require HTML::Template;
             HTML::Template->new(template_params(@_));
-     } #}}}
+     }
 
 **That** gave me:
 
index ef2fa122abf57057b6e2df71129bcfaf6c965837..c80cc0b496e6e0c3c45acd532d6e931871d8f901 100644 (file)
@@ -12,9 +12,9 @@ rst and any other format that produces html. The code is available here:
        use strict;
        use IkiWiki 2.00;
 
-       sub import { #{{{
+       sub import {
                hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
-       } # }}}
+       }
 
        sub text_to_anchor {
                my $str = shift;
@@ -26,11 +26,11 @@ rst and any other format that produces html. The code is available here:
                return $str;
        }
 
-       sub headinganchors (@) { #{{{
+       sub headinganchors (@) {
                my %params=@_;
                my $content=$params{content};
                $content=~s{<h([0-9])>([^>]*)</h([0-9])>}{'<h'.$1.' id="'.text_to_anchor($2).'">'.$2.'</h'.$3.'>'}gie;
                return $content;
-       } # }}}
+       }
 
        1
index 956b6728f4b7b6bbd94d9bbc9da93c2e3fefd5e6..9b09657bf0540aabc5ab4e5c8e3fcd575cde3a4a 100644 (file)
@@ -13,11 +13,11 @@ other format that produces html. The code is available here:
        use strict;
        use IkiWiki 2.00;
 
-       sub import { #{{{
+       sub import {
                hook(type => "sanitize", id => "siterel2pagerel", call => \&siterel2pagerel);
-       } # }}}
+       }
 
-       sub siterel2pagerel (@) { #{{{
+       sub siterel2pagerel (@) {
                my %params=@_;
                my $baseurl=IkiWiki::baseurl($params{page});
                my $content=$params{content};
@@ -25,6 +25,6 @@ other format that produces html. The code is available here:
                $content=~s/(<img(?:\s+(?:class|id|width|height)\s*="?\w+"?)*)\s+src=\s*"\/([^"]*)"/$1 src="$baseurl$2"/mig;
                # FIXME: do <script and everything else that can have URLs in it
                return $content;
-       } # }}}
+       }
 
        1
index d91ed45f1c791e7c7bf23a2912df2adae5b947fb..76a8477446f0d9d43b7db33e203604139a795c4c 100644 (file)
@@ -22,7 +22,7 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
 
     --- Wrapper.pm.orig 2008-07-29 00:09:10.000000000 -0400
     +++ Wrapper.pm
-    @@ -28,7 +28,7 @@ sub gen_wrapper () { #{{{
+    @@ -28,7 +28,7 @@ sub gen_wrapper () {
         my @envsave;
         push @envsave, qw{REMOTE_ADDR QUERY_STRING REQUEST_METHOD REQUEST_URI
                        CONTENT_TYPE CONTENT_LENGTH GATEWAY_INTERFACE
@@ -46,16 +46,16 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
     use strict;
     use IkiWiki 2.00;
     
-    sub import { #{{{
+    sub import {
         hook(type => "getsetup", id => "unixauth", call => \&getsetup);
             hook(type => "formbuilder_setup", id => "unixauth",
                 call => \&formbuilder_setup);
             hook(type => "formbuilder", id => "unixauth",
                 call => \&formbuilder);
         hook(type => "sessioncgi", id => "unixauth", call => \&sessioncgi);
-    } # }}}
+    }
     
-    sub getsetup () { #{{{
+    sub getsetup () {
         return
         unixauth_type => {
                 type => "string",
@@ -83,10 +83,10 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
                 safe => 0,
                 rebuild => 1,
         },
-    } #}}}
+    }
     
     # Checks if a string matches a user's password, and returns true or false.
-    sub checkpassword ($$;$) { #{{{
+    sub checkpassword ($$;$) {
         my $user=shift;
         my $password=shift;
         my $field=shift || "password";
@@ -131,9 +131,9 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
         }
     
         return $ret;
-    } #}}}
+    }
     
-    sub formbuilder_setup (@) { #{{{
+    sub formbuilder_setup (@) {
         my %params=@_;
     
         my $form=$params{form};
@@ -204,7 +204,7 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
         }
     }
     
-    sub formbuilder (@) { #{{{
+    sub formbuilder (@) {
         my %params=@_;
     
         my $form=$params{form};
@@ -225,12 +225,12 @@ __Security__: [As with passwordauth](/security/#index14h2), be wary of sending u
                         my $user_name=$form->field('name');
                 }
         }
-    } #}}}
+    }
     
-    sub sessioncgi ($$) { #{{{
+    sub sessioncgi ($$) {
         my $q=shift;
         my $session=shift;
-    } #}}}
+    }
     
     1
 
index c908f57c847f27ab9c09c65cf4fbfd86af2af9a1..8ecdf36d0e765c2f996fbd4ce07b1f04533b1bc4 100644 (file)
@@ -44,7 +44,7 @@ regenerate this one against that).
                          %config %links %renderedfiles %pagesources %destsources);
         our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
         our $version="2.1";my $installdir="/usr";
-       @@ -70,6 +70,7 @@ sub defaultconfig () { #{{{
+       @@ -70,6 +70,7 @@ sub defaultconfig () {
                plugin => [qw{mdwn inline htmlscrubber passwordauth openid signinedit
                              lockedit conditional}],
                timeformat => '%c',
@@ -52,27 +52,27 @@ regenerate this one against that).
                locale => undef,
                sslcookie => 0,
                httpauth => 0,
-       @@ -447,6 +448,15 @@ sub displaytime ($) { #{{{
+       @@ -447,6 +448,15 @@ sub displaytime ($) {
                                $config{timeformat}, localtime($time)));
-        } #}}}
+        }
 
-       +sub displaydate ($) { #{{{
+       +sub displaydate ($) {
        +       my $time=shift;
        +
        +       # strftime doesn't know about encodings, so make sure
        +       # its output is properly treated as utf8
        +       return decode_utf8(POSIX::strftime(
        +                       $config{dateformat}, localtime($time)));
-       +} #}}}
+       +}
        +
-        sub beautify_url ($) { #{{{
+        sub beautify_url ($) {
                my $url=shift;
 
        diff --git a/Plugin/inline.pm b/Plugin/inline.pm
        index 8f6ab51..7bd6147 100644
        --- a/Plugin/inline.pm
        +++ b/Plugin/inline.pm
-       @@ -148,6 +148,7 @@ sub preprocess_inline (@) { #{{{
+       @@ -148,6 +148,7 @@ sub preprocess_inline (@) {
                                $template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage}));
                                $template->param(title => pagetitle(basename($page)));
                                $template->param(ctime => displaytime($pagectime{$page}));
index 222cd8c462e88d1c3e539b2e9c79813f0ae7d573..6b9fa05351aafeb1174705d7f812494c317dc2fe 100644 (file)
@@ -12,7 +12,7 @@ This patch allows IkiWiki to work with either of the two:
 
     --- IkiWiki/Plugin/mdwn.pm.orig    2008-03-08 11:33:50.000000000 +0100
     +++ IkiWiki/Plugin/mdwn.pm 2008-03-08 13:37:21.000000000 +0100
-    @@ -28,14 +28,20 @@ sub htmlize (@) { #{{{
+    @@ -28,14 +28,20 @@ sub htmlize (@) {
                        $markdown_sub=\&Markdown::Markdown;
                }
                else {
index 8a398f2e005bf5ef65e37a4ceb35a640b7b793c7..19574b1756e63ca0fad1e0c3f669752ee566e82a 100644 (file)
@@ -12,7 +12,7 @@ I was hoping that the [[plugins/rename]] plugin would allow web uses to change t
     index 527ee88..123b772 100644
     --- a/IkiWiki/Plugin/rename.pm
     +++ b/IkiWiki/Plugin/rename.pm
-    @@ -43,7 +43,7 @@ sub check_canrename ($$$$$$$) { #{{{
+    @@ -43,7 +43,7 @@ sub check_canrename ($$$$$$$) {
        
        # Dest checks can be omitted by passing undef.
        if (defined $dest) {
@@ -21,7 +21,7 @@ I was hoping that the [[plugins/rename]] plugin would allow web uses to change t
                        error(gettext("no change to the file name was specified"));
                }
      
-    @@ -54,7 +54,7 @@ sub check_canrename ($$$$$$$) { #{{{
+    @@ -54,7 +54,7 @@ sub check_canrename ($$$$$$$) {
                }
      
                # Must not be a known source file.
@@ -30,7 +30,7 @@ I was hoping that the [[plugins/rename]] plugin would allow web uses to change t
                        error(sprintf(gettext("%s already exists"),
                                htmllink("", "", $dest, noimageinline => 1)));
                }
-    @@ -97,6 +97,24 @@ sub rename_form ($$$) { #{{{
+    @@ -97,6 +97,24 @@ sub rename_form ($$$) {
        $f->field(name => "do", type => "hidden", value => "rename", force => 1);
        $f->field(name => "page", type => "hidden", value => $page, force => 1);
        $f->field(name => "new_name", value => IkiWiki::pagetitle($page), size => 60);
@@ -55,7 +55,7 @@ I was hoping that the [[plugins/rename]] plugin would allow web uses to change t
        $f->field(name => "attachment", type => "hidden");
      
        return $f, ["Rename", "Cancel"];
-    @@ -223,12 +241,19 @@ sub sessioncgi ($$) { #{{{
+    @@ -223,12 +241,19 @@ sub sessioncgi ($$) {
                        my $dest=IkiWiki::possibly_foolish_untaint(IkiWiki::titlepage($q->param("new_name")));
      
                        # The extension of dest is the same as src if it's
index b49968c18f2e4185af45f95b9a9f802181d2110d..1b99a4e05e1efa916893cb8bb03cd9fefc3aa905 100644 (file)
@@ -14,7 +14,7 @@ edittemplate there. --[[Joey]]
     index 98308de..c381940 100644
     --- a/IkiWiki/Plugin/edittemplate.pm
     +++ b/IkiWiki/Plugin/edittemplate.pm
-    @@ -56,8 +56,14 @@ sub preprocess (@) { #{{{
+    @@ -56,8 +56,14 @@ sub preprocess (@) {
      
        $pagestate{$params{page}}{edittemplate}{$params{match}}=$params{template};
      
@@ -28,10 +28,10 @@ edittemplate there. --[[Joey]]
     +
     +  return sprintf(gettext("edittemplate: %s registered for %s"),
     +          $linkHTML, $params{match});
-     } # }}}
+     }
      
-     sub formbuilder (@) { #{{{
-    @@ -89,6 +95,9 @@ sub formbuilder (@) { #{{{
+     sub formbuilder (@) {
+    @@ -89,6 +95,9 @@ sub formbuilder (@) {
                                        if (pagespec_match($p, $pagespec, location => $registering_page)) {
                                                $form->field(name => "editcontent",
                                                         value => filltemplate($pagestate{$registering_page}{edittemplate}{$pagespec}, $page));
index 73157a3268a0d0684b4ceea0acd6decd83c3204f..95c38f794a281760dc90fcb87af8d0774fcc20eb 100644 (file)
@@ -8,9 +8,9 @@ This patch adds function bestdir() which returns best directory from the directo
     +++ IkiWiki.pm  (working copy)
     @@ -391,6 +391,35 @@
             return "";
-     } #}}}
+     }
     
-    +sub bestdir ($$) { #{{{
+    +sub bestdir ($$) {
     +    my $page=shift;
     +       my $link=shift;
     +       my $cwd=$page;
@@ -37,9 +37,9 @@ This patch adds function bestdir() which returns best directory from the directo
     +       }
     +
     +       return "";
-    +} #}}}
+    +}
     +
-     sub isinlinableimage ($) { #{{{
+     sub isinlinableimage ($) {
             my $file=shift;
     
 ---- 
index 4a17bbf8bb1f276db6f1db1639968955d2dca5aa..a904f82870c94691ae34711bae52484ded58411c 100644 (file)
@@ -15,7 +15,7 @@ Inline below is a [[patch]] that implements this:
     index bb21ed2..10c985c 100644
     --- a/IkiWiki/Plugin/editpage.pm
     +++ b/IkiWiki/Plugin/editpage.pm
-    @@ -60,7 +60,7 @@ sub cgi_editpage ($$) { #{{{
+    @@ -60,7 +60,7 @@ sub cgi_editpage ($$) {
      
        decode_cgi_utf8($q);
      
@@ -24,7 +24,7 @@ Inline below is a [[patch]] that implements this:
        my @buttons=("Save Page", "Preview", "Cancel");
        eval q{use CGI::FormBuilder};
        error($@) if $@;
-    @@ -117,9 +117,20 @@ sub cgi_editpage ($$) { #{{{
+    @@ -117,9 +117,20 @@ sub cgi_editpage ($$) {
        }
        else {
                $type=$form->param('type');
@@ -45,7 +45,7 @@ Inline below is a [[patch]] that implements this:
                elsif (defined $from && exists $pagesources{$from}) {
                        # favor the type of linking page
                        $type=pagetype($pagesources{$from});
-    @@ -129,7 +140,7 @@ sub cgi_editpage ($$) { #{{{
+    @@ -129,7 +140,7 @@ sub cgi_editpage ($$) {
                if (! $form->submitted) {
                        $form->field(name => "rcsinfo", value => "", force => 1);
                }
@@ -58,7 +58,7 @@ Inline below is a [[patch]] that implements this:
     index 8efef3f..075d7d8 100644
     --- a/IkiWiki/Plugin/inline.pm
     +++ b/IkiWiki/Plugin/inline.pm
-    @@ -271,6 +271,7 @@ sub preprocess_inline (@) { #{{{
+    @@ -271,6 +271,7 @@ sub preprocess_inline (@) {
                        $rootpage=$params{page};
                }
                $formtemplate->param(rootpage => $rootpage);
index a644e236b8cf1029bb870a0d2d657a12696656aa..c71250b3a01816614b8126458b03d1c8cfa0fa87 100644 (file)
@@ -94,7 +94,7 @@ most possible of these pages.
 >        index a6e34fc..bb9dd8d 100644
 >        --- a/IkiWiki/Plugin/template.pm
 >        +++ b/IkiWiki/Plugin/template.pm
->        @@ -57,6 +57,8 @@ sub preprocess (@) { #{{{
+>        @@ -57,6 +57,8 @@ sub preprocess (@) {
 >                       }
 >               }
 >        
index 9f52a724a2954cfab44a49478144563020b87639..69169400968b8b6f4f45847c4ac5871f38fe9146 100644 (file)
@@ -19,7 +19,7 @@ Cheers,
        index 59eabb6..82913ba 100644
        --- a/IkiWiki/Plugin/inline.pm
        +++ b/IkiWiki/Plugin/inline.pm
-       @@ -229,6 +229,7 @@ sub preprocess_inline (@) { #{{{
+       @@ -229,6 +229,7 @@ sub preprocess_inline (@) {
                                                $template->param(content => $content);
                                        }
                                        $template->param(pageurl => urlto(bestlink($params{page}, $page), $params{destpage}));
index d94d24ee4d81f5ae0442d3066772a161cff8eca9..3cedd5ae31e30fcb45975b056afcf824811006ad 100644 (file)
@@ -71,10 +71,10 @@ Happy TeXing.
     +
     +my $default_postfix = '\\end{document}';
     +
-     sub import { #{{{
+     sub import {
        hook(type => "getsetup", id => "teximg", call => \&getsetup);
        hook(type => "preprocess", id => "teximg", call => \&preprocess);
-    @@ -21,6 +33,26 @@ sub getsetup () { #{{{
+    @@ -21,6 +33,26 @@ sub getsetup () {
                        safe => 1,
                        rebuild => undef,
                },
@@ -98,10 +98,10 @@ Happy TeXing.
     +                  safe => 0, # Not sure how secure LaTeX is...
     +                  rebuild => 1,
     +          },
-     } #}}}
+     }
      
-     sub preprocess (@) { #{{{
-    @@ -105,25 +137,35 @@ sub gen_image ($$$$) { #{{{
+     sub preprocess (@) {
+    @@ -105,25 +137,35 @@ sub gen_image ($$$$) {
        my $digest = shift;
        my $imagedir = shift;
      
index a2643391927cfe399ad00a119dc5e25250b2f2b4..89167c084ea64e6fbde3167ed3aeca46cace3dd1 100644 (file)
@@ -42,13 +42,13 @@ Longer term plans:
                 my %cache;
                 my %linkcache;
                @@ -32,6 +34,7 @@
-                sub import { #{{{
+                sub import {
                        hook(type => "needsbuild", id => "version", call => \&needsbuild);
                        hook(type => "preprocess", id => "calendar", call => \&preprocess);
                +       hook(type => "preprocess", id => "event", call => \&preprocess_event);
-                } #}}}
+                }
                 
-                sub is_leap_year (@) { #{{{
+                sub is_leap_year (@) {
                @@ -58,6 +61,7 @@
                        my $nmonth   = $params{nmonth};
                        my $pyear    = $params{pyear};
@@ -137,9 +137,9 @@ Longer term plans:
                        # finish off the week
                @@ -304,6 +333,18 @@
                        return $calendar;
-                } #}}}
+                }
                 
-               +sub preprocess_event (@) { #{{{
+               +sub preprocess_event (@) {
                +       my %params=@_;
                +       # if now time is given, use now
                +       $params{begin} = localtime($time)            unless defined $params{begin};
@@ -151,7 +151,7 @@ Longer term plans:
                +       return "<!-- $params{begin} -->";
                +} #}}
                +
-                sub preprocess (@) { #{{{
+                sub preprocess (@) {
                        my %params=@_;
                        $params{pages} = "*"            unless defined $params{pages};
                @@ -311,6 +352,8 @@
index e3f0224c2eb4fc890cf347e2207ef1d06bd437fe..d875900c5b52c3f37070922f6f30b6aff71421e6 100644 (file)
@@ -4,7 +4,7 @@ A quick [[patch]] to silence a [[rcs/monotone]] warning I started seeing:
     index 4b9be31..9d4e280 100644
     --- a/IkiWiki/Plugin/monotone.pm
     +++ b/IkiWiki/Plugin/monotone.pm
-    @@ -55,7 +55,7 @@ sub checkconfig () { #{{{
+    @@ -55,7 +55,7 @@ sub checkconfig () {
                error("Monotone version too old, is $version but required 0.38");
        }
      
index 2837634d99db21bc20bfcababc532a2d221c9b71..8320f72a60812f12a22e8796e6eb6ace85ea56be 100644 (file)
@@ -20,7 +20,7 @@ That doesn't work in ikiwiki 2.1, but I have it
        index 38aa46a..cd42e8d 100644
        --- a/IkiWiki.pm
        +++ b/IkiWiki.pm
-       @@ -1082,10 +1082,15 @@ sub match_link ($$;@) { #{{{
+       @@ -1082,10 +1082,15 @@ sub match_link ($$;@) {
                my $links = $IkiWiki::links{$page} or return undef;
                return IkiWiki::FailReason->new("$page has no links") unless @$links;
                my $bestlink = IkiWiki::bestlink($from, $link);
@@ -38,7 +38,7 @@ That doesn't work in ikiwiki 2.1, but I have it
        +               }
                }
                return IkiWiki::FailReason->new("$page does not link to $link");
-        } #}}}
+        }
        -- 
        1.5.1.1.g6aead
 
index c0311bc92d9f8a7d3e2643e8fc7352f8a91c7dc3..7b4323de177cde72df7daf79d3f61e2bd6349fe4 100644 (file)
@@ -13,12 +13,12 @@ Second, the untainting of $configstring should allow newlines.
     +++ wiki-meta/perl/IkiWiki.pm Mon Jun 11 10:52:07 2007
     @@ -205,7 +205,7 @@
      
-     sub possibly_foolish_untaint ($) { #{{{
+     sub possibly_foolish_untaint ($) {
       my $tainted=shift;
     - my ($untainted)=$tainted=~/(.*)/;
     + my ($untainted)=$tainted=~/(.*)/s;
       return $untainted;
-     } #}}}
+     }
      
     
     Modified: wiki-meta/perl/IkiWiki/Wrapper.pm
index 684419f9093d977e5bedd700a946f813657ca0d8..e91c5a42f681e9258234de620bd8ee29a430950c 100644 (file)
@@ -19,7 +19,7 @@ diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
 index d2e5832..9e52712 100644
 --- a/IkiWiki/Plugin/inline.pm
 +++ b/IkiWiki/Plugin/inline.pm
-@@ -194,6 +194,9 @@ sub preprocess_inline (@) { #{{{
+@@ -194,6 +194,9 @@ sub preprocess_inline (@) {
         elsif (! exists $params{sort} || $params{sort} eq 'age') {
                 @list=sort { $pagectime{$b} <=> $pagectime{$a} } @list;
         }
index 467ec350edb971e6034c0edf272f4910d7926452..dc6c0001e7b38d2e1ccebefce14c528fdcfee86d 100644 (file)
@@ -17,13 +17,13 @@ Updated to use fix noted in [[bugs/multiple_pages_with_same_name]].
     
     my %metaheaders;
     
-    sub import { #{{{
+    sub import {
        hook(type => "getsetup", id => "sourcecode", call => \&getsetup);
        hook(type => "checkconfig", id => "sourcecode", call => \&checkconfig);
        hook(type => "pagetemplate", id => "sourcecode", call => \&pagetemplate);
-    } # }}}
+    }
     
-    sub getsetup () { #{{{
+    sub getsetup () {
        return 
                plugin => {
                        safe => 1,
@@ -57,9 +57,9 @@ Updated to use fix noted in [[bugs/multiple_pages_with_same_name]].
                        safe => 1,
                        rebuild => 1,
                },
-    } #}}}
+    }
     
-    sub checkconfig () { #{{{
+    sub checkconfig () {
        if (! $config{sourcecode_lang}) {
                error("The sourcecode plugin requires a list of suffixes in the 'sourcecode_lang' config option");
        }
@@ -97,9 +97,9 @@ Updated to use fix noted in [[bugs/multiple_pages_with_same_name]].
                        error("Your installation of source-highlight cannot handle sourcecode language $lang!");
                }
        }
-    } #}}}
+    }
     
-    sub htmlize (@) { #{{{
+    sub htmlize (@) {
        my %params=@_;
     
        my $page = $params{page};
@@ -141,9 +141,9 @@ Updated to use fix noted in [[bugs/multiple_pages_with_same_name]].
        }
     
        return '<div id="sourcecode">'."\r\n".join("\r\n",@html)."\r\n</div>\n";
-    } # }}}
+    }
     
-    sub pagetemplate (@) { #{{{
+    sub pagetemplate (@) {
        my %params=@_;
     
        my $page=$params{page};
@@ -154,6 +154,6 @@ Updated to use fix noted in [[bugs/multiple_pages_with_same_name]].
                my %seen;
                $template->param(meta => join("\n", grep { (! $seen{$_}) && ($seen{$_}=1) } @{$metaheaders{$page}}));
        }
-    } # }}}
+    }
     
     1
index 60b1e2515c9ee0d57b5d5003c333b345396fb453..bb91ffd02a299f6cb6e44e2ab241854338237515 100644 (file)
@@ -51,13 +51,13 @@ Index: IkiWiki/Plugin/blogpost.pm
 +use POSIX;
 +use IkiWiki 2.00;
 +
-+sub import { #{{{
++sub import {
 +      hook(type => "checkconfig", id => "blogpost", call => \&checkconfig);
 +      hook(type => "authcgi", id => "blogpost", call => \&authcgi);
 +      hook(type => "canedit", id => "blogpost", call => \&canedit);
-+} # }}}
++}
 +
-+sub checkconfig () { #{{{
++sub checkconfig () {
 +      if (! defined $config{blogformat}){
 +              $config{blogformat} = 'posts/%Y/%m/%d/$title';
 +      }
@@ -72,9 +72,9 @@ Index: IkiWiki/Plugin/blogpost.pm
 +      if (! defined $config{blogusers}) {
 +              $config{blogusers} = (); # disallow all posting by default
 +      }
-+} #}}}
++}
 +
-+sub authcgi ($$) { #{{{
++sub authcgi ($$) {
 +      my $cgi=shift;
 +      my $session=shift;
 +
@@ -115,16 +115,16 @@ Index: IkiWiki/Plugin/blogpost.pm
 +              $cgi->param("page", $page);
 +      }
 +
-+} #}}}
++}
 +
-+sub blogpage ($) { #{{{
++sub blogpage ($) {
 +      my $title=shift;
 +      my $page=POSIX::strftime $config{blogformat}, localtime;
 +      $page =~ s/\$title/$title/;
 +      return $page;
-+} #}}}
++}
 +
-+sub canedit ($$$) { #{{{
++sub canedit ($$$) {
 +      my $page=shift;
 +      my $cgi=shift;
 +      my $session=shift;
@@ -136,7 +136,7 @@ Index: IkiWiki/Plugin/blogpost.pm
 +      return "" if ($config{blogusers} eq "*" ||
 +                    grep {$_ eq $user} $config{blogusers});
 +      return ("not allowed to blog, $user");
-+} #}}}
++}
 +
 +1
 Index: IkiWiki.pm
index 179ea2f24db7ced98c4838858af9c14277c8d668..a50c58d26d1deaee5a1a2dbbef66c09ed848371d 100644 (file)
@@ -56,15 +56,15 @@ and rcs_getctime and rcs_notify aren't written at all. --[[bma]]
             return @ret;
     }
     
-    sub rcs_update () { #{{{
+    sub rcs_update () {
             # Not needed.
-    } #}}}
+    }
     
-    sub rcs_prepedit ($) { #{{{
+    sub rcs_prepedit ($) {
             return "";
-    } #}}}
+    }
     
-    sub rcs_commit ($$$;$$) { #{{{
+    sub rcs_commit ($$$;$$) {
             my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
     
             if (defined $user) {
@@ -95,18 +95,18 @@ and rcs_getctime and rcs_notify aren't written at all. --[[bma]]
             system("bzr","whoami",$olduser);
     
             return undef; # success
-    } #}}}
+    }
     
-    sub rcs_add ($) { # {{{
+    sub rcs_add ($) {
             my ($file) = @_;
     
             my @cmdline = ("bzr", "add", "--quiet", "$config{srcdir}/$file");
             if (system(@cmdline) != 0) {
                     warn "'@cmdline' failed: $!";
             }
-    } #}}}
+    }
     
-    sub rcs_recentchanges ($) { #{{{
+    sub rcs_recentchanges ($) {
             my ($num) = @_;
     
             eval q{use CGI 'escapeHTML'};
@@ -153,15 +153,15 @@ and rcs_getctime and rcs_notify aren't written at all. --[[bma]]
             }
     
             return @ret;
-    } #}}}
+    }
     
-    sub rcs_notify () { #{{{
+    sub rcs_notify () {
             # TODO
-    } #}}}
+    }
     
-    sub rcs_getctime ($) { #{{{
+    sub rcs_getctime ($) {
             # TODO
-    } #}}}
+    }
     
     1
 
index c8ffe70055dcb2a2186fcdc10ff64500fceaf245..8bf7042df2eee760a69583d96349569b42f134b4 100644 (file)
@@ -43,11 +43,11 @@ follows) ?
 > the use of it: `eval q{use AuthCAS}; error $@ if $@`
 
     +
-    +sub import { #{{{
+    +sub import {
     +    hook(type => "getopt", id => "cas", call => \&getopt);
     +    hook(type => "auth", id => "cas", call => \&auth);
     +    hook(type => "formbuilder_setup", id => "cas", call => \&formbuilder_setup);
-    +} # }}}
+    +}
 
 > Could you please use tabs for indentation of program flow?
 
@@ -61,15 +61,15 @@ follows) ?
 > Why would you want to make other auth plugins not work? Could a site not
 > legitimatly chose to use this and another auth method?
 
-    +sub getopt () { #{{{
+    +sub getopt () {
     +    eval q{use Getopt::Long};
     +    error($@) if $@;
     +    Getopt::Long::Configure('pass_through');
     +    GetOptions("cas_url=s" => \$config{cas_url});
     +    GetOptions("ca_file=s" => \$config{ca_file});
-    +} #}}}
+    +}
     +
-    +sub auth ($$) { #{{{
+    +sub auth ($$) {
     +    my $q=shift;
     +    my $session=shift;
     +
@@ -98,11 +98,11 @@ follows) ?
     +            error("CAS failure: ".&AuthCAS::get_errors());
     +        }
     +    }
-    +} #}}}
+    +}
     +
     +# I use formbuilder_setup and not formbuilder type in order to bypass the
     +# Logout processing done in IkiWiki::CGI::cgi_prefs()
-    +sub formbuilder_setup (@) { #{{{
+    +sub formbuilder_setup (@) {
     +    my %params=@_;
     +    
     +    my $form=$params{form};
index 69afe837d1f66ef8b5721c9357fc44487dd316b3..19fba3b3506e82f7e3e5746e68706703cd379fbc 100644 (file)
@@ -132,12 +132,12 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ‚|ptecza]]
        +use strict;
        +use IkiWiki 2.00;
        +
-       +sub import { #{{{
+       +sub import {
        +       hook(type => "preprocess", id => "color", call => \&preprocess);
        +       hook(type => "format",     id => "color", call => \&format);
-       +} #}}}
+       +}
        +
-       +sub preserve_style ($$$) { #{{{
+       +sub preserve_style ($$$) {
        +       my $foreground = shift;
        +       my $background = shift;
        +       my $text       = shift;
@@ -162,18 +162,18 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ‚|ptecza]]
        +       
        +       return $preserved;
        +
-       +} #}}}
+       +}
        +
-       +sub replace_preserved_style ($) { #{{{
+       +sub replace_preserved_style ($) {
        +       my $content = shift;
        +
        +       $content =~ s!<span class="color">((color: ([a-z]+|\#[0-9a-f]{3,6})?)?((; )?(background-color: ([a-z]+|\#[0-9a-f]{3,6})?)?)?)</span>!<span class="color" style="$1">!g;
        +       $content =~ s!<span class="colorend">!!g;
        +
        +       return $content;
-       +} #}}}
+       +}
        +
-       +sub preprocess (@) { #{{{
+       +sub preprocess (@) {
        +       my %params = @_;
        +
        +       # Preprocess the text to expand any preprocessor directives
@@ -182,14 +182,14 @@ Of course, I'm open for discussion or exchange of ideas :) --[[PaweÅ‚|ptecza]]
        +                               IkiWiki::filter($params{page}, $params{destpage}, $params{text}));
        +
        +       return preserve_style($params{foreground}, $params{background}, $params{text});
-       +} #}}}
+       +}
        +
-       +sub format (@) { #{{{
+       +sub format (@) {
        +       my %params = @_;
        +
        +       $params{content} = replace_preserved_style($params{content});
        +       return $params{content};        
-       +} #}}}
+       +}
        +
        +1
        --- /dev/null   2008-06-21 02:02:15.000000000 +0200
index e5bf5ee271fe32d98ba2ab50140d9f99f187a979..882a41379dde48ebebc2dbb4f3c4b524521a4ae1 100644 (file)
@@ -219,14 +219,14 @@ This is my ([bma](bma@bmalee.eu)) darcs.pm - it's messy (my Perl isn't up to muc
        
        package IkiWiki;
        
-       sub rcs_update () { #{{{
+       sub rcs_update () {
                # Do nothing - there's nowhere to update *from*.
-       } #}}}
+       }
        
-       sub rcs_prepedit ($) { #{{{
-       } #}}}
+       sub rcs_prepedit ($) {
+       }
        
-       sub rcs_commit ($$$;$$) { #{{{
+       sub rcs_commit ($$$;$$) {
                my ($file, $message, $rcstoken, $user, $ipaddr) = @_;
        
                # $user should probably be a name and an email address, by darcs
@@ -257,16 +257,16 @@ This is my ([bma](bma@bmalee.eu)) darcs.pm - it's messy (my Perl isn't up to muc
        
                return undef; # success
                
-       sub rcs_add ($) { # {{{
+       sub rcs_add ($) {
                my ($file) = @_;
        
                my @cmdline = ("darcs", "add", "--repodir", "$config{srcdir}", "-a", "-q", "$file");
                if (system(@cmdline) != 0) {
                        warn "'@cmdline' failed: $!";
                }
-       } #}}}
+       }
        
-       sub rcs_recentchanges ($) { #{{{
+       sub rcs_recentchanges ($) {
                # TODO: This is horrible code. It doesn't work perfectly, and uses regexes
                # rather than parsing Darcs' XML output.
                my $num=shift;
@@ -314,15 +314,15 @@ This is my ([bma](bma@bmalee.eu)) darcs.pm - it's messy (my Perl isn't up to muc
                                }
                }
                return @ret;
-       } #}}}
+       }
        
-       sub rcs_notify () { #{{{
+       sub rcs_notify () {
                # TODO
-       } #}}}
+       }
        
-       sub rcs_getctime ($) { #{{{
+       sub rcs_getctime ($) {
                error gettext("getctime not implemented");
-       } #}}}
+       }
        
        1
 
index 5a5560d6c454afb13e409a51f615c2fd70fef688..5f33cde4ce1ec824f3f15366635088ccda21a8ca 100644 (file)
@@ -17,11 +17,11 @@ Index: IkiWiki/Plugin/datearchives.pm
 +use strict;
 +use IkiWiki;
 +
-+sub import { #{{{
++sub import {
 +    hook(type => "pagetemplate", id => "datearchives", call => \&pagetemplate, scan => 1);
-+} # }}}
++}
 +
-+sub pagetemplate (@) { #{{{
++sub pagetemplate (@) {
 +    my %args = @_;
 +    my $dt;
 +    eval {
@@ -37,7 +37,7 @@ Index: IkiWiki/Plugin/datearchives.pm
 +        $template->param(ctime => htmllink( $args{page}, $args{destpage}, $link, 0, 0,
 +                                            $template->param('ctime')));
 +       }
-+} # }}}
++}
 +
 +1
 </pre>
index 2f309dea56e665433e55330ffb0f007e216776a2..9d0fc92c9f891699175f3afe0dbbf4f92b9b9ba8 100644 (file)
@@ -126,7 +126,7 @@ Index: IkiWiki/Plugin/search.pm
 +  $PLUCENE_DIR = $config{wikistatedir}.'/plucene';  
 +}
 +
- sub import { #{{{
+ sub import {
 -       hook(type => "getopt", id => "hyperestraier",
 -               call => \&amp;getopt);
 -       hook(type => "checkconfig", id => "hyperestraier",
@@ -142,14 +142,14 @@ Index: IkiWiki/Plugin/search.pm
                 call => \&amp;change);
 -       hook(type => "cgi", id => "hyperestraier",
 -               call => \&amp;cgi);
- } # }}}
+ }
  
--sub getopt () { #{{{
+-sub getopt () {
 -        eval q{use Getopt::Long};
 -       error($@) if $@;
 -        Getopt::Long::Configure('pass_through');
 -        GetOptions("estseek=s" => \$config{estseek});
--} #}}}
+-}
  
 +sub writer {
 +  init();
@@ -165,20 +165,20 @@ Index: IkiWiki/Plugin/search.pm
 +    grep { defined pagetype($_) } @_;
 +}
 +
- sub checkconfig () { #{{{
+ sub checkconfig () {
         foreach my $required (qw(url cgiurl)) {
                 if (! length $config{$required}) {
 @@ -36,112 +58,55 @@
         }
- } #}}}
+ }
  
 -my $form;
--sub pagetemplate (@) { #{{{
+-sub pagetemplate (@) {
 -       my %params=@_;
 -       my $page=$params{page};
 -       my $template=$params{template};
 +#my $form;
-+#sub pagetemplate (@) { #{{{
++#sub pagetemplate (@) {
 +#      my %params=@_;
 +#      my $page=$params{page};
 +#      my $template=$params{template};
@@ -193,7 +193,7 @@ Index: IkiWiki/Plugin/search.pm
 +#
 +#              $template->param(searchform => $form);
 +#      }
-+#} #}}}
++#}
  
 -       # Add search box to page header.
 -       if ($template->query(name => "searchform")) {
@@ -205,9 +205,9 @@ Index: IkiWiki/Plugin/search.pm
 -
 -               $template->param(searchform => $form);
 -       }
--} #}}}
+-}
 -
- sub delete (@) { #{{{
+ sub delete (@) {
 -       debug(gettext("cleaning hyperestraier search index"));
 -       estcmd("purge -cl");
 -       estcfg();
@@ -219,9 +219,9 @@ Index: IkiWiki/Plugin/search.pm
 +    $reader->delete_term( Plucene::Index::Term->new({ field => "id", text => $_ }));
 +  }
 +  $reader->close;
- } #}}}
+ }
  
- sub change (@) { #{{{
+ sub change (@) {
 -       debug(gettext("updating hyperestraier search index"));
 -       estcmd("gather -cm -bc -cl -sd",
 -               map {
@@ -250,9 +250,9 @@ Index: IkiWiki/Plugin/search.pm
 +    $doc->add(Plucene::Document::Field->UnStored('text' => $data));
 +    $writer->add_document($doc);
 +  }
- } #}}}
+ }
 -
--sub cgi ($) { #{{{
+-sub cgi ($) {
 -       my $cgi=shift;
 -
 -       if (defined $cgi->param('phrase') || defined $cgi->param("navi")) {
@@ -260,10 +260,10 @@ Index: IkiWiki/Plugin/search.pm
 -               chdir("$config{wikistatedir}/hyperestraier") || error("chdir: $!");
 -               exec("./".IkiWiki::basename($config{cgiurl})) || error("estseek.cgi failed");
 -       }
--} #}}}
+-}
 -
 -my $configured=0;
--sub estcfg () { #{{{
+-sub estcfg () {
 -       return if $configured;
 -       $configured=1;
 -
@@ -301,9 +301,9 @@ Index: IkiWiki/Plugin/search.pm
 -       unlink($cgi);
 -       my $estseek = defined $config{estseek} ? $config{estseek} : '/usr/lib/estraier/estseek.cgi';
 -       symlink($estseek, $cgi) || error("symlink $estseek $cgi: $!");
--} # }}}
+-}
 -
--sub estcmd ($;@) { #{{{
+-sub estcmd ($;@) {
 -       my @params=split(' ', shift);
 -       push @params, "-cl", "$config{wikistatedir}/hyperestraier";
 -       if (@_) {
@@ -323,7 +323,7 @@ Index: IkiWiki/Plugin/search.pm
 -               open(STDOUT, "/dev/null"); # shut it up (closing won't work)
 -               exec("estcmd", @params) || error("can't run estcmd");
 -       }
--} #}}}
+-}
 -
 -1
 +1;
index 1f6307381ea20a23b5a884abdf45fa0f68d9e430..2baa61b402bd89ff357c97feac0be688491a5aa9 100644 (file)
@@ -40,15 +40,15 @@ defined them:  --[[Joey]]
     index e476521..afe982a 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -493,6 +493,7 @@ sub loadplugins () { #{{{
+    @@ -493,6 +493,7 @@ sub loadplugins () {
        return 1;
-     } #}}}
+     }
      
     +my $loading_plugin;
-     sub loadplugin ($) { #{{{
+     sub loadplugin ($) {
        my $plugin=shift;
      
-    @@ -502,14 +503,18 @@ sub loadplugin ($) { #{{{
+    @@ -502,14 +503,18 @@ sub loadplugin ($) {
                         "$installdir/lib/ikiwiki") {
                if (defined $dir && -x "$dir/plugins/$plugin") {
                        require IkiWiki::Plugin::external;
@@ -67,7 +67,7 @@ defined them:  --[[Joey]]
        if ($@) {
                error("Failed to load plugin $mod: $@");
        }
-    @@ -1429,6 +1434,9 @@ sub hook (@) { # {{{
+    @@ -1429,6 +1434,9 @@ sub hook (@) {
      
        return if $param{no_override} && exists $hooks{$param{type}}{$param{id}};
        
@@ -76,4 +76,4 @@ defined them:  --[[Joey]]
     +
        $hooks{$param{type}}{$param{id}}=\%param;
        return 1;
-     } # }}}
+     }
index b3c174fba3f449031748983928fe38e94c161a68..e3b295123484183dcdc8be1e5c184ae8b448b816 100644 (file)
@@ -5,7 +5,7 @@
     @@ -26,7 +26,7 @@
      memoize("file_pruned");
      
-     sub defaultconfig () { #{{{
+     sub defaultconfig () {
     -       wiki_file_prune_regexps => [qr/\.\./, qr/^\./, qr/\/\./,
     +       wiki_file_prune_regexps => [qr/\.\./, qr/^\.(?!htaccess)/, qr/\/\.(?!htaccess)/,
                     qr/\.x?html?$/, qr/\.ikiwiki-new$/,
index 8dfe05581fcb3492bcf627100745ff98386a387f..574883d1b0f3f8e81ac8f935133e2c2076403f40 100644 (file)
@@ -141,13 +141,13 @@ Index: IkiWiki/Plugin/rst.pm
  print html[html.find('<body>')+6:html.find('</body>')].strip();
  ";
  
- sub import { #{{{
+ sub import {
        hook(type => "htmlize", id => "rst", call => \&htmlize);
 +      hook(type => "htmlescape", id => "rst", call => \&htmlescape);
 +      hook(type => "htmlescapelink", id => "rst", call => \&htmlescapelink);
- } # }}}
+ }
  
-+sub htmlescapelink ($$;@) { #{{{
++sub htmlescapelink ($$;@) {
 +      my $url = shift;
 +      my $text = shift;
 +      my %params = @_;
@@ -158,15 +158,15 @@ Index: IkiWiki/Plugin/rst.pm
 +      else {
 +              return "`$text <$url>`_";
 +      }
-+} # }}}
++}
 +
-+sub htmlescape ($) { #{{{
++sub htmlescape ($) {
 +      my $html=shift;
 +      $html=~s/^/  /mg;
 +      return ".. raw:: html\n\n".$html;
-+} # }}}
++}
 +
- sub htmlize (@) { #{{{
+ sub htmlize (@) {
        my %params=@_;
        my $content=$params{content};
 Index: doc/plugins/write.mdwn
@@ -272,7 +272,7 @@ Index: IkiWiki.pm
 +        return $hooks{htmlescapelink}{$type}{call}->($bestlink, $linktext);
 +      }
        return "<a href=\"$bestlink\">$linktext</a>";
- } #}}}
+ }
  
 @@ -628,6 +640,14 @@
                                preview => $preprocess_preview,
index f906312fe6ac883bdfba038bed17b49aee428a1e..ddacd91b526d157917bd5cc6a42271bee63d5745 100644 (file)
@@ -14,9 +14,9 @@
      package IkiWiki::Plugin::fortune;
 
      use warnings;
-    @@ -12,7 +18,13 @@ sub import { #{{{
+    @@ -12,7 +18,13 @@ sub import {
 
-     sub preprocess (@) { #{{{
+     sub preprocess (@) {
             $ENV{PATH}="$ENV{PATH}:/usr/games:/usr/local/games";
     -       my $f = `fortune 2>/dev/null`;
     +       my $f;
index f030f9eea1ded22216fca48f3301d09dcb77dd16..f5e6f8cd7a4f8fa9f290f887d59fea625c3601f6 100644 (file)
@@ -91,15 +91,15 @@ page "A/B/index.html" is treated as "A/B".
     +++ ikidev/IkiWiki.pm       2007-02-25 15:05:22.328852000 -0800
     @@ -192,6 +192,12 @@
         return $untainted;
-     } #}}}
+     }
 
-    +sub titlename($;@) { #{{{
+    +sub titlename($;@) {
     +   my $page = shift;
     +   $page =~ s!/index$!!;
     +   return pagetitle(basename($page), @_);
-    +} #}}}
+    +}
     +
-     sub basename ($) { #{{{
+     sub basename ($) {
         my $file=shift;
 
 
@@ -117,7 +117,7 @@ diff -ru ikiwiki-2.4/IkiWiki.pm ikiwiki/IkiWiki.pm
        $page=~s/\Q.$type\E*$// if defined $type;
 +      $page=~s/\/index$// if $page =~ /\/index$/;
        return $page;
- } #}}}
+ }
  
 </pre>
 
index 95511d99885439f4e7f16a106265702df2d273a7..3f6c8b5986b6dd3e43823c77a734b7dbad89b17f 100644 (file)
@@ -155,11 +155,11 @@ Joey, have you forgotten about that request? ;) --[[PaweÅ‚|ptecza]]
                       %config %links %pagestate %renderedfiles
                       %pagesources %destsources);
      our $VERSION = 2.00; # plugin interface version, next is ikiwiki version
-    @@ -835,6 +835,42 @@ sub titlepage ($) { #{{{
+    @@ -835,6 +835,42 @@ sub titlepage ($) {
        return $title;
-     } #}}}
+     }
      
-    +sub titlecmp ($$) { #{{{
+    +sub titlecmp ($$) {
     +  my $titleA=shift;
     +  my $titleB=shift;
     +  
@@ -193,29 +193,29 @@ Joey, have you forgotten about that request? ;) --[[PaweÅ‚|ptecza]]
     +  return -1 if (@listB);
     +  
     +  return 0;
-    +} #}}}
+    +}
     +
-     sub linkpage ($) { #{{{
+     sub linkpage ($) {
        my $link=shift;
        my $chars = defined $config{wiki_file_chars} ? $config{wiki_file_chars} : "-[:alnum:]+/.:_";
     diff --git a/IkiWiki/Plugin/brokenlinks.pm b/IkiWiki/Plugin/brokenlinks.pm
     index 37752dd..ccaa399 100644
     --- a/IkiWiki/Plugin/brokenlinks.pm
     +++ b/IkiWiki/Plugin/brokenlinks.pm
-    @@ -59,7 +59,7 @@ sub preprocess (@) { #{{{
+    @@ -59,7 +59,7 @@ sub preprocess (@) {
                        map {
                                "<li>$_</li>"
                        }
     -                  sort @broken)
     +                  sort titlecmp @broken)
                ."</ul>\n";
-     } # }}}
+     }
      
     diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
     index 8efef3f..263e7a6 100644
     --- a/IkiWiki/Plugin/inline.pm
     +++ b/IkiWiki/Plugin/inline.pm
-    @@ -192,7 +192,7 @@ sub preprocess_inline (@) { #{{{
+    @@ -192,7 +192,7 @@ sub preprocess_inline (@) {
        }
      
        if (exists $params{sort} && $params{sort} eq 'title') {
@@ -228,20 +228,20 @@ Joey, have you forgotten about that request? ;) --[[PaweÅ‚|ptecza]]
     index b910758..10a1d87 100644
     --- a/IkiWiki/Plugin/orphans.pm
     +++ b/IkiWiki/Plugin/orphans.pm
-    @@ -56,7 +56,7 @@ sub preprocess (@) { #{{{
+    @@ -56,7 +56,7 @@ sub preprocess (@) {
                                htmllink($params{page}, $params{destpage}, $_,
                                         noimageinline => 1).
                                "</li>"
     -                  } sort @orphans).
     +                  } sort titlecmp @orphans).
                "</ul>\n";
-     } # }}}
+     }
      
     diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm
     index ceb7c84..00798e1 100644
     --- a/IkiWiki/Render.pm
     +++ b/IkiWiki/Render.pm
-    @@ -89,7 +89,7 @@ sub genpage ($$) { #{{{
+    @@ -89,7 +89,7 @@ sub genpage ($$) {
                $template->param(have_actions => 1);
        }
      
index 33098c601e9ee6f13be3a096313a480e17cb1db9..4ac4e2e2546271628ffe8597e67ab1d6554a0e23 100644 (file)
@@ -54,7 +54,7 @@ This may be useful for sites with a few pages in different languages, but no ful
  my %authorurl;
 +my %lang;
  
- sub import { #{{{
+ sub import {
         hook(type => "preprocess", id => "meta", call => \&preprocess, scan => 1);
 @@ -100,6 +101,11 @@
                 $meta{$page}.='<link href="'.encode_entities($value).
@@ -75,7 +75,7 @@ This may be useful for sites with a few pages in different languages, but no ful
 +       $template->param(lang => $lang{$page})
 +               if exists $lang{$page} && $template->query(name => "lang");
  
- } # }}}
+ }
 </pre>
 
 > Please resolve lang somewhere reusable rather than within meta plugin: It is certainly usable outside
index 81a2c1328d725a0bcdf04aef30c84db560493728..158edea6e5cd6cd334dcb05412e1b04c2c1f5bd5 100644 (file)
@@ -26,7 +26,7 @@ of CVS/SVN-style keywords (like '$Id$', etc.) from the source file in the page t
      my %copyright;
     +my %rcsid;
  
-     sub import { #{{{
+     sub import {
         hook(type => "preprocess", id => "meta", call => \&preprocess, scan => 1);
     @@ -110,6 +111,9 @@
             $meta{$page}.="<link rel=\"copyright\" href=\"#page_copyright\" />\n";
index 0cc7137ba46b31d0978ca96cc0ad68cc997cef68..c5f2ab535c080c7f47a910e1e8b2addc5957b81c 100644 (file)
@@ -82,15 +82,15 @@ Index: IkiWiki/Plugin/missingparents.pm
 +my %ownfiles;
 +my @pagespecs;
 +
-+sub import { #{{{
++sub import {
 +      hook(type => "checkconfig", id => "missingparents", call => \&checkconfig);
 +      hook(type => "needsdelete", id => "missingparents", call => \&needsdelete);
 +      hook(type => "needsbuild", id => "missingparents", call => \&needsbuild);
 +      hook(type => "savestate", id => "missingparents", call => \&savestate);
 +      hook(type => "preprocess", id => "missingparents", call => \&preprocess_missingparents);
-+} # }}}
++}
 +
-+sub checkconfig () { #{{{
++sub checkconfig () {
 +      IkiWiki::preprocess("missingparents", "missingparents",
 +              readfile(srcfile("missingparents.mdwn")));
 +      loadstate();
@@ -99,9 +99,9 @@ Index: IkiWiki/Plugin/missingparents.pm
 +                      unlink $config{srcdir}.'/'.$file;
 +              }
 +      }
-+} #}}}
++}
 +
-+sub preprocess_missingparents (@) { #{{{
++sub preprocess_missingparents (@) {
 +      my %params=@_;
 +
 +      if (! defined $params{pages} || ! defined $params{generate}) {
@@ -115,10 +115,10 @@ Index: IkiWiki/Plugin/missingparents.pm
 +      #translators: is text for pages that match that pagespec.
 +      return sprintf(gettext("missingparents in %s will be %s"), 
 +                     '`'.$params{pages}.'`', '`\\'.$params{generate}.'`');
-+} # }}}
++}
 +
 +my $state_loaded=0;
-+sub loadstate() { #{{{
++sub loadstate() {
 +      my $filename = "$config{wikistatedir}/missingparents";
 +      if (-e $filename) {
 +              open (IN, $filename) ||
@@ -132,9 +132,9 @@ Index: IkiWiki/Plugin/missingparents.pm
 +
 +              $state_loaded=1;
 +      }
-+} #}}}
++}
 +
-+sub savestate() { #{{{
++sub savestate() {
 +      my $filename = "$config{wikistatedir}/missingparents.new";
 +      my $cleanup = sub { unlink ($filename) };
 +      open (OUT, ">$filename") || error("open $filename: $!", $cleanup);
@@ -143,9 +143,9 @@ Index: IkiWiki/Plugin/missingparents.pm
 +      }
 +      rename($filename, "$config{wikistatedir}/missingparents") ||
 +              error("rename $filename: $!", $cleanup);
-+} #}}}
++}
 +
-+sub needsdelete (@) { #{{{
++sub needsdelete (@) {
 +      my $files=shift;
 +      
 +      my @mydel;
@@ -167,9 +167,9 @@ Index: IkiWiki/Plugin/missingparents.pm
 +      foreach my $page (@mydel){
 +              push @{$files}, $page;
 +      }
-+} #}}}
++}
 +
-+sub check_matches($) { #{{{
++sub check_matches($) {
 +      my $page = shift;
 +      return if $IkiWiki::pagesources{$page};
 +
@@ -183,9 +183,9 @@ Index: IkiWiki/Plugin/missingparents.pm
 +              return $output;
 +      }
 +      return "";
-+} #}}}
++}
 +
-+sub needsbuild ($) { #{{{
++sub needsbuild ($) {
 +      my $files=shift;
 +      my @new;
 +
@@ -209,7 +209,7 @@ Index: IkiWiki/Plugin/missingparents.pm
 +              $ownfiles{$file} = 1;
 +              push @{$files}, $file;
 +      }
-+} #}}}
++}
 +
 +1
 Index: IkiWiki.pm
@@ -227,18 +227,18 @@ Index: IkiWiki.pm
  our $version='unknown'; # VERSION_AUTOREPLACE done by Makefile, DNE
 @@ -330,6 +336,30 @@
                error("failed renaming $newfile to $destdir/$file: $!", $cleanup);
- } #}}}
+ }
  
-+sub newpage($$) { #{{{
++sub newpage($$) {
 +      my $file=shift;
 +      my $page=shift;
 +
 +      $pagemtime{$page} = $pagectime{$page} = time;
 +      $pagesources{$page} = $file;
 +      $pagecase{lc $page} = $page;
-+} #}}}
++}
 +
-+sub delpage($) { #{{{
++sub delpage($) {
 +      my $page=shift;
 +      $links{$page}=[];
 +      $renderedfiles{$page}=[];
@@ -251,10 +251,10 @@ Index: IkiWiki.pm
 +                      delete $destsources{$_};
 +                      }
 +              }
-+} #}}}
++}
 +
  my %cleared;
- sub will_render ($$;$) { #{{{
+ sub will_render ($$;$) {
        my $page=shift;
 </pre>
 
index 7c0a909eb7f53f6bad48a086f619fe033b1e8e24..4099487a12193ff8d725506bb0f5c19b666ae909 100644 (file)
@@ -10,7 +10,7 @@ My solution is to allow plugins to provide a hook that sets the pagename. --[[/u
     +++ /usr/share/perl5/IkiWiki.pm 2008-10-07 11:57:26.000000000 -0400
     @@ -196,11 +196,32 @@
 
-     sub pagename ($) { #{{{
+     sub pagename ($) {
             my $file=shift;
 
             my $type=pagetype($file);
@@ -27,7 +27,7 @@ My solution is to allow plugins to provide a hook that sets the pagename. --[[/u
             $page=~s/\Q.$type\E*$// if defined $type;
             return $page;
     +   }
-     } #}}}
+     }
 
-     sub htmlpage ($) { #{{{
+     sub htmlpage ($) {
 
index f7b248670d10e83b4bbe99a270e47e15723983e3..4757988e0a27b0b7cdcb8fa23978f151cc1bbad4 100644 (file)
@@ -57,7 +57,7 @@ diff -urNX ignorepats ikiwiki/IkiWiki/Plugin/relative.pm ikidev/IkiWiki/Plugin/r
 +
 +package IkiWiki::PageSpec;
 +
-+sub match_relative($$;@) { #{{{
++sub match_relative($$;@) {
 +      my $parent = shift;
 +      my $spec = shift;
 +      my %params = @_;
@@ -69,21 +69,21 @@ diff -urNX ignorepats ikiwiki/IkiWiki/Plugin/relative.pm ikidev/IkiWiki/Plugin/r
 +              }
 +      }
 +      return IkiWiki::FailReason->new("$parent can't match $spec against anything");
-+} #}}}
++}
 +
-+sub match_has_child($$;@) { #{{{
++sub match_has_child($$;@) {
 +      my $page = shift;
 +      my $childname = shift;
 +      my $spec;
-+      if ($childname) { #{{{
++      if ($childname) {
 +              $spec = "$page/$childname or $page/*/$childname";
-+      } #}}}
-+      else { #{{{
++      }
++      else {
 +              $spec = "$page/*";
-+      } #}}}
++      }
 +
 +      return match_relative($page, $spec, @_);
-+} #}}}
++}
 +
 +1
 </pre>
index 9c8b340de9882ac732a2926a5c305086dcdf1a8f..01aa512f8d5565a343df5e7818a9efda8a825b5f 100644 (file)
@@ -10,7 +10,7 @@ diffurls of the following form:
     index 5bef928..164210d 100644
     --- a/IkiWiki/Plugin/git.pm
     +++ b/IkiWiki/Plugin/git.pm
-    @@ -518,6 +518,7 @@ sub rcs_recentchanges ($) { #{{{
+    @@ -518,6 +518,7 @@ sub rcs_recentchanges ($) {
      
                        my $diffurl = defined $config{'diffurl'} ? $config{'diffurl'} : "";
                        $diffurl =~ s/\[\[file\]\]/$file/go;
index 110b4167feef99b8d48655ffd42d33f76dacd0eb..83ba07eb0f8bcd8e9c110c8d5b213fdb139c3229 100644 (file)
@@ -91,15 +91,15 @@ ignored.
 
 --- a/IkiWiki/Plugin/openid.pm
 +++ b/IkiWiki/Plugin/openid.pm
-@@ -18,6 +18,7 @@ sub getopt () { #{{{
+@@ -18,6 +18,7 @@ sub getopt () {
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
        GetOptions("openidsignup=s" => \$config{openidsignup});
 +      GetOptions("openidneedscaptcha=s" => \$config{openidneedscaptcha});
- } #}}}
+ }
  
- sub formbuilder_setup (@) { #{{{
-@@ -61,6 +62,7 @@ sub formbuilder_setup (@) { #{{{
+ sub formbuilder_setup (@) {
+@@ -61,6 +62,7 @@ sub formbuilder_setup (@) {
                        # Skip all other required fields in this case.
                        foreach my $field ($form->field) {
                                next if $field eq "openid_url";
@@ -107,7 +107,7 @@ ignored.
                                $form->field(name => $field, required => 0,
                                        validate => '/.*/');
                        }
-@@ -96,6 +98,18 @@ sub validate ($$$;$) { #{{{
+@@ -96,6 +98,18 @@ sub validate ($$$;$) {
                }
        }
  
@@ -152,19 +152,19 @@ use warnings;
 use strict;
 use IkiWiki 2.00;
 
-sub import { #{{{
+sub import {
        hook(type => "formbuilder_setup", id => "recaptcha", call => \&formbuilder_setup);
-} # }}}
+}
 
-sub getopt () { #{{{
+sub getopt () {
        eval q{use Getopt::Long};
        error($@) if $@;
        Getopt::Long::Configure('pass_through');
        GetOptions("reCaptchaPubKey=s" => \$config{reCaptchaPubKey});
        GetOptions("reCaptchaPrivKey=s" => \$config{reCaptchaPrivKey});
-} #}}}
+}
 
-sub formbuilder_setup (@) { #{{{
+sub formbuilder_setup (@) {
        my %params=@_;
 
        my $form=$params{form};
@@ -274,7 +274,7 @@ EOTAGS
                                });
                }
        }
-} # }}}
+}
 
 # The following function is borrowed from
 # Captcha::reCAPTCHA by Andy Armstrong and are under the PERL Artistic License
index 5d6cb89e831b8360a5c8ffbf990edbb858bac5e1..b051361a8486db732d34e3ec99625a9f566b5619 100644 (file)
@@ -31,13 +31,13 @@ I just implemented this.  There is one [[patch]] to the default page template, a
     use IkiWiki;
     use open qw{:utf8 :std};
     
-    sub import { #{{{
+    sub import {
        hook(type => "getsetup", id => "getsource", call => \&getsetup);
        hook(type => "pagetemplate", id => "getsource", call => \&pagetemplate);
        hook(type => "sessioncgi", id => "getsource", call => \&cgi_getsource);
-    } # }}}
+    }
     
-    sub getsetup () { #{{{
+    sub getsetup () {
        return
                plugin => {
                        safe => 1,
@@ -50,9 +50,9 @@ I just implemented this.  There is one [[patch]] to the default page template, a
                        safe => 1,
                        rebuild => 0,
                },
-    } #}}}
+    }
     
-    sub pagetemplate (@) { #{{{
+    sub pagetemplate (@) {
        my %params=@_;
     
        my $page=$params{page};
@@ -62,9 +62,9 @@ I just implemented this.  There is one [[patch]] to the default page template, a
                $template->param(getsourceurl => IkiWiki::cgiurl(do => "getsource", page => $page));
                $template->param(have_actions => 1);
        }
-    } # }}}
+    }
     
-    sub cgi_getsource ($$) { #{{{
+    sub cgi_getsource ($$) {
        my $cgi=shift;
        my $session=shift;
     
index 2a196ed23b642beff60314b51164a3ac3a300465..22f67cc0ae39c18c3eeab5f7ec00de6b031edeb4 100644 (file)
@@ -257,21 +257,21 @@ in a large number of other cases.
     use CGI::FormBuilder;
     use IkiWiki 2.00;
     
-    sub import { #{{{
+    sub import {
        hook(type => "getsetup", id => "form", call => \&getsetup);
        hook(type => "htmlize", id => "form", call => \&htmlize);
        hook(type => "sessioncgi", id => "form", call => \&cgi_submit);
-    } # }}}
+    }
     
-    sub getsetup () { #{{{
+    sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-    } #}}}
+    }
     
-    sub makeFormFromYAML ($$$) { #{{{
+    sub makeFormFromYAML ($$$) {
        my $page = shift;
        my $YAMLString = shift;
        my $q = shift;
@@ -350,9 +350,9 @@ in a large number of other cases.
        # IkiWiki::decode_form_utf8($form);
        
        return $form;
-    } #}}}
+    }
     
-    sub htmlize (@) { #{{{
+    sub htmlize (@) {
        my %params=@_;
        my $content = $params{content};
        my $page = $params{page};
@@ -360,9 +360,9 @@ in a large number of other cases.
        my $form = makeFormFromYAML($page, $content, undef);
     
        return $form->render(submit => 'Update Form');
-    } # }}}
+    }
     
-    sub cgi_submit ($$) { #{{{
+    sub cgi_submit ($$) {
        my $q=shift;
        my $session=shift;
        
@@ -425,11 +425,11 @@ in a large number of other cases.
        }
     
        exit;
-    } #}}}
+    }
     
     package IkiWiki::PageSpec;
     
-    sub match_form_eq ($$;@) { #{{{
+    sub match_form_eq ($$;@) {
        my $page=shift;
        my $argSet=shift;
        my @args=split(/,/, $argSet);
@@ -460,7 +460,7 @@ in a large number of other cases.
        } else {
                return IkiWiki::FailReason->new("field value does not match");
        }
-    } #}}}
+    }
     
     1
 
@@ -476,22 +476,22 @@ in a large number of other cases.
     
     my $inTable = 0;
     
-    sub import { #{{{
+    sub import {
        hook(type => "getsetup", id => "data", call => \&getsetup);
        hook(type => "needsbuild", id => "data", call => \&needsbuild);
        hook(type => "preprocess", id => "data", call => \&preprocess, scan => 1);
        hook(type => "preprocess", id => "datatable", call => \&preprocess_table, scan => 1);   # does this need scan?
-    } # }}}
+    }
     
-    sub getsetup () { #{{{
+    sub getsetup () {
        return
                plugin => {
                        safe => 1,
                        rebuild => 1, # format plugin
                },
-    } #}}}
+    }
     
-    sub needsbuild (@) { #{{{
+    sub needsbuild (@) {
        my $needsbuild=shift;
        foreach my $page (keys %pagestate) {
                if (exists $pagestate{$page}{data}) {
@@ -506,7 +506,7 @@ in a large number of other cases.
        }
     }
     
-    sub preprocess (@) { #{{{
+    sub preprocess (@) {
        my @argslist = @_;
        my %params=@argslist;
        
@@ -546,9 +546,9 @@ in a large number of other cases.
        }
        
        return $html;
-    } # }}}
+    }
     
-    sub preprocess_table (@) { #{{{
+    sub preprocess_table (@) {
        my %params=@_;
     
        my @lines;
@@ -568,11 +568,11 @@ in a large number of other cases.
        push @lines, '</table>';
     
        return join("\n", @lines);
-    } #}}}
+    }
     
     package IkiWiki::PageSpec;
     
-    sub match_data_eq ($$;@) { #{{{
+    sub match_data_eq ($$;@) {
        my $page=shift;
        my $argSet=shift;
        my @args=split(/,/, $argSet);
@@ -592,9 +592,9 @@ in a large number of other cases.
        } else {
                return IkiWiki::FailReason->new("value does not match");
        }
-    } #}}}
+    }
     
-    sub match_data_link ($$;@) { #{{{
+    sub match_data_link ($$;@) {
        my $page=shift;
        my $argSet=shift;
        my @params=@_;
@@ -618,6 +618,6 @@ in a large number of other cases.
        }
     
        return IkiWiki::FailReason->new("No data link on page $page with key $key matches glob $value");
-    } #}}}
+    }
     
     1
index 892db18a9accd6d1d7dce530a910d78236e53eed..aae0b3008060994160b2b7207eedd46130fdd3a2 100644 (file)
@@ -91,14 +91,14 @@ Each comment is processed to something like this:
     use strict;
     use IkiWiki '1.02';
 
-    sub import { #{{{
+    sub import {
         hook(type => "formbuilder_setup", id => "comments",
             call => \&formbuilder_setup);
         hook(type => "preprocess", id => "blogcomment",
             call => \&preprocess);  
-    } # }}}
+    }
 
-    sub formbuilder_setup (@) { #{{{
+    sub formbuilder_setup (@) {
         my %params=@_;
         my $cgi = $params{cgi};
         my $form = $params{form};   
@@ -138,9 +138,9 @@ Each comment is processed to something like this:
         $content.=qq{[[!blogcomment from="""$name""" timestamp="""$timestamp""" subject="""$subject""" text="""$comment"""]]\n\n};
         $content=~s/\n/\r\n/g;
         $form->field(name => "editcontent", value => $content, force => 1);
-    } # }}}
+    }
 
-    sub preprocess (@) { #{{{
+    sub preprocess (@) {
         my %params=@_;
 
         my ($text, $date, $from, $subject, $r);
@@ -159,7 +159,7 @@ Each comment is processed to something like this:
         $r .= "</dl>\n" . $text . "</div>\n";
 
         return $r;
-    } # }}}
+    }
     
     1;
 
index 2bdeb62be5dc8db7af7435d1379d5ad4728fd5bd..3de3032b31bc15e613ea76ec20b75f3c3e99e0aa 100644 (file)
@@ -90,7 +90,7 @@ like this:
     index 8d728c9..1bd46a9 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -618,6 +618,8 @@ sub pagetype ($) { #{{{
+    @@ -618,6 +618,8 @@ sub pagetype ($) {
        
        if ($page =~ /\.([^.]+)$/) {
                return $1 if exists $hooks{htmlize}{$1};
@@ -98,7 +98,7 @@ like this:
     +          return $page;
        }
        return;
-     } #}}}
+     }
 
 ## format directive
 
index aaa040ec7130d3cf3024367829d08353975f787f..bfc130d69d79e793b1bdd31c51118f26d9160dc1 100644 (file)
@@ -10,6 +10,6 @@
        +       debug("ctime for '$file': ". localtime($ctime));
         
                return $ctime;
-        } #}}}
+        }
 
 [[!tag patch done]]
index f7d06a5793b64ed42608c4221a4a58002ef31d47..644cf23aaffbc42ef5d8cd4abada1fbacd712cd3 100644 (file)
@@ -11,12 +11,12 @@ A simple plugin to allow per-page customization of a template by passing paramat
 
     my %tmplvars;
 
-    sub import { #{{{
+    sub import {
            hook(type => "preprocess", id => "tmplvars", call => \&preprocess);
            hook(type => "pagetemplate", id => "tmplvars", call => \&pagetemplate);
-    } # }}}
+    }
 
-    sub preprocess (@) { #{{{
+    sub preprocess (@) {
            my %params=@_;
 
            if ($params{page} eq $params{destpage}) {
@@ -34,9 +34,9 @@ A simple plugin to allow per-page customization of a template by passing paramat
                    }
            }
     
-    } # }}}
+    }
     
-    sub pagetemplate (@) { #{{{
+    sub pagetemplate (@) {
             my %params=@_;
             my $template = $params{template};
 
@@ -47,6 +47,6 @@ A simple plugin to allow per-page customization of a template by passing paramat
             }
 
             return undef;
-    } # }}}
+    }
 
     1
index 3af0458bd25bb403bd5cdf17b00b7aae5fdf5473..2832e37aad36c85e0c696bce62cb124791ad8aab 100644 (file)
@@ -194,9 +194,9 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
     index 4e4da11..8b3cdfe 100644
     --- a/IkiWiki.pm
     +++ b/IkiWiki.pm
-    @@ -1550,7 +1550,16 @@ sub globlist_to_pagespec ($) { #{{{
+    @@ -1550,7 +1550,16 @@ sub globlist_to_pagespec ($) {
      
-     sub is_globlist ($) { #{{{
+     sub is_globlist ($) {
        my $s=shift;
     -  return ( $s =~ /[^\s]+\s+([^\s]+)/ && $1 ne "and" && $1 ne "or" );
     +  return ! ($s =~ /
@@ -209,19 +209,19 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
     +                  ) |
     +                          (\s and \s) | (\s or \s)        # or we find 'and' or 'or' somewhere
     +                  /xs);
-     } #}}}
+     }
      
-     sub safequote ($) { #{{{
-    @@ -1631,7 +1640,7 @@ sub pagespec_merge ($$) { #{{{
+     sub safequote ($) {
+    @@ -1631,7 +1640,7 @@ sub pagespec_merge ($$) {
        return "($a) or ($b)";
-     } #}}}
+     }
      
-    -sub pagespec_translate ($) { #{{{
-    +sub pagespec_makeperl ($) { #{{{
+    -sub pagespec_translate ($) {
+    +sub pagespec_makeperl ($) {
        my $spec=shift;
      
        # Support for old-style GlobLists.
-    @@ -1650,12 +1659,14 @@ sub pagespec_translate ($) { #{{{
+    @@ -1650,12 +1659,14 @@ sub pagespec_translate ($) {
                |
                        \)              # )
                |
@@ -238,7 +238,7 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
                my $word=$1;
                if (lc $word eq 'and') {
                        $code.=' &&';
-    @@ -1666,16 +1677,23 @@ sub pagespec_translate ($) { #{{{
+    @@ -1666,16 +1677,23 @@ sub pagespec_translate ($) {
                elsif ($word eq "(" || $word eq ")" || $word eq "!") {
                        $code.=' '.$word;
                }
@@ -265,14 +265,14 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
                }
        }
      
-    @@ -1683,8 +1701,18 @@ sub pagespec_translate ($) { #{{{
+    @@ -1683,8 +1701,18 @@ sub pagespec_translate ($) {
                $code=0;
        }
      
     +  return 'sub { my $page=shift; my %params = @_; '.$code.' }';
-    +} #}}}
+    +}
     +
-    +sub pagespec_translate ($) { #{{{
+    +sub pagespec_translate ($) {
     +  my $spec=shift;
     +
     +  my $code = pagespec_makeperl($spec);
@@ -282,19 +282,19 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
        no warnings;
     -  return eval 'sub { my $page=shift; '.$code.' }';
     +  return eval $code;
-     } #}}}
+     }
      
-     sub pagespec_match ($$;@) { #{{{
-    @@ -1699,7 +1727,7 @@ sub pagespec_match ($$;@) { #{{{
+     sub pagespec_match ($$;@) {
+    @@ -1699,7 +1727,7 @@ sub pagespec_match ($$;@) {
      
        my $sub=pagespec_translate($spec);
        return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"") if $@;
     -  return $sub->($page, @params);
     +  return $sub->($page, @params, specFuncs => {});
-     } #}}}
+     }
      
-     sub pagespec_valid ($) { #{{{
-    @@ -1748,11 +1776,78 @@ sub new { #{{{
+     sub pagespec_valid ($) {
+    @@ -1748,11 +1776,78 @@ sub new {
      
      package IkiWiki::PageSpec;
      
@@ -361,7 +361,7 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
     +  }
     +}
     +
-     sub match_glob ($$;@) { #{{{
+     sub match_glob ($$;@) {
        my $page=shift;
        my $glob=shift;
        my %params=@_;
@@ -373,9 +373,9 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
        my $from=exists $params{location} ? $params{location} : '';
        
        # relative matching
-    @@ -1782,11 +1877,12 @@ sub match_internal ($$;@) { #{{{
+    @@ -1782,11 +1877,12 @@ sub match_internal ($$;@) {
      
-     sub match_link ($$;@) { #{{{
+     sub match_link ($$;@) {
        my $page=shift;
     -  my $link=lc(shift);
     +  my $fulllink=shift;
@@ -388,7 +388,7 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
        # relative matching
        if ($link =~ m!^\.! && defined $from) {
                $from=~s#/?[^/]+$##;
-    @@ -1804,19 +1900,32 @@ sub match_link ($$;@) { #{{{
+    @@ -1804,19 +1900,32 @@ sub match_link ($$;@) {
                }
                else {
                        return IkiWiki::SuccessReason->new("$page links to page $p matching $link")
@@ -397,9 +397,9 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
                }
        }
        return IkiWiki::FailReason->new("$page does not link to $link");
-     } #}}}
+     }
      
-     sub match_backlink ($$;@) { #{{{
+     sub match_backlink ($$;@) {
     -  return match_link($_[1], $_[0], @_);
     +  my $page=shift;
     +  my $backlink=shift;
@@ -410,9 +410,9 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
     +  }
     +
     +  return match_link($backlink, $page, @params);
-     } #}}}
+     }
      
-     sub match_created_before ($$;@) { #{{{
+     sub match_created_before ($$;@) {
        my $page=shift;
        my $testpage=shift;
     +  my @params=@_;
@@ -423,8 +423,8 @@ account all comments above (which doesn't mean it is above reproach :) ).  --[[W
      
        if (exists $IkiWiki::pagectime{$testpage}) {
                if ($IkiWiki::pagectime{$page} < $IkiWiki::pagectime{$testpage}) {
-    @@ -1834,6 +1943,11 @@ sub match_created_before ($$;@) { #{{{
-     sub match_created_after ($$;@) { #{{{
+    @@ -1834,6 +1943,11 @@ sub match_created_before ($$;@) {
+     sub match_created_after ($$;@) {
        my $page=shift;
        my $testpage=shift;
     +  my @params=@_;
index 87e55685c17ae3005b8a5a0e17212506115490c2..14bb437824f802e3c2832b74f7b72d810d256daf 100644 (file)
@@ -8,7 +8,7 @@ I think this (untested) patch might just do the trick:
 
     --- a/IkiWiki/Plugin/edittemplate.pm
     +++ b/IkiWiki/Plugin/edittemplate.pm
-    @@ -46,8 +46,13 @@ sub preprocess (@) { #{{{
+    @@ -46,8 +46,13 @@ sub preprocess (@) {
 
       $pagestate{$params{page}}{edittemplate}{$params{match}}=$params{template};
 
@@ -21,9 +21,9 @@ I think this (untested) patch might just do the trick:
     +       else {
     +               return '';
     +       }
-    } # }}}
+    }
 
-    sub formbuilder (@) { #{{{
+    sub formbuilder (@) {
 
 --[[madduck]]
 
index d04e5a300227bf5db891309372b5e4577e05d325..6da40a415156352b8425124b7e95b3016c83d1e0 100644 (file)
@@ -82,9 +82,9 @@ diff -c /usr/share/perl5/IkiWiki/Plugin/meta.pm.distrib /usr/share/perl5/IkiWiki
 *** 289,294 ****
 --- 290,319 ----
         }
-  } #}}}
+  }
   
-+ sub IkiWiki::pagetitle ($;$) { #{{{
++ sub IkiWiki::pagetitle ($;$) {
 +       my $page=shift;
 +       my $unescaped=shift;
 + 
@@ -106,11 +106,11 @@ diff -c /usr/share/perl5/IkiWiki/Plugin/meta.pm.distrib /usr/share/perl5/IkiWiki
 +       }
 + 
 +       return $page;
-+ } #}}}
++ }
 + 
   package IkiWiki::PageSpec;
   
-  sub match_title ($$;@) { #{{{
+  sub match_title ($$;@) {
 
 
 </pre>
index 492a32b366a53c194e7effe393f831752ea0445e..b28469993864708a54e16520440a64ba8dfc271b 100644 (file)
@@ -157,9 +157,9 @@ ManojSrivastava
 +=cut
 +
 +
-+sub import { #{{{
++sub import {
 +      hook(type => "pagetemplate", id => "varioki", call => \&pagetemplate);
-+} # }}}
++}
 +
 +
 +=pod
@@ -175,7 +175,7 @@ ManojSrivastava
 +
 +=cut
 +
-+sub pagetemplate (@) { #{{{
++sub pagetemplate (@) {
 +      my %params=@_;
 +      my $page=$params{page};
 +      my $template=$params{template};
@@ -207,7 +207,7 @@ ManojSrivastava
 +             $template->param("$var" =>"$value");
 +           }
 +        }
-+} # }}}
++}
 +
 +1;
 +
index 473cbdbfd059351afe086257909ff1b8dc4f1da5..32a24af84a6177d0477bc1914afcddd41b2627cc 100755 (executable)
@@ -9,12 +9,12 @@ use strict;
 use lib '.'; # For use in nonstandard directory, munged by Makefile.
 use IkiWiki;
 
-sub usage () { #{{{
+sub usage () {
        die gettext("usage: ikiwiki [options] source dest"), "\n",
            gettext("       ikiwiki --setup configfile"), "\n";
-} #}}}
+}
 
-sub getconfig () { #{{{
+sub getconfig () {
        if (! exists $ENV{WRAPPED_OPTIONS}) {
                %config=defaultconfig();
                eval q{use Getopt::Long};
@@ -123,9 +123,9 @@ sub getconfig () { #{{{
                loadplugins();
                checkconfig();
        }
-} #}}}
+}
 
-sub main () { #{{{
+sub main () {
        getconfig();
        
        if ($config{setup}) {
@@ -207,6 +207,6 @@ sub main () { #{{{
                saveindex();
                debug(gettext("done"));
        }
-} #}}}
+}
 
 main;