diff --git a/IkiWiki/Plugin/underlay.pm b/IkiWiki/Plugin/underlay.pm
new file mode 100644
index 000000000..380d418fb
--- /dev/null
+++ b/IkiWiki/Plugin/underlay.pm
@@ -0,0 +1,40 @@
+#!/usr/bin/perl
+package IkiWiki::Plugin::underlay;
+# Copyright © 2008 Simon McVittie
+# Licensed under the GNU GPL, version 2, or any later version published by the
+# Free Software Foundation
+
+use warnings;
+use strict;
+use IkiWiki 3.00;
+
+sub import {
+ hook(type => "getsetup", id => "underlay", call => \&getsetup);
+ hook(type => "checkconfig", id => "underlay", call => \&checkconfig);
+}
+
+sub getsetup () {
+ return
+ plugin => {
+ safe => 0,
+ rebuild => undef,
+ },
+ add_underlays => {
+ type => "string",
+ default => [],
+ description => "extra underlay directories to add",
+ advanced => 1,
+ safe => 0,
+ rebuild => 1,
+ },
+}
+
+sub checkconfig () {
+ return unless exists $config{add_underlays};
+
+ foreach my $dir (@{$config{add_underlays}}) {
+ add_underlay($dir);
+ }
+}
+
+1;
diff --git a/doc/plugins/contrib/underlay.mdwn b/doc/plugins/contrib/underlay.mdwn
deleted file mode 100644
index 72893c992..000000000
--- a/doc/plugins/contrib/underlay.mdwn
+++ /dev/null
@@ -1,58 +0,0 @@
-[[!template id=plugin name=underlay author="[[Simon_McVittie|smcv]]"]]
-[[!tag type/useful]]
-
-This plugin adds an `add_underlays` option to the `.setup` file.
-Its value is a list of underlay directories whose content is added to the wiki.
-
-Multiple underlays are normally set up automatically by other plugins (for
-instance, the images used by the [[plugins/smiley]] plugin), but they can also be
-used as a way to pull in external files that you don't want in revision control,
-like photos or software releases.
-
-Directories in `add_underlays` should usually be absolute. If relative, they're
-interpreted as relative to the parent directory of the basewiki underlay, which
-is probably not particularly useful in this context.
-
-Please feel free to add this plugin to ikiwiki if it seems like a good
-thing to have. See the 'underlay' branch in my git repository.
-
- #!/usr/bin/perl
- package IkiWiki::Plugin::underlay;
- # Copyright © 2008 Simon McVittie
- # Licensed under the GNU GPL, version 2, or any later version published by the
- # Free Software Foundation
-
- use warnings;
- use strict;
- use IkiWiki 2.00;
-
- sub import {
- hook(type => "getsetup", id => "underlay", call => \&getsetup);
- hook(type => "checkconfig", id => "underlay", call => \&checkconfig);
- }
-
- sub getsetup () {
- return
- plugin => {
- safe => 0,
- rebuild => undef,
- },
- add_underlays => {
- type => "string",
- default => [],
- description => "extra underlay directories to add",
- advanced => 1,
- safe => 0,
- rebuild => 1,
- },
- }
-
- sub checkconfig () {
- return unless exists $config{add_underlays};
-
- foreach my $dir (@{$config{add_underlays}}) {
- add_underlay($dir);
- }
- }
-
- 1;
diff --git a/doc/plugins/underlay.mdwn b/doc/plugins/underlay.mdwn
new file mode 100644
index 000000000..09d096a6e
--- /dev/null
+++ b/doc/plugins/underlay.mdwn
@@ -0,0 +1,14 @@
+[[!template id=plugin name=underlay author="[[Simon_McVittie|smcv]]"]]
+[[!tag type/useful]]
+
+This plugin adds an `add_underlays` option to the `.setup` file.
+Its value is a list of underlay directories whose content is added to the wiki.
+
+Multiple underlays are normally set up automatically by other plugins (for
+instance, the images used by the [[plugins/smiley]] plugin), but they can also be
+used as a way to pull in external files that you don't want in revision control,
+like photos or software releases.
+
+Directories in `add_underlays` should usually be absolute. If relative, they're
+interpreted as relative to the parent directory of the basewiki underlay, which
+is probably not particularly useful in this context.