# --- Plugins (Optional) -----
# File listing plugins blosxom should load
-# (if empty blosxom will load all plugins in $plugin_path directories)
+# (if empty blosxom will load all plugins in $plugin_dir and $plugin_path directories)
$plugin_list = "";
# Where are my plugins kept?
-# List of directories, separated by ';' on windows, ':' everywhere else
-$plugin_path = "";
+$plugin_dir = "";
# Where should my plugins keep their state information?
-$plugin_state_dir = "";
+$plugin_state_dir = "$plugin_dir/state";
-#$plugin_state_dir = "/var/lib/blosxom/state";
+# Additional plugins location
+# List of directories, separated by ';' on windows, ':' everywhere else
+$plugin_path = "";
# --- Static Rendering -----
# Plugins: Start
my $path_sep = $^O eq 'MSWin32' ? ';' : ':';
-my @plugin_dirs = split /$path_sep/, ( $plugin_path || $plugin_dir );
+my @plugin_dirs = split /$path_sep/, $plugin_path;
+unshift @plugin_dirs, $plugin_dir;
my @plugin_list = ();
my %plugin_hash = ();
# If $plugin_list is set, read plugins to use from that file
-$plugin_list = "$config_dir/$plugin_list"
- if $plugin_list && $plugin_list !~ m!^\s*/!;
if ( $plugin_list and -r $plugin_list and $fh->open("< $plugin_list") ) {
@plugin_list = map { chomp $_; $_ } grep { /\S/ && !/^#/ } <$fh>;
$fh->close;
# For Blosxom::Plugin::Foo style plugins, we need to use a string require
eval "require $plugin_name";
}
- else {
- eval { require $plugin };
+ else
+ { # we try first to load from $plugin_dir before attempting from $plugin_path
+ eval { require "$plugin_dir/$plugin" }
+ or eval { require $plugin };
}
if ($@) {
my $content_type = ( &$template( $path_info, 'content_type', $flavour ) );
$content_type =~ s!\n.*!!s;
- $content_type =~ s/(\$\w+(?:::)?\w*)/"defined $1 ? $1 : ''"/gee;
+ $content_type =~ s/(\$\w+(?:::\w+)*)/"defined $1 ? $1 : ''"/gee;
$header = { -type => $content_type };
print generate( 'dynamic', $path_info,
package blosxom;
my $template = shift;
- $template =~ s/(\$\w+(?:::)?\w*)/"defined $1 ? $1 : ''"/gee;
+ $template =~ s/(\$\w+(?:::\w+)*)/"defined $1 ? $1 : ''"/gee;
return $template;
};