rename ikiwiki-prefix-directives into ikiwiki-transition

If we have transitions of this sort in the future, this program will
hopefully be used to handle them too.
master
Joey Hess 2008-01-30 17:22:59 -05:00
parent 4c18058dfb
commit 61ffa4a816
5 changed files with 58 additions and 36 deletions

View File

@ -35,7 +35,7 @@ extra_build: ikiwiki.out
./mdwn2man ikiwiki 1 doc/usage.mdwn > ikiwiki.man
./mdwn2man ikiwiki-mass-rebuild 8 doc/ikiwiki-mass-rebuild.mdwn > ikiwiki-mass-rebuild.man
./mdwn2man ikiwiki-makerepo 1 doc/ikiwiki-makerepo.mdwn > ikiwiki-makerepo.man
./mdwn2man ikiwiki-prefix-directives 1 doc/ikiwiki-prefix-directives.mdwn > ikiwiki-prefix-directives.man
./mdwn2man ikiwiki-transition 1 doc/ikiwiki-transition.mdwn > ikiwiki-transition.man
./mdwn2man ikiwiki-update-wikilist 1 doc/ikiwiki-update-wikilist.mdwn > ikiwiki-update-wikilist.man
$(MAKE) -C po
if [ "$$PROFILE" = 1 ]; then dprofpp; fi
@ -68,7 +68,7 @@ extra_install:
install -d $(DESTDIR)$(PREFIX)/share/man/man1
install -m 644 ikiwiki.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki.1
install -m 644 ikiwiki-makerepo.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki-makerepo.1
install -m 644 ikiwiki-prefix-directives.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki-prefix-directives.1
install -m 644 ikiwiki-transition.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki-transition.1
install -m 644 ikiwiki-update-wikilist.man $(DESTDIR)$(PREFIX)/share/man/man1/ikiwiki-update-wikilist.1
install -d $(DESTDIR)$(PREFIX)/share/man/man8
@ -82,7 +82,7 @@ extra_install:
install -d $(DESTDIR)$(PREFIX)/bin
install ikiwiki.out $(DESTDIR)$(PREFIX)/bin/ikiwiki
install ikiwiki-makerepo ikiwiki-prefix-directives ikiwiki-update-wikilist $(DESTDIR)$(PREFIX)/bin/
install ikiwiki-makerepo ikiwiki-transition ikiwiki-update-wikilist $(DESTDIR)$(PREFIX)/bin/
$(MAKE) -C po install DESTDIR=$(DESTDIR) PREFIX=$(PREFIX)
}

4
debian/NEWS vendored
View File

@ -18,10 +18,10 @@ ikiwiki (2.21) unstable; urgency=low
in their setup files.
To convert your wiki to the new syntax, ikiwiki provides a new script
ikiwiki-prefix-directives. It will convert preprocessor directives in
ikiwiki-transition. It will convert preprocessor directives in
all files given on the command line. To convert an entire wiki:
find wikidir/ -type f -name '*.mdwn' -print0 | xargs -0 ikiwiki-prefix-directives
find wikidir/ -type f -name '*.mdwn' -print0 | xargs -0 ikiwiki-transition prefix_directives
Even with prefix_directives disabled, ikiwiki now allows an optional '!'
prefix on preprocessor directives (but still requires a space). Thus, a

View File

@ -1,26 +0,0 @@
# NAME
ikiwiki-prefix-directives - convert ikiwiki pages to prefixed directive syntax
# SYNOPSIS
ikiwiki-prefix-directives page.mdwn...
# DESCRIPTION
`ikiwiki-prefix-directives` converts an ikiwiki page from the old
preprocessor directive syntax, requiring a space, to the new syntax,
prefixed by '!'.
Preprocessor directives which already use the new syntax will remain
unchanged.
Note that if the page contains wiki links with spaces, which some
older versions of ikiwiki accepted, ikiwiki-prefix-directives will
treat these as preprocessor directives and convert them.
# AUTHOR
Josh Triplett <josh@freedesktop.org>
Warning: this page is automatically made into ikiwiki-prefix-directives's man page, edit with care

View File

@ -0,0 +1,29 @@
# NAME
ikiwiki-transition - transition ikiwiki pages to new syntaxes
# SYNOPSIS
ikiwiki-transition prefix_directives page.mdwn...
# DESCRIPTION
`ikiwiki-transition` aids in converting ikiwiki pages when
there's a major change in ikiwiki syntax.
Currently only one such transition is handled, the `prefix_directives` mode
converts an ikiwiki page from the old preprocessor directive syntax,
requiring a space, to the new syntax, prefixed by '!'.
Preprocessor directives which already use the new syntax will remain
unchanged.
Note that if the page contains wiki links with spaces, which some
older versions of ikiwiki accepted, ikiwiki-prefix-directives will
treat these as preprocessor directives and convert them.
# AUTHOR
Josh Triplett <josh@freedesktop.org>
Warning: this page is automatically made into ikiwiki-transition's man page, edit with care

View File

@ -2,8 +2,6 @@
use warnings;
use strict;
undef $/; # process whole files at once
my $regex = qr{
(\\?) # 1: escape?
\[\[(!?) # directive open; 2: optional prefix
@ -41,7 +39,28 @@ sub handle_directive {
return "[[!${directive}${args}]]"
}
while (<>) {
s{$regex}{handle_directive($1, $2, $3, $4)}eg;
print;
sub prefix_directives {
$/=undef; # process whole files at once
while (<>) {
s{$regex}{handle_directive($1, $2, $3, $4)}eg;
print;
}
}
sub usage {
print STDERR "Usage: ikiwiki-transition type file ...\n";
print STDERR "Currently supported transition types:\n";
print STDERR " prefix_directives\n";
exit 1;
}
usage() unless @ARGV;
my $mode=shift;
if ($mode eq 'prefix_directives') {
prefix_directives(@ARGV);
}
else {
usage();
}