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



«Ignore line indent (spaces at the line start)» – не считать пробелы в начале сроки признаком абзаца.

«Convert leading '-' to long dash '-' (dialogs)» – конвертировать компьютерный «минус» в начале строки в длинное тире. Ставим галочку, особенно, если конвертируем DOS-текст.

Вторая закладка – «Links», предназначена для настройки обработки html-файлов.

Первый блок – «Images», относится к картинкам, если таковые во входном файле имеются.

Опция «Remove ALL images from the document» убирает вообще все картинки.

«Remove off-site images» – убирает только те картинки, которые располагаются не на сайте, с которого был загружен конкретный html.

«Preserve dynamic images» – не удалять картинки с URL динамического вида, например, счетчики.

Блок «Linked documents»

«Remove external links» – просто убирает линки, ведущие за пределы документа.

Включение опции «Follow links» делает активными все последующие опции.

Теоретически, если исходный текст представлен в виде пачки html-файлов и имеется некий файл-оглавление со ссылками, можно включить эту опцию, открыть файл-оглавление, а остальные программа подстыкует автоматически. На практике это зачастую получается довольно коряво.

«Follow off-site links» – следовать по линкам, ведущим за пределы сайта.

Рядом находится уровень следования (level deep).

«Only follow matching the expression» – следовать только линкам, совпадающим с нижеуказанным выражением.

«Never follow matching the expression» – НЕ следовать линкам, совпадающим с нижеуказанным выражением.

Третья закладка – «RegEXP» – обработка текста с помощью регулярных выражений.

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

«Header detection regular expression» – регулярные выражения, с помощью которых программа может распознавать заголовки.

«Regular expression to run on-load» – регулярные выражения, предназначенные для обработки исходного текста.

Окошко разделено на два столбца. Первый (+new search pattern) предназначен для выражения поиска. Второй (+new replace pattern) – для выражений замены.

Регулярных выражений может быть несколько.

Вот как можно обойти вышеописанный баг с неправильным распознаванием новых абзацев.

в графе «+new search pattern» вводим:

\r\n(\S)


(перевод строки, новая строка, не-пробел).

А в графу «+new replace pattern» вводим:

$1


Здесь не видно, но перед «$1» должен идти пробел. То есть символы перевода строки и новой строки будут заменены на пробел. А само «$1» есть обращение к выражению в скобках в регэкспе поиска. Оно нужно, чтобы сохранить в неприкосновенности не-пробел, который идет сразу после символа новой строки.