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

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

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

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

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

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

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

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

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

23 мая 2009 года, 16:27     веб-разработка

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

Поделиться

Комментарии

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

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

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

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

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

Ваше имя:

Комментарий:

Для выделения используйте следующий код: [i]курсив[/i], [b]жирный[/b].
Цитату оформляйте так: [q = имя автора]цитата[/q] или [q]еще цитата[/q].
Ссылку начните с http://. Других команд или HTML-тегов здесь нет.

Сколько будет 56+8?

Записи