Misc
Bug related to decode
call
Modify /usr/lib/x86_64-linux-gnu/perl/5.20/Encode.pm
sub decode($$;$) {
my ( $name, $octets, $check ) = @_;
return undef unless defined $octets;
$octets .= '';
$check ||= 0;
my $enc = find_encoding($name);
unless ( defined $enc ) {
require Carp;
Carp::croak("Unknown encoding '$name'");
}
return $octets if Encode::is_utf8($octets); # Fix bug: do not decode already-decoded string
my $string = $enc->decode( $octets, $check );
$_[1] = $octets if $check and !ref $check and !( $check & LEAVE_SRC() );
return $string;
}
Templates
Default templates
Linux
On Linux, it's typically in /usr/share/ikiwiki/templates/.
macOS
If installing ikiwiki on macOS using 'pkgsrc',
share/ikiwiki/templates/
should be relative to the
root directory where all 'pkgsrc' files are installed, which is by
default /opt/pkg/
.
Computer-wide templates (applied to all Ikiwiki websites built on a computer)
Specify an additional directory for ikiwiki to look for templates:
$ ikiwiki --setup setupfile --templatedir '/Users/meng/my-config-files/Ikiwiki/templatedir' [more options]
or specify it in the setupfile
:
use IkiWiki::Setup::Standard {
...,
templatedir => '/Users/meng/my-config-files/Ikiwiki/templatedir',
...
}
I intend to keep tempaltes applicable to all Ikiwiki websites in '/Users/lumeng/my-config-files/Ikiwiki/templatedir'.
Website-specific templates applied to only the current Ikiwiki website
In addition to the default templates and the user-configured templates applicable to all Ikiwiki websites, keep templates only applicable to the current Ikiwiki website in its own source directory 'sourcedir/templates/'.
References
- https://ikiwiki.info/templates/
- https://ikiwiki.info/forum/How_to_use_multiple_template_files_directories63/