add theme plugin
parent
a748f283ac
commit
062ed44f47
|
@ -0,0 +1,37 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
package IkiWiki::Plugin::theme;
|
||||||
|
|
||||||
|
use warnings;
|
||||||
|
use strict;
|
||||||
|
use IkiWiki 3.00;
|
||||||
|
|
||||||
|
sub import {
|
||||||
|
hook(type => "getsetup", id => "theme", call => \&getsetup);
|
||||||
|
hook(type => "checkconfig", id => "theme", call => \&checkconfig);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub getsetup () {
|
||||||
|
return
|
||||||
|
plugin => {
|
||||||
|
safe => 1,
|
||||||
|
rebuild => 0,
|
||||||
|
section => "web",
|
||||||
|
},
|
||||||
|
theme => {
|
||||||
|
type => "string",
|
||||||
|
example => "actiontabs",
|
||||||
|
description => "name of theme to enable",
|
||||||
|
safe => 1,
|
||||||
|
rebuild => 0,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
my $added=0;
|
||||||
|
sub checkconfig () {
|
||||||
|
if (! $added && exists $config{theme} && $config{theme} =~ /^\w+$/) {
|
||||||
|
add_underlay("themes/".$config{theme});
|
||||||
|
$added=1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
1
|
14
Makefile.PL
14
Makefile.PL
|
@ -78,7 +78,19 @@ underlay_install:
|
||||||
install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive; \
|
install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/directives/ikiwiki/directive; \
|
||||||
fi \
|
fi \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Themes have their style.css appended to the normal one.
|
||||||
|
for theme in themes/*; do \
|
||||||
|
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$theme; \
|
||||||
|
for file in $$theme/*; do \
|
||||||
|
if echo "$$file" | grep -q style.css; then \
|
||||||
|
(cat doc/style.css; cat $$file) >> $(DESTDIR)$(PREFIX)/share/ikiwiki/$$theme/style.css; \
|
||||||
|
elif [ -f "$$file" ]; then \
|
||||||
|
install -m 644 $$file $(DESTDIR)$(PREFIX)/share/ikiwiki/$$file; \
|
||||||
|
fi \
|
||||||
|
done; \
|
||||||
|
done
|
||||||
|
|
||||||
extra_install: underlay_install
|
extra_install: underlay_install
|
||||||
# Install example sites.
|
# Install example sites.
|
||||||
for dir in `cd doc/examples; find . -type d ! -regex '.*\.svn.*'`; do \
|
for dir in `cd doc/examples; find . -type d ! -regex '.*\.svn.*'`; do \
|
||||||
|
|
|
@ -22,6 +22,7 @@ ikiwiki (3.20100611) UNRELEASED; urgency=low
|
||||||
* git: Gix --gettime to properly support utf8 filenames.
|
* git: Gix --gettime to properly support utf8 filenames.
|
||||||
* attachment: Support Windows paths when taking basename of client-supplied
|
* attachment: Support Windows paths when taking basename of client-supplied
|
||||||
file name.
|
file name.
|
||||||
|
* theme: New plugin, allows easily theming a site via the underlay.
|
||||||
|
|
||||||
-- Joey Hess <joeyh@debian.org> Fri, 11 Jun 2010 13:39:15 -0400
|
-- Joey Hess <joeyh@debian.org> Fri, 11 Jun 2010 13:39:15 -0400
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
[[!template id=plugin name=theme author="[[Joey]]"]]
|
||||||
|
[[!tag type/web]]
|
||||||
|
|
||||||
|
The theme plugin allows easily applying a theme to your wiki, by
|
||||||
|
configuring the `theme` setting in the setup file with the name of a theme
|
||||||
|
to use. The themes you can choose from are all subdirectories, typically
|
||||||
|
inside `/usr/share/ikiwiki/themes/`.
|
||||||
|
|
||||||
|
A theme provides, via the underlay, an enhanced version of the regular
|
||||||
|
[[style.css]]. This leaves [[local.css]] free for you to further
|
||||||
|
customise. Themes can also provide header and background images.
|
Before Width: | Height: | Size: 165 B After Width: | Height: | Size: 165 B |
Loading…
Reference in New Issue