[[!tags ikiwiki setup perl sar]]
Personalizando Ikiwiki
Decía en la entrega anterior que para crear un wiki completamente personalizado es necesario alterar los parámetros de funcionamiento, y la mejor manera de llevarlo a cabo es usando un archivo de configuración.
El autor, Joey Hess, proporciona un archivo en su web, además de otro junto con el paquete. Se llama ikiwiki.setup, y es un pequeño programa Perl que se le proporciona al programa con una opción especial (--setup).
$ cd /home/victor/work/wiki
$ cp /usr/share/doc/ikiwiki/html/ikiwiki.setup .
$ svn add ikiwiki.setup
Antes de modificarlo vamos a crear un estructura de directorios con los que trabajar:
$ mkdir sources base templates
$ cp /usr/share/ikiwiki/templates/* templates
$ cp /usr/share/ikiwiki/basewiki/style.css base
$ svn add sources base templates
Hemos guardado un copia de las plantillas que utiliza Ikiwiki para tener la opción de personalizar nuestras páginas sin tocar las que vienen con el paquete, así como una hoja de estilo básica con lo que empezar a jugar.
El archivo de configuración
Cambiamos el wiki editando el archivo ikiwiki.setup que ya tenemos, de manera que quede así:
#!/usr/bin/perl
#
# Programa de configuración de ikiwiki; debe usarse con el parámetro --setup,
# y recuerde volver a usarlo cada vez que lo modifique o los cambios no
# tendrán efecto
#
use IkiWiki::Setup::Standard {
wikiname => "Taquiones",
adminuser => [ q(victor) ],
adminemail => q(victor@taquiones.net),
# Rutas físicas y lógicas
srcdir => "/home/victor/work/wiki/sources/",
destdir => "/home/victor/public_html/wiki",
url => "http://localhost/~victor/wiki",
templatedir => "/home/victor/work/wiki/templates",
underlaydir => "/home/victor/work/wiki/base",
# Repositorio
rcs => "svn",
svnrepo => "/home/victor/lib/svn",
svnpath => "trunk",
# Programas auxiliares: wrappers
wrappers => [
],
# ¿ Crear RSS para los cambios en el wiki ?
rss => 1,
# No queremos incluír comentarios en todas las páginas.
discussion => 0,
# Queremos excluir los siguientes tipos de archivo del wiki
exclude => qr/\.(orig|bak)/,
# Formato de fecha y hora
timeformat => '%c',
# Languaje a utilizar (debe ser UTF-8)
locale => 'es_ES.UTF-8',
# Registro de eventos: todo activo por el momento
verbose => 1,
syslog => 0,
# Lista de complementos que queremos activar
add_plugins => [
qw/tag map toc/,
],
};
Quizás lo más destacable es que estamos indicándole
- dónde obtener los archivos fuente del wiki (parámetro srcdir)
- dónde buscar si no encuentra nada en el anterior (parámetro underlaydir)
- dónde dejar el resultado (parámetro destdir) y
- dónde mirar cuando se usen plantillas en algún fuente (parámetro templatedir)
De momento no queremos que cree ningún wrapper, así que dejamos la opción vacía, pero que exista ó no funcionará. Ikiwiki es bastante ligero, tanto como para dar por supuestas algunas cosas, y no se recupera bien de errores como falta de datos en la creación de un wiki. Creo que, acertadamente, el autor asume que existirá cierto nivel de conocimientos en los usuarios de su programa.
Ahora vamos a ponerlo en marcha ...