outtext.gsub!('<p><big><strong>','<epigraph><p>')
outtext.gsub!('</strong></big></p>','</p></epigraph>')
outtext.gsub!(' ',(160).chr)
outtext.gsub!(/&(?!lt;|gt;)/,'&')
annotation.gsub!(/&(?!lt;|gt;)/,'&')
outtext.gsub!('<br>','</p><p>')
outtext.gsub!('<br>','</p><p>')
# чистим мусор
outtext.gsub!(/x01|x12|x18|x1E/, '?') # удаляем непечатные символы
# корректируем неправильное использование '<' и '>'
# заодно прибиваем ненужные тэги
outtext.gsub!(/(<p>)(.*)(</p>)/) do |line|
subl1,subl2,subl3 = $1,$2,$3
subl2.gsub!('<','x8b')
subl2.gsub!('>','x9b')
line=subl1+subl2+subl3
end
# а линки выделим жирным
outtext.gsub!(/x8Ba href.+?x9B(.*?)x8B/ax9B/) {|line| line='<strong>'+$1+'</strong>'}
# компьютерное тире - в типографское
outtext.gsub!(/s-s/,' x97 ')
outtext.gsub!('<p>-', '<p>x97')
annotation.gsub!(/s-s/,' x97 ')
# добавляем заголовок
outtext='<?xml version='1.0' encoding='windows-1251'?>
<FictionBook xmlns='http://www.gribuser.ru/xml/fictionbook/2.0' xmlns:l= 'http://www.w3.org/1999/xlink'>
<description>
<title-info>
<genre>nonfiction</genre>
<author>
<nickname>Редакция журнала</nickname>
</author>
<book-title>'+fbtitle[0]+fbtitle[1]+fbtitle[2]+'</book-title>
<annotation> '+annotation+'</annotation>
<date>'+fbtitle[2][-7,4]+'</date>
<lang>ru</lang>
<sequence name=''+fbtitle[0]+'' number=''+fbtitle[1][1,2]+''/>
</title-info>
<document-info>
<program-used>Yuzich Ruby script (WiseSoft -> FB2)</program-used>
<src-url>http://www.wisesoft.ru</src-url>
</document-info>
</description>
<body> '+outtext
if flagSect then outtext=outtext+'</section>' end # если надо, закроем последнюю секцию раздела
outtext=outtext+'</body> </FictionBook> ' # добавляем хвост
# в имени выходного файла не должно быть двоеточия
fbtitle[0].gsub!(':','-')
# и типографские кавычки - это не есть хорошо
fbtitle[0].gsub!((171).chr,'`')
fbtitle[0].gsub!((187).chr,'`')
# сохраняем выходной файл
wfile = File.new(fbtitle[0]+fbtitle[1]+'.fb2','w')
wfile.puts outtext
wfile.close
Вам останется только загрузить готовый FB2-файл в FB Editor и доделать, то, с чем не справился скрипт: вставить обложку, разметить подзаголовки и цитаты, подправить эпиграфы. Но это не должно отнять много времени. Основную часть работы проделал скрипт.
Рабочие версии этих скриптов вы можете взять с моего сайта http://yuzzich.narod.ru.
Часть IV
Редактирование книг. FB Editor
Как уже говорилось, файл книги, после конвертации, в обязательном порядке требует окончательной доводки.
Для этого существует программа FB Editor, входящая в пакет FB Tools. Разумеется, это далеко не единственное стредство редактирования FB2-книг.
Данное описание соответствует оригинальной версии FB Editor 1.0 от 23 февраля 2005 года.
Автор FB Editor, Михаил Мацнев, не стал утруждать себя написанием help-а, не без основания считая, что разобраться, как работать с программой, можно и без такового.
Однако, судя по количеству вопросов на форумах fictionbook.org и прочих, описание программы все- таки требуется.
§ 4.1 Установка программы
Для работы FB Tools требуется операционная система семейства Windows NT: лучше всего Windows 2000 или Windows XP.
Также понадобится MSXML 4.0 SP2 и Internet Explorer версии не ниже 5.5 и (внимание!) не выше 6.0 SP1.
Скачать MSXML 4.0 можно с официального сайта Micro$oft. При этом проверка Windows на легальность не производится :).
==ВАЖНО========================
Если у вас установлен Internet Explorer 7.0 и выше, ставить FB Editor, не стоит и пытаться — работать не будет. Вам придется воспользоваться альтернативной разработкой — FB Writer или версией FBE от «ЛитРес».
===============================