Manera multiplataforma de crear archivos web de Safari
-
03-07-2019 - |
Pregunta
He estado buscando y no he encontrado ninguna referencia a herramientas que puedan crear el formato webarchive de Safari.
¿Alguien tiene punteros a código para crear este formato, o al menos una documentación de referencia de formato?
Lo ideal sería construir una herramienta que tome un directorio y divida un archivo web, para cargarlo en un iPhone.
Solución
Para ampliar lo que dijo Ben: CFLite (la fuente abierta multiplataforma subconjunto de Core Foundation) se envía con un analizador de plist. Si puede enlazar con eso, debería ser bastante sencillo trabajar con los archivos .webarchive
, que son simplemente listas de propiedades que concatenan todos los archivos (HTML, CSS, etc.) en uno solo.
También hay otras bibliotecas, como Mac-PropertyList
en CPAN para Perl.
Otros consejos
Creo que el formato para .webarchives está oficialmente sin documentar, pero es solo un plist. Puede abrirlo en el Editor de lista de propiedades y examinar su contenido. No debería ser difícil replicar la mayoría, si no todos, de lo que hay allí.
Tried textutil, pero que solo usa el sistema de texto Cocoa y como tal falla en css, js y similares.
Hay un buen proyecto de GitHub: https://github.com/takebayashi/STWebArchiver
Utiliza Webkit para escribir archivos .webarchive. Necesita alguna personalización para sus necesidades ...
La creación de Webarchive es parte de Webkit afortunadamente, como tal, puedes usar lo siguiente para trabajar con ellos en la Mac:
O, use este código fuente para entender el formato en uso:
http://trac.webkit.org/browser /trunk/WebKit/mac/WebView/WebArchive.mm
No es multiplataforma, sino en Mac
textutil -convert webarchive whatever.html
hace el trabajo. Sin embargo, no estoy seguro de si puedes incluir fácilmente imágenes, etc.