From 61ffa4a81653bc499abb358244dba102323abc99 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 30 Jan 2008 17:22:59 -0500 Subject: [PATCH] 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. --- Makefile.PL | 6 ++-- debian/NEWS | 4 +-- doc/ikiwiki-prefix-directives.mdwn | 26 ----------------- doc/ikiwiki-transition.mdwn | 29 +++++++++++++++++++ ...ki-prefix-directives => ikiwiki-transition | 29 +++++++++++++++---- 5 files changed, 58 insertions(+), 36 deletions(-) delete mode 100644 doc/ikiwiki-prefix-directives.mdwn create mode 100644 doc/ikiwiki-transition.mdwn rename ikiwiki-prefix-directives => ikiwiki-transition (65%) diff --git a/Makefile.PL b/Makefile.PL index 3148db2ac..7608d373c 100755 --- a/Makefile.PL +++ b/Makefile.PL @@ -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) } diff --git a/debian/NEWS b/debian/NEWS index 461a81977..eefc12acb 100644 --- a/debian/NEWS +++ b/debian/NEWS @@ -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 diff --git a/doc/ikiwiki-prefix-directives.mdwn b/doc/ikiwiki-prefix-directives.mdwn deleted file mode 100644 index df4b88b1c..000000000 --- a/doc/ikiwiki-prefix-directives.mdwn +++ /dev/null @@ -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 - -Warning: this page is automatically made into ikiwiki-prefix-directives's man page, edit with care diff --git a/doc/ikiwiki-transition.mdwn b/doc/ikiwiki-transition.mdwn new file mode 100644 index 000000000..f61e4ffd5 --- /dev/null +++ b/doc/ikiwiki-transition.mdwn @@ -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 + +Warning: this page is automatically made into ikiwiki-transition's man page, edit with care diff --git a/ikiwiki-prefix-directives b/ikiwiki-transition similarity index 65% rename from ikiwiki-prefix-directives rename to ikiwiki-transition index f14fe339f..1fd23cec5 100755 --- a/ikiwiki-prefix-directives +++ b/ikiwiki-transition @@ -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(); } -- 2.26.2