web commit by http://id.inelegant.org/: Enables _Read more_ links for use in blog...
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Mon, 19 Feb 2007 18:14:02 +0000 (18:14 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Mon, 19 Feb 2007 18:14:02 +0000 (18:14 +0000)
doc/patchqueue/morelink-plugin.mdwn [new file with mode: 0644]

diff --git a/doc/patchqueue/morelink-plugin.mdwn b/doc/patchqueue/morelink-plugin.mdwn
new file mode 100644 (file)
index 0000000..02d2032
--- /dev/null
@@ -0,0 +1,37 @@
+Enables _Read more_ links for use in blog posts. Adds a config option for customising the anchor text.
+
+    Index: IkiWiki/Plugin/morelink.pm
+    ===================================================================
+    --- IkiWiki/Plugin/morelink.pm  (revision 0)
+    +++ IkiWiki/Plugin/morelink.pm  (revision 0)
+    @@ -0,0 +1,30 @@
+    +#!/usr/bin/perl
+    +package IkiWiki::Plugin::morelink;
+    +
+    +use warnings;
+    +use strict;
+    +use IkiWiki;
+    +
+    +my $linktext = 'Read more';
+    +
+    +sub import { #{{{
+    +    hook(type => "checkconfig", id => "more", call => \&checkconfig);
+    +    hook(type => "preprocess",  id => "more", call => \&preprocess);
+    +} # }}}
+    +
+    +sub checkconfig () { #{{{
+    +    $linktext = $config{morelink_text} || $linktext;
+    +} #}}}
+    +
+    +sub preprocess (@) { #{{{
+    +       my %args = @_;
+    +    
+    +    if ($args{page} ne $args{destpage}) {
+    +         return "\n".htmllink($args{page}, $args{destpage}, $args{page}.'#more', 0, 0, $linktext);
+    +    }
+    +       else                                {
+    +        return "<a name='more'></a>".$args{text};
+    +    }
+    +}
+    +
+    +1