--- /dev/null
+#!/usr/bin/perl
+# quick HTML heading id adder by Paul Wise
+package IkiWiki::Plugin::headinganchors;
+
+use warnings;
+use strict;
+use IkiWiki 2.00;
+
+sub import {
+ hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
+}
+
+sub text_to_anchor {
+ my $str = shift;
+ $str =~ s/^\s+//;
+ $str =~ s/\s+$//;
+ $str = lc($str);
+ $str =~ s/[&\?"\'\.,\(\)!]//mig;
+ $str =~ s/[^a-z]/_/mig;
+ return $str;
+}
+
+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
(If you don't have javascript don't worry, I kept that working too.)
(Sponsored by The TOVA Company.)
* Add libtext-multimarkdown-perl to Suggests. Closes: #630705
+ * headinganchors: Plugin by Paul Wise that adds ids to <hn> headings.
-- Joey Hess <joeyh@debian.org> Thu, 09 Jun 2011 10:06:44 -0400
+++ /dev/null
-[[!template id=plugin name=headinganchors author="[[PaulWise]]"]]
-
-This is a simple plugin to add ids (which will serve as [[anchor]]s) to all headings, based on their text. It
-works as a postprocessing filter, allowing it to work on mdwn, wiki, html,
-rst and any other format that produces html. The code is available here:
-
- #!/usr/bin/perl
- # quick HTML heading id adder by Paul Wise
- package IkiWiki::Plugin::headinganchors;
-
- use warnings;
- use strict;
- use IkiWiki 2.00;
-
- sub import {
- hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
- }
-
- sub text_to_anchor {
- my $str = shift;
- $str =~ s/^\s+//;
- $str =~ s/\s+$//;
- $str = lc($str);
- $str =~ s/[&\?"\'\.,\(\)!]//mig;
- $str =~ s/[^a-z]/_/mig;
- return $str;
- }
-
- 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
--- /dev/null
+[[!template id=plugin name=headinganchors author="[[PaulWise]]"]]
+[[!tag type/html]]
+
+This is a simple plugin to add ids (which will serve as [[anchor]]s) to all
+headings (h1, h2, etc), based on their text. It works as a postprocessing
+filter, allowing it to work on mdwn, wiki, html, rst and any other format that
+produces html.