#!/usr/bin/perl # # Author: Tomi Ollila # License: same as notmuch # This program is used to split NEWS file to separate (mdwn) files # for notmuch wiki. Example run: # # $ ./devel/news2wiki.pl NEWS ../notmuch-wiki/news # # In case taken into more generic use, modify these comments and examples. use strict; use warnings; unless (@ARGV == 2) { warn "\n$0 \n\n"; warn "Example: ./devel/news2wiki.pl NEWS ../notmuch-wiki/news\n\n"; exit 1; } die "'$ARGV[0]': no such file\n" unless -f $ARGV[0]; die "'$ARGV[1]': no such directory\n" unless -d $ARGV[1]; open I, '<', $ARGV[0] or die "Cannot open '$ARGV[0]': $!\n"; open O, '>', '/dev/null' or die $!; my @emptylines = (); my $cln; print "\nWriting to $ARGV[1]:\n"; while () { warn "$ARGV[0]:$.: tab(s) in line!\n" if /\t/; warn "$ARGV[0]:$.: trailing whitespace\n" if /\s\s$/; if (/^Notmuch\s+(\S+)\s+\((\d\d\d\d-\d\d-\d\d|UNRELEASED)\)\s*$/) { # open O... autocloses previously opened file. open O, '>', "$ARGV[1]/release-$1.mdwn" or die $!; print "+ release-$1.mdwn...\n"; print O "[[!meta date=\"$2\"]]\n\n"; @emptylines = (); } last if /^