#!/usr/bin/perl
use HTML::WikiConverter;
use File::Basename;
use File::Copy;
my $wc = new HTML::WikiConverter( dialect => 'DokuWiki' );
$path = "/home/cplus/Anleitungen";
$txtpath = "/var/www/dokuwiki/data/pages";
$imgpath = "/var/www/dokuwiki/data/media";
@dirs = <$path/*>;
foreach $dir (@dirs) {
@files = <$dir/*>;
foreach $file (@files) {
$oldfile = $file;
$file =~ s/\s+/_/g;
$file =~ s/\-/_/g;
$file =~ s/\__/_/g;
$file =~ s/\__/_/g;
$dirname = dirname($file);
$basename = basename($file);
$basename = lc $basename;
$file = "$dirname/$basename";
rename($oldfile,$file);
if ( $file=~ /docx*$/ ) {
system("jodconverter", "-f", "html", "$file");
}
if ( $file=~ /pdf$/ ) {
system("pdftohtml", "$file");
}
$htmfile = $file;
$htmfile =~ s/\..*//;
$htmfile = "$htmfile.html";
$newfile = $file;
$newfile =~ s/\..*//;
$newfile = "$newfile.txt";
if ( -e $htmfile ) {
open (MYFILE, ">>$newfile");
$input = $wc->html2wiki( file => $htmfile );
print MYFILE "$input";
close (MYFILE);
}
}
$txtdirpath=$txtpath.'/'.basename($dir);
if ( ! -e $txtdirpath) {
system("mkdir", "$txtdirpath");
}
@txt = <$dirname/*.txt>;
foreach $txt (@txt) {
copy($txt, $txtdirpath);
}
$imgdirpath=$imgpath.'/'.basename($dir);
if ( ! -e $imgdirpath) {
system("mkdir", "$imgdirpath");
}
@img = <$dirname/*.png>;
foreach $img (@img) {
copy($img, $imgdirpath);
}
@img = <$dirname/*.jpg>;
foreach $img (@img) {
copy($img, $imgdirpath);
}
}
system ("chown", "-R", "www-data:www-data", "/var/www/dokuwiki");