Сайт Романа ПарпалакаБлог20090523

Офлайновая версия сайта

23 мая 2009 года, 16:27

Когда-то давно я прочитал у Димы Смирнова о том, как можно использовать офлайновую версию сайта. Вообще основной аргумент против того, чтобы дать пользователям скачивать архив с кучей html-файлов, состоит в некрасивости подобного подхода. Дима Смирнов предлагал компилировать эту кучу в один chm-файл.

Если бы существовали компиляторы CHM под linux, всё было бы вообще здорово. Однако таких компиляторов не существовало. Я хотел было сам написать такой компилятор, но из этого так ничего и не получилось.

Потом я подумал о других форматах и вспомнил о PDF. Как оказалось, с PDF в вебе не всё так безнадежно, как с CHM. У меня даже получилось сделать более-менее приемлемое решение, о чем я писал больше года назад.

Однако у такого решения есть ряд недостатков. Во-первых, текущая реализация получилась не вполне качественной. Во-вторых, на экране и на бумаге (если пользователь решит что-то распечатать) будет отображен один и тот же текст, что не всегда удобно. Например, на бумаге желательно указать как-нибудь URL'ы ссылок, тогда как показывать их на экране нет смысла. В-третьих, мы жестко прописываем такие параметры документа, как размер шрифта, пользователь не сможет их изменить.

Я думал над этими недостатками и пришел к гениальному выводу: всё-таки, идеальный формат для офлайновой версии сайта — это HTML! Все html-файлы нужно слить в один большой файл, все картинки сложить в одну папку (и, возможно, переименовать в md5(<path>)), заархивировать это дело и дать скачивать пользователям.

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

Впрочем, вариант с PDF тоже можно спасти. По-хорошему нужно HTML-файл перегнать в TeX. На первый взгляд кажется, что str_replace должно хватить, проблемы могут быть только с картинками. pdflatex сделает всё остальное :)

Поделиться

Майский фуршет Ctrl Кое-что о поликлинике и не только

Читайте также

Delphi и EPS
Векторная графика В этой статье мы рассмотрим простой программный способ создания векторных изображений.
2009

Офлайн-версия сайта, или PDF и PHP
Недавно я сделал офлайновую версию статей с written.ru.
2008
Adobe Reader
У меня давно сложилось впечатление, что Adobe Reader — тормознутая вещь.
2010
Система управления шаблонами
Эта статья написана для начинающих веб-мастеров.
2006

Комментарии

#1. 24 мая 2009 года, 13:27. Артём Курапов пишет:
Помоему оффлайновая версия подобна поддержке экранов 800 на 600 пикселей. Сделать конечно можно, но технические затраты будут нужны очень малому количеству населения и он всё равно будет ограничен. Представьте как вы будуте предлагать скачать файл если данных внутри на несколько сотен мегабайт? Диалапщикам этого не надо.

Значительно важней иметь мобильную версию, но и она уже устаревает потому что телефоны обзаводятся полноценными экранами и браузерами
#2. 24 мая 2009 года, 14:34. пишет:
Разумеется, всё зависит от конкретного сайта. Большинству сайтов офлайновая версия не нужна.

В свое время мне было интересно разобраться с тем, как генерить PDF на PHP. Офлайновая версия оказалась неплохим примером для экспериментов :)

А сейчас я просто записал идею. Это не означает, что я сразу же сажусь ее реализовывать.

Оставьте свой комментарий


Формулы на латехе: $$f(x) = x^2-\sqrt{x}$$ превратится в $$f(x) = x^2-\sqrt{x}$$.
Выделение текста: [i]курсивом[/i] или [b]жирным[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Других команд или HTML-тегов здесь нет.

Записи