Вы можете прислать нам новости или сообщить что-то очень важное заполнив форму.

Print Friendly, PDF & Email

ЕСЛИ У ВАС LINUX. ЧАСТЬ 1. ОБРАБОТКА ТЕКСТА

3 февраля, 2008
Два скрипта, которые облегчат Вам обработку текста под Linux системой.

Обработка текста для Rocket eBook

Замечательная онлайновая библиотека www.bestlibrary.ru имеет следующую, не очень приятную особенность. Скачать книгу одним файлом можно только в формате ворда. А у настоящего линуксоида для этого формата есть только одно применение:

/dev/null

🙂

Зато, если кликнуть на ссылку «прочитать», то мы попадаем на первую часть книги (как правило book.html). Сам этот файл нам не интересен, зато в этой же директории всегда лежит файл «book_b.html». В нем есть ссылки на все части книги.

Скрипт bestlib закачивает этот файл, парсирует его и закачивает все остальные куски. Затем он пакует все в один tarball.

Использование:

  • bestlib <URL_of_book.htm_file> [title] [author]

Пример:

Идем на bestlibrary. Выбираем книгу, right click on «прочитать» выбираем «Copy link location» (для Мозиллы). Теперь идем в xterm, набираем bestlib и middle click. Затем набираем имя произведения и автора (если внутри пробелы — в кавычках).

Полученая коммандная строка:

bestlib http://www.bestlibrary.ru/texts/det/donts38/book.html «Uha iz zolotoj rybki» «D. Doncova»

После работы скрипта Получаем файл «Uha_iz_zolotoj_rybki.tgz». Все промежуточные *.html и *.shtml можно удалить. Автоматически они не удаляются.

Теперь переносим этот файл на комп с ракетой, раскрываем в какой-либо директории и импортируем в eLibrarian файл «book_b.html».

Внимание!!! Не забываем кликнуть «Follow links» при импорте!!! Книга готова к употреблению.

Операционная система:

Любой UNIX. Проверено на Linux и Solaris. В Windows (Cygwin) не работает — perl не понимает ключа «-i» 🙁

Требования:

  • wget
  • perl
  • bash (в Линуксе есть всегда)
  • rhtml

eLibrarian прекрасно работает с html. Но, «All htmls are equal, but some htmls are more equal than others». Особенно это относится к Мошкову — там вообще html очень странный. То есть, он вроде как и html, но внутри сидит plain text, окруженный тагами PRE. И текст этот выровнен под компьютерный монитор, но никак не под ракету.

Очень продвинутые возможности html ракета тоже не понимает. Отличный пример — styles sheet. Поскольку в общем виде их перекодировать весьма затруднительно, если вы обнаружили библиотеку с особенными styles sheet, отредактируйте hash с именем %styles (line 42 in rhtml). Сегодня он понимает styles sheet из Gena’s library (http://rt.gena.lib.ru).

Кроме того, при загрузке с различных онлайновых библиотек, довольно часто мы получаем не html, а plain text. Его надо конвертнуть в html, добавив всяких красивостей.


А иногда еще надо перекодировать из различных русских кодировок.

Вот для всего этого и существует скрипт rhtml. Им можно:

  • Перекодировать из различных русских кодировок в Win-1251
  • Подготовить читаемый на ракете html из нечитаемого на ракете html
  • Подготовить читаемый на ракете html из plain text
  • Поставить имя автора и книги в формате, понимаемом ракетой.
  • Выбросить переносы и конкатенировать перенесенные слова.

Использование

  • rhtml [switches] <input_file>
Where switches are:

    -a <author> — specify book author

    -b — envelop all text with <b> and </b> tags.

    -c <code_system> — decode from <code_system> (default — win) may be: win, koi8, alt, mac or iso5

    -d — justify paragraphs with <div> tag

    -i — edit on place (like perl -i)

    -p — justify paragraphs with <p> tag

    -q — envelop all text with <blockquote> and </blockquote> tags.

    -t <title> — specify book title

    -x — input file is text and not html

    -n — respect new lines in text

    Output html-file is printed to stdout.

Пример:

  • rhtml -x -d -a «Pavel Shumil» -t «Odinokij drakon» slovo_1.txt > slovo_1.html

Операционная система:

Любой UNIX. Проверено на Linux и Solaris. В Windows работает тоже, но необходима инсталяция перла. Проверено под Cygwin, но, по идее, под ActivePerl тоже должно работать.

Требования:

  • perl

Скачать:

  • rhtml.gz
  • bestlib.gz

Примечание редактора: Все эти скрипты можно также использовать в операционной системе Mac OS X, через Terminal.app, предварительно выставив права через команду sudo на выполнение скриптов.

 
 

Комментирование недоступно.



Вы можете прислать нам новости или сообщить что-то очень важное заполнив форму.