#!/usr/bin/env perl

use strict;
use warnings;

use open qw(:std :utf8);
use feature 'unicode_strings';
use utf8;

my $text;
if (@ARGV) {
	my $file = shift @ARGV;
	open(my $fh, '<', $file) or die $!;
	local $/;
	$text = <$fh>;
	close $fh;
} else {
	local $/;
	$text = <>;
}

my $ficha    = "";
my $num_tomo = "";
my $titulo   = "";
my $tit_orig = "";
my $version  = "";

if ($text =~ /<span class="top-title">(.*)<\/span>/) {
	$titulo = $1;
}
if ($text =~ /<span class="top-tomo">Tom?[e|o]\s+(\d+)<\/span>/) {
	$num_tomo = $1;
}
if ($text =~ /lang="fr"/ and $text =~ /<p>Titre\ original.*\n<em>(.*)<\/em>\./)
{
	$tit_orig = $1;
}
if ($text =~ /Versi.n\s+d.+\s+(\d{2}\/\d{2}\/\d{2})\./) {
	$version = $1;
}

if ($text =~ /lang="es"/) {
	$ficha = <<EOS;
<h2 class="Ch" id="s0">Ficha del tomo : $titulo</h2>
<p style="font-style:italic;">
Tomo $num_tomo, $titulo, Ciclo de Shaedra —versión del $version. Puedes encontrar
la última versión en <a
href="http://bardinflor.perso.aquilenet.fr/shaedra/shaedra-es">http://bardinflor.perso.aquilenet.fr/shaedra/shaedra-es</a></p>
<div style="font-style:italic;">
<p><strong>Licencia</strong>.
Obra artística bajo licencia creative commons by-sa,
<a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>.</p>
<p>Redacción realizada con frundis y Vim, por Marina Fernández de Retana
(<span>kaoseto AR bardinflor P perso P aquilenet P fr</span>).</p>
<p>Proyecto iniciado en el 2012.</p></div>
<div>
<div style="text-align:center;">
<p><strong>Tomos del Ciclo de Shaedra</strong></p>
</div>
<ol>
<li>La llama de Ató</li>
<li>El relámpago de la rabia</li>
<li>La música del fuego</li>
<li>La puerta de los demonios</li>
<li>La historia de la dragona huérfana</li>
<li>Como el viento</li>
<li>El alma Sin Nombre</li>
<li>Nubes de hielo</li>
<li>Oscuridades</li>
<li><em>y seguirá…</em></li>
</ol>
</div>
<!--endficha-->
EOS
} elsif ($text =~ /lang="fr"/) {
	$ficha = <<EOS;
<h2 class="Ch" id="s0">Fiche du tome : $titulo</h2>
<p style="font-style:italic;">
Tome $num_tomo, $titulo, Cycle de Shaedra —version du $version. La
dernière version peut se trouver sur <a
href="http://bardinflor.perso.aquilenet.fr/shaedra">http://bardinflor.perso.aquilenet.fr/shaedra</a></p>
<div style="font-style:italic;">
<p><strong>Licence</strong>.
Œuvre artistique sous licence creative commons by-sa,
<a href="http://creativecommons.org/licenses/by-sa/3.0/">http://creativecommons.org/licenses/by-sa/3.0/</a>.</p>
<p style="font-style:italic;">Rédaction réalisée grâce à frundis et Vim, par Marina
Fernández de Retana (<span>kaoseto AR bardinflor P perso P aquilenet P fr</span>).</p>
<p>Titre original :
<em>$tit_orig</em> (de Kaoseto).
Traduction de l’œuvre originale en espagnol réalisée en majeure partie par
Tenisejo en étroite collaboration avec l’auteur.</p>
<p>Projet commencé en 2012.</p>
</div>
<div>
<div style="text-align:center;">
<p><strong>Tomes du Cycle de Shaedra</strong></p>
</div>
<ol>
<li>La flamme d’Ato</li>
<li>L’éclair de la rage</li>
<li>La musique du feu</li>
<li>La porte des démons</li>
<li>L’histoire de la dragonne orpheline</li>
<li>Comme le vent</li>
<li>L’esprit Sans Nom</li>
<li>Nuages de glace</li>
<li>Obscurités</li>
<li><em>au prochain numéro…</em></li>
</ol>
</div>
<!--endficha-->
EOS
} else {
	print "La lengua no es ni *es* ni *fr*.";
}

# useless blank lines
$text =~ s|<div class="salto">|<div style="text-align:center;">|g;
$text =~ s|<div class="center">|<div style="text-align:center;">|g;
$text =~ s|</div><p>|</div>\n<p>|g;
$text =~ s| $||g;
$text =~ s|<div\s+class="verse">|<div style="font-style:italic;margin-left:5px">|mg;

$text =~ s|<h1\s+id="toc-title"\s+
        class="toc-title">
        (.*)
        </h1>|<h2 id="toc-title" class="toc-title">$1</h2>|xmg;
$text =~ s|<h1\s+class="Ch"\s+(.*?)>(.*?)</h1>|<h2 class="Ch" $1>$2</h2>|smg;
$text =~ s|<h2\s+class="Sh"\s+(.*?)>(.*?)</h2>|<h3 class="Sh" $1>$2</h3>|smg;

$text =~ s|<h1\s+class="Pt"\s+(.*?)>(.*?)</h1>|<h2 class="Pt" $1>$2</h2>|smg;
$text =~ s|<body>|<body>\n$ficha|mg;
$text =~ s|<!--endficha-->.*<!--endlicence-->||sg;

if ($text =~ /lang="es"/) {
	$text =~
	    s|<div\s+class="copyright">
            .*
            <\/body>|<hr /><div>Fin del tomo $num_tomo, <em>$titulo</em>, <a href="http://bardinflor.perso.aquilenet.fr/shaedra/shaedra-es">página del proyecto</a></div></body>|smx;
}
if ($text =~ /lang="fr"/) {
	$text =~
	    s|<div\s+class="copyright">
            .*
            <\/body>|<hr /><div>Fin du tome $num_tomo, <em>$titulo</em>, <a href="http://bardinflor.perso.aquilenet.fr/shaedra/shaedra-fr">page du projet</a></div></body>|smx;
}
# $text =~ s|<img\s+
#     src="/img-hareka/tomos/
#     (.*)"
#     \s+alt=".*"\s+/>|<img src="../img/$1" alt="$1" style="width:500px;height:300px;" />|xmg;

$text =~ s|'|’|g;
$text =~ s|&apos;|’|g;
$text =~ s/’ /’ /mg;
$text =~ s|\n</p>|</p>|xmg;
$text =~ s|\n</li>|</li>|xmg;
$text =~ s/\n\s*\n+/\n/g;
$text =~ s/[ \t]*$//mg;
$text =~ s/^[ \t]*//mg;

print $text;

