» » » » Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)


Авторские права

Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)

Здесь можно скачать бесплатно "Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)" в формате fb2, epub, txt, doc, pdf. Жанр: Прочая околокомпьтерная литература. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)
Рейтинг:
Название:
Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

Описание книги "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)"

Описание и краткое содержание "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)" читать бесплатно онлайн.



Книга предназначена для пользователей, желающих самостоятельно создавать и редактировать электронные книги в популярном формате FictionBook. Подробно описан сам формат FB и программные средства, предназначенные для работы с ним.






# но уже с мая 2007 в тексте могут попадаться дополнительные тэги, мешающие правильной конвертации

# хотя все это касается, в основном, журнала "Хакер" ("Хакер-спец").

# "Мобильные компьютеры", к примеру, по-прежнему, как шли, так и идут в старом формате

# да и чтобы обрабатывать журналы, сделанные до ноября 2003, достаточно подправить ключевые фразы

#

# запускать из директории, где находится файл-оглавление журнала (index.htm)

# запуск: ruby ws_j_cnv.rb

#

# считываем файл-оглавление в строку

wfile=File.open("index.htm")

ltext=wfile.readlines.to_s

wfile.close

# выгрызаем заголовок

fbtitle=/<SPAN CLASS="titleSet">(.+)<font color="#FF0000">(#\d{1,3})<\/font>(.+)<\/SPAN>/.match(ltext).captures

# выгрызаем ссылки на статьи и разделители

filtr=/<SPAN CLASS="minSet">(.+)<\/SPAN>|<a href="(\d{3}\/\d.htm)">(.+)<\/a>/

lmas = ltext.grep(filtr)

# начинаем формировать выходной текст

outtext="<title><p>"+fbtitle[0]+fbtitle[1]+fbtitle[2]+"</p></title>\n"

# начинаем формировать аннотацию

annotation="<p>Содержание номера:</p>\n"

# флажок открытой секции раздела

flagSect=false

# прокручиваем список ссылок

lmas.each do |line|

  if line.include? "SPAN" then     # ССЫЛКА ИЛИ РАЗДЕЛИТЕЛЬ?

    if flagSect then outtext=outtext+"</section>\n" end # РАЗДЕЛИТЕЛЬ. Секцию закрывать надо?

    /<SPAN CLASS="minSet">(.+)<\/SPAN>/.match(line) # выгрызаем разделитель...

    outtext=outtext+"<section>\n<title><p>"+$1+"</p></title>\n" # открываем секцию раздела

    annotation=annotation+"<p>"+$1+":</p>\n" # и дополняем аннотацию

    flagSect=true # секция осталась открыта...

  else # НЕ-ЕТ, ВСЕ-ТАКИ ССЫЛКА...

    filtr.match(line)

    pathf = $2 # берем путь к первому файлу статьи...

    annotation=annotation+"<p>"+(149).chr+" "+$3+"</p>\n" # дополняем аннотацию...

    puts pathf[0..2] # это чтобы не скучно было ждать...

    outtext=outtext+"<section>\n" # открыли секцию...

    while File::exists?(pathf) do # обрабатываем статью

      # считали файлик в текстовую строку...

      wfile=File.open(pathf)

      wtext=wfile.readlines.to_s

      wfile.close

      wtext[/<html>.+?<\/p>/m]="" # чик! головка...

      wtext[/<center>.+<\/html>/m]="" # чик! хвостик...

      # заголовок статьи оставлять?

      wtext = pathf[4,2].to_i == 1 ? wtext.sub(/.*\n(.*\n.*\n).*\n.*\n/,' \1') : wtext.sub(/.*\n.*\n.*\n.*\n.*\n/,' \1')

      outtext=outtext+wtext  # оставшийся текст - к основному массиву

      # модифицируем имя файла

      if pathf[4,2].to_i >= 10

        pathf[4,2] = (pathf[4,2].to_i + 1).to_s

      else

        pathf[4] = (pathf[4,2].to_i + 1).to_s

      end

    end # конец цикла

    outtext=outtext+"</section>\n" # закрываем секцию

  end # усе. статью оформили...

end # все статьи собрали в одну строку...

# модифицируем выходной текст под FB2

outtext.gsub!("<p><big><big><big><strong>","<title><p>")

outtext.gsub!("</strong></big></big></big></p>","</p></title>")

outtext.gsub!("<p><big><strong>","<epigraph><p>")

outtext.gsub!("</strong></big></p>","</p></epigraph>")

outtext.gsub!("&nbsp;",(160).chr)

outtext.gsub!(/&(?!lt;|gt;)/,"&amp;")

annotation.gsub!(/&(?!lt;|gt;)/,"&amp;")

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\/a\x9B/) {|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>\n"+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>\n"+outtext

if flagSect then outtext=outtext+"</section>" end # если надо, закроем последнюю секцию раздела

outtext=outtext+"</body>\n</FictionBook>\n" # добавляем хвост

# в имени выходного файла не должно быть двоеточия

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 от «ЛитРес».

===============================

Попутно в систему будет установлено пару библиотек, позволяющих видеть свойства книг FB2 в Проводнике и, щелкнув правой клавишей мыши, производить их верификацию прямо из Проводника.

Наконец, все нужные компоненты закачаны, программа установлена. Можно приступать к работе.

§ 4.2 Описание функций и основные приемы работы

Как следует из названия, FB Editor позволяет редактировать файлы в формате FB2. Довольно скромный набор функций частично компенсируется возможностью прямого редактирования XML-файла книги.

Механизм работы редактора не так прост, как может показаться на первый взгляд.  Кроме непосредственно exe-файла существуют еще два Java-скрипта, с помощью которых реализована часть функций редактирования. При WYSIWYG-редактировании контент книги преобразуется в динамический HTML, с которым и работают основные и дополнительные Java-скрипты.

После запуска FictionBook Editor появляется рабочее окно.

Вверху находится стандартное меню и панель инструментов. Под ними располагается панель линков, с помощью которой можно присваивать имена (метки) элементам книги, а также делать ссылки и сноски.

Большую часть рабочего окна занимает главное окно редактирования текста. Оно имеет три режима: редактирование описания книги, редактирование текста книги в режиме WYSIWYG, и в режиме «исходника», когда видны все тэги и настоящая структура файла.

Слева от главного окна находится панель Document Tree, в котром отображается древовидная структура документа. С помощью ее можно быстро перейти в нужный элемент книги.

И, внизу, служебная строка. Там выводится структура текущего редактируемого элемента (например: body/section/p) или сообщения валидатора.

Пройдемся по пунктам меню.

В меню File, кроме стандартных New, Open, Save, есть команда Validate (F8). При вызове ее документ проверяется на соответствие спецификации schema. Если при этом были обнаружены ошибки, то программа автоматически переходит в режим редактирования исходника (Source), устанавливая курсор на 1–2 строки ниже «проблемной» строки.

Маленькое замечание по поводу сохранения файла. Пункт Save предлагает довольно большой выбор кодировок. Но при всем богатстве выбора, альтернатива сводится к двум вариантам: utf-8 и windows-1251.

Cчитается, что UTF-8 обеспечивает книге бОльшую кроссплатформеннность, нежели windows-1251, но, при этом, архив с книгой «весит» заметно больше. Процентов этак на 10–15.


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)"

Книги похожие на "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора Михаил Кондратович

Михаил Кондратович - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Отзывы о "Михаил Кондратович - Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)"

Отзывы читателей о книге "Создание электронных книг в формате FictionBook 2.1: практическое руководство (beta 4)", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.