]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
move headinganchors out of contrib
authorJoey Hess <joey@kitenet.net>
Tue, 21 Jun 2011 19:12:02 +0000 (15:12 -0400)
committerJoey Hess <joey@kitenet.net>
Tue, 21 Jun 2011 19:22:35 +0000 (15:22 -0400)
IkiWiki/Plugin/headinganchors.pm [new file with mode: 0644]
debian/changelog
doc/plugins/contrib/headinganchors.mdwn [deleted file]
doc/plugins/contrib/headinganchors/discussion.mdwn [deleted file]
doc/plugins/headinganchors.mdwn [new file with mode: 0644]
doc/plugins/headinganchors/discussion.mdwn [new file with mode: 0644]

diff --git a/IkiWiki/Plugin/headinganchors.pm b/IkiWiki/Plugin/headinganchors.pm
new file mode 100644 (file)
index 0000000..80b39ec
--- /dev/null
@@ -0,0 +1,30 @@
+#!/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
index cf6aff9b1c3571deee1e3d0df1f05ca678fe525f..a516c0756b67352015f23abb2e91668e899583a1 100644 (file)
@@ -13,6 +13,7 @@ ikiwiki (3.20110609) UNRELEASED; urgency=low
     (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
 
diff --git a/doc/plugins/contrib/headinganchors.mdwn b/doc/plugins/contrib/headinganchors.mdwn
deleted file mode 100644 (file)
index becbf89..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-[[!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
diff --git a/doc/plugins/contrib/headinganchors/discussion.mdwn b/doc/plugins/contrib/headinganchors/discussion.mdwn
deleted file mode 100644 (file)
index 151af8d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-Isn't this functionality a part of what [[plugins/toc]] needs and does? Then probably the [[plugins/toc]] plugin's code could be split into the part that implements the [[plugins/contrib/headinganchors]]'s functionality and the TOC generation itself. That will bring more order into the code and the set of available plugins. --Ivan Z.
-
----
-
-A patch to make it more like MediaWiki:
-
-<pre>--- headinganchors.pm
-+++ headinganchors.pm
-@@ -5,6 +5,7 @@
- use warnings;
- use strict;
- use IkiWiki 2.00;
-+use URI::Escape;
- sub import {
-         hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
-@@ -14,9 +15,11 @@
-         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;
- }
- </pre>
-
---Changaco
diff --git a/doc/plugins/headinganchors.mdwn b/doc/plugins/headinganchors.mdwn
new file mode 100644 (file)
index 0000000..f087abd
--- /dev/null
@@ -0,0 +1,7 @@
+[[!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.
diff --git a/doc/plugins/headinganchors/discussion.mdwn b/doc/plugins/headinganchors/discussion.mdwn
new file mode 100644 (file)
index 0000000..151af8d
--- /dev/null
@@ -0,0 +1,33 @@
+Isn't this functionality a part of what [[plugins/toc]] needs and does? Then probably the [[plugins/toc]] plugin's code could be split into the part that implements the [[plugins/contrib/headinganchors]]'s functionality and the TOC generation itself. That will bring more order into the code and the set of available plugins. --Ivan Z.
+
+---
+
+A patch to make it more like MediaWiki:
+
+<pre>--- headinganchors.pm
++++ headinganchors.pm
+@@ -5,6 +5,7 @@
+ use warnings;
+ use strict;
+ use IkiWiki 2.00;
++use URI::Escape;
+ sub import {
+         hook(type => "sanitize", id => "headinganchors", call => \&headinganchors);
+@@ -14,9 +15,11 @@
+         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;
+ }
+ </pre>
+
+--Changaco