Photos
Blog
Projects
vanrenterghem.biz
projects
/
git.ikiwiki.info.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
do not display two glasses
[git.ikiwiki.info.git]
/
IkiWiki
/
Plugin
/
headinganchors.pm
diff --git
a/IkiWiki/Plugin/headinganchors.pm
b/IkiWiki/Plugin/headinganchors.pm
index 80b39ec05c7262c37c4a2113f1fa2c4b4aca5ca6..ece6f4eaca63aa952f2aa94bd03cd67650691b31 100644
(file)
--- a/
IkiWiki/Plugin/headinganchors.pm
+++ b/
IkiWiki/Plugin/headinganchors.pm
@@
-4,19
+4,32
@@
package IkiWiki::Plugin::headinganchors;
use warnings;
use strict;
use warnings;
use strict;
-use IkiWiki 2.00;
+use IkiWiki 3.00;
+use URI::Escape;
sub import {
sub import {
+ hook(type => "getsetup", id => "headinganchors", call => \&getsetup);
hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
}
hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
}
+sub getsetup () {
+ return
+ plugin => {
+ safe => 1,
+ rebuild => undef,
+ section => "widget",
+ },
+}
+
sub text_to_anchor {
my $str = shift;
$str =~ s/^\s+//;
$str =~ s/\s+$//;
sub text_to_anchor {
my $str = shift;
$str =~ s/^\s+//;
$str =~ s/\s+$//;
- $str = lc($str);
- $str =~ s/[&\?"\'\.,\(\)!]//mig;
- $str =~ s/[^a-z]/_/mig;
+ $str =~ s/\s/_/g;
+ $str =~ s/"//g;
+ $str =~ s/^[^a-zA-Z]/z-/; # must start with an alphabetical character
+ $str = uri_escape_utf8($str);
+ $str =~ s/%/./g;
return $str;
}
return $str;
}