Кроссплатформенный способ создания веб-архивов Safari

StackOverflow https://stackoverflow.com/questions/219530

Вопрос

Я искал вокруг и не нашел никаких ссылок на инструменты, которые могут создать формат веб-архива Safari.

У кого-нибудь есть указатели на код для создания этого формата или хотя бы справочную документацию по формату?

В идеале я хотел бы создать инструмент, который берет каталог и разделяет веб-архив для загрузки в iPhone.

Это было полезно?

Решение

Подробнее о том, что сказал Бен: CFLite (кроссплатформенный открытый исходный код подмножество Core Foundation) поставляется с анализатором plist. Если вы можете ссылаться на это, вам будет очень просто работать с файлами .webarchive , которые являются просто списками свойств, которые объединяют все файлы (HTML, CSS и т. Д.) В один.

Есть и другие библиотеки, такие как Mac-PropertyList на CPAN для Perl.

Другие советы

Я считаю, что формат .webarchives официально не документирован, но это всего лишь список. Вы можете открыть его в редакторе списка свойств и проверить его содержимое. Не должно быть трудно воспроизвести большинство, если не все, что там.

Пробовал textutil, но он использует только текстовую систему Какао и поэтому не работает на css, js и т. д.

Есть хороший проект GitHub: https://github.com/takebayashi/STWebArchiver

Он использует Webkit для записи файлов .webarchive. Нужна некоторая настройка для ваших нужд & # 8230;

Создание веб-архива, к счастью, является частью Webkit, поэтому вы можете использовать следующее для работы с ними на Mac:

http://developer.apple .com / Documentation / какао / Справочник / WebKit / Классы / WebArchive_Class / Справочник / reference.html

Или используйте этот исходный код, чтобы понять используемый формат:

http://trac.webkit.org/browser /trunk/WebKit/mac/WebView/WebArchive.mm

Он не кроссплатформенный, а на Mac

textutil -convert webarchive whatever.html

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top