Компьютерра offline

"Компьютерра" мне нравится ;)

Я не всегда читаю её с экрана монитора, очень часто покупаю в бумажной версии (тем более у нас она в бумаге появляется раньше чем на сайте ;). Архив всех номеров за 2003 (например) год находится здесь: http://www.computerra.ru/offline/2003/.

Читать с экрана вполне можно, а вот на Пальму сливать - не очень. Слишко много лишнего: картинок, рекламы, ссылок на другие номера и части сайта, это лишнее надо бы отрезать. Я ничего не имею против организации сайта "Компьютерры" - очень удобно - всё на одной странице, в одном месте, на расстоянии одного клика.

Но для машинки с экранчиком 160х160 нужно совсем другое: максимум информации при минимуме занимаемого пространства ;) Задача облегчается тем, что "Компьютерра" уже имеет на своём сайте статьи в версии для печати, просто нужно ссылки на статьи заменить на эти же ссылки в print-версии. Собственно, вся работа ведётся над первой страницей - убираются баннеры, ненужные картинки, ссылки на другие разделы (сайты) (чтобы при "погружении" в них оффлайн браузер не уходил от основной задачи ;) HTML код после такого "издевательства" получается совсем корявый, но парсер в Isilo и Plucker'е понимает так, как нужно.

"Отрезаем" с помощью, например, вот такой настройки для Privoxy.

Вот что получилось у меня:

Список статей до обработки
Список статей после обработки
   
Так выглядит обычная статья
...а так выглядит та же статья подготовленная для печати

А вот так это выглядит в Isilo на Пальме (размеры первой страницы без "обрезания" = 22 кБ, и после маленьких поправочек = 7 кБ ;):

   

#############################################################
FILTER: computerra_offline
#############################################################
s|\r?\n|\r|g

# оставить только вторую колонку
# (от начала страницы до комментария <!-- вторая колонка --> стереть, вернее: заменить на пустоту ;)
# и, начиная с комментария <!-- третья колонка-->, до конца страницы сделать то же самое
s|^.+<!-- вторая колонка -->||i
s|<!-- третья колонка-->.+$||i

# рекламу убираем
s|<iframe[^>]*>.+?</iframe>||gi

# линии убираем

s|<hr[^>]*>||gi

# пустые картинки убираем
s|<img[^>]*/images/empty\.gif[^>]*>||gi

# все ссылки менем на ссылки на печатную версию
s|href=\"(\d*)/\"|href=\"$1/print\.html\"|gi

s|<table[^>]*>(.+?)</table>|\{$1\}|gi
s|\{[^}]*>Предыдущий номер<[^}]*\}||gi
s|\{[^}]*>Архив номеров<[^}]*\}||gi
s|\{[^}]*>Архив<br>номеров<[^}]*\}||gi
s|\{|<table>|gi
s|\}|</table>|gi

s|<tr>|{|gi
s|</tr>|}|gi
s|\{[^}]*top-t\.gif[^}]*\}||gi
s|{|<tr>|g
s|}|</tr>|g

s|<br><a class|{|gi
s|</a>|}|gi
s|{=\"bd\"[^}]*}||gi
s|{|<a class|g
s|}|</a>|g
s|<br>&nbsp;||gi
(c) by Phagot
Сайт создан в системе uCoz