Add auto-blog.setup
It will set up an ikiwiki instance tuned for use in blogging. As part of this change, move the example sites into /usr/share/ikiwiki so they are available even if docs are not installed.master
parent
5b1f7f293d
commit
6d785d6401
|
@ -73,8 +73,18 @@ sub import (@) {
|
|||
|
||||
print "\n\nSetting up $config{wikiname} ...\n";
|
||||
|
||||
# Set up the repository.
|
||||
# Set up the srcdir.
|
||||
mkpath($config{srcdir}) || die "mkdir $config{srcdir}: $!";
|
||||
# Copy in example wiki.
|
||||
if (exists $config{example}) {
|
||||
# cp -R is POSIX
|
||||
# Another reason not to use -a is so that pages such as blog
|
||||
# posts will not have old creation dates on this new wiki.
|
||||
system("cp -R $IkiWiki::installdir/share/ikiwiki/examples/$config{example}/* $config{srcdir}");
|
||||
delete $config{example};
|
||||
}
|
||||
|
||||
# Set up the repository.
|
||||
delete $config{repository} if ! $config{rcs} || $config{rcs}=~/bzr|mercurial/;
|
||||
if ($config{rcs}) {
|
||||
my @params=($config{rcs}, $config{srcdir});
|
||||
|
|
10
Makefile.PL
10
Makefile.PL
|
@ -70,6 +70,15 @@ extra_install:
|
|||
fi \
|
||||
done
|
||||
|
||||
# Install example sites.
|
||||
for dir in `cd doc/examples; find -type d ! -regex '.*\.svn.*'`; do \
|
||||
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$dir; \
|
||||
done
|
||||
for file in `cd doc/examples; find -type f ! -regex '.*\.svn.*'`; do \
|
||||
cp -aL doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file || \
|
||||
install -m 644 doc/examples/$$file $(DESTDIR)$(PREFIX)/share/ikiwiki/examples/$$file; \
|
||||
done
|
||||
|
||||
for dir in `find templates -follow -type d ! -regex '.*\.svn.*'`; do \
|
||||
install -d $(DESTDIR)$(PREFIX)/share/ikiwiki/$$dir; \
|
||||
for file in `find $$dir -follow -maxdepth 1 -type f`; do \
|
||||
|
@ -111,6 +120,7 @@ extra_install:
|
|||
-install -d $(DESTDIR)/etc/ikiwiki
|
||||
-install -m 0644 wikilist $(DESTDIR)/etc/ikiwiki
|
||||
-install -m 0644 auto.setup $(DESTDIR)/etc/ikiwiki
|
||||
-install -m 0644 auto-blog.setup $(DESTDIR)/etc/ikiwiki
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
#!/usr/bin/perl
|
||||
# Ikiwiki setup automator -- blog version.
|
||||
#
|
||||
# This setup file causes ikiwiki to create a wiki, containing a blog,
|
||||
# check it into revision control, generate a setup file for the new
|
||||
# wiki, and set everything up.
|
||||
#
|
||||
# Just run: ikiwiki -setup /etc/ikiwiki/auto-blog.setup
|
||||
#
|
||||
# By default, it asks a few questions, and confines itself to the user's home
|
||||
# directory. You can edit it to change what it asks questions about, or to
|
||||
# modify the values to use site-specific settings.
|
||||
|
||||
require IkiWiki::Setup::Automator;
|
||||
|
||||
our $wikiname=IkiWiki::Setup::Automator::ask(
|
||||
gettext("What will the blog be named?"), gettext("blog"));
|
||||
our $rcs=IkiWiki::Setup::Automator::ask(
|
||||
gettext("What revision control system to use?"), "git");
|
||||
our $admin=IkiWiki::Setup::Automator::ask(
|
||||
gettext("What wiki user (or openid) will be admin?"), $ENV{USER});
|
||||
use Net::Domain q{hostfqdn};
|
||||
our $domain=hostfqdn() || ikiwiki::setup::automator::ask(
|
||||
gettext("What is the domain name of the web server?"), "");
|
||||
|
||||
IkiWiki::Setup::Automator->import(
|
||||
wikiname => $wikiname,
|
||||
adminuser => [$admin],
|
||||
rcs => $rcs,
|
||||
srcdir => "$ENV{HOME}/$wikiname",
|
||||
destdir => "$ENV{HOME}/public_html/$wikiname",
|
||||
repository => "$ENV{HOME}/$wikiname.".($rcs eq "monotone" ? "mtn" : $rcs),
|
||||
dumpsetup => "$ENV{HOME}/$wikiname.setup",
|
||||
url => "http://$domain/~$ENV{USER}/$wikiname",
|
||||
cgiurl => "http://$domain/~$ENV{USER}/$wikiname/ikiwiki.cgi",
|
||||
cgi_wrapper => "$ENV{HOME}/public_html/$wikiname/ikiwiki.cgi",
|
||||
adminemail => "$ENV{USER}\@$domain",
|
||||
add_plugins => [qw{goodstuff websetup comments}],
|
||||
disable_plugins => [qw{}],
|
||||
libdir => "$ENV{HOME}/.ikiwiki",
|
||||
rss => 1,
|
||||
atom => 1,
|
||||
syslog => 1,
|
||||
hardlink => 1,
|
||||
|
||||
example => "blog",
|
||||
comments_pagespec => "posts/* and !*/Discussion",
|
||||
discussion => 0,
|
||||
)
|
|
@ -17,7 +17,7 @@ our $wikiname=IkiWiki::Setup::Automator::ask(
|
|||
our $rcs=IkiWiki::Setup::Automator::ask(
|
||||
gettext("What revision control system to use?"), "git");
|
||||
our $admin=IkiWiki::Setup::Automator::ask(
|
||||
gettext("What wiki user (or openid) will be wiki admin?"), $ENV{USER});
|
||||
gettext("What wiki user (or openid) will be admin?"), $ENV{USER});
|
||||
use Net::Domain q{hostfqdn};
|
||||
our $domain=hostfqdn() || ikiwiki::setup::automator::ask(
|
||||
gettext("What is the domain name of the web server?"), "");
|
||||
|
|
|
@ -16,6 +16,8 @@ ikiwiki (3.02) UNRELEASED; urgency=low
|
|||
the nostromo web server.
|
||||
* Recommend libterm-readline-gnu-perl since that makes auto.setup
|
||||
behave better.
|
||||
* Add auto-blog.setup, which will set up an ikiwiki instance tuned for use
|
||||
in blogging.
|
||||
|
||||
-- Joey Hess <joeyh@debian.org> Tue, 06 Jan 2009 15:02:52 -0500
|
||||
|
||||
|
|
|
@ -14,3 +14,7 @@ if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 1.2; then
|
|||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "$1" = upgrade ] && dpkg --compare-versions "$2" lt 3.02; then
|
||||
# replaced by symlink
|
||||
rm -rf /usr/share/doc/ikiwiki/examples
|
||||
fi
|
||||
|
|
|
@ -25,8 +25,9 @@ binary-indep: build
|
|||
dh_clean -k
|
||||
$(MAKE) pure_install DESTDIR=$(shell pwd)/debian/ikiwiki
|
||||
dh_installdocs html
|
||||
dh_installexamples doc/examples/*
|
||||
dh_link usr/share/ikiwiki/examples usr/share/doc/ikiwiki/examples
|
||||
dh_link usr/share/common-licenses/GPL-2 usr/share/doc/ikiwiki/html/GPL
|
||||
dh_installexamples
|
||||
dh_installchangelogs
|
||||
dh_compress -X html
|
||||
dh_fixperms
|
||||
|
|
Loading…
Reference in New Issue