Modo multipiattaforma per la creazione di archivi Web Safari
-
03-07-2019 - |
Domanda
Ho cercato in giro e non ho trovato alcun riferimento agli strumenti che possono creare il formato webarchive di Safari.
Qualcuno ha puntatori al codice per la creazione di questo formato, o almeno una documentazione di riferimento del formato?
Idealmente, vorrei creare uno strumento che prende una directory e divide un archivio web, per caricarlo su un iPhone.
Soluzione
Per espandere ciò che Ben ha detto: CFLite (l'open-source multipiattaforma sottoinsieme di Core Foundation) viene fornito con un parser plist. Se riesci a collegarti a questo, dovrebbe essere abbastanza semplice lavorare con i file .webarchive
, che sono semplicemente elenchi di proprietà che concatenano tutti i file (HTML, CSS, ecc.) In uno solo.
Esistono anche altre librerie, come Mac-PropertyList
su CPAN per Perl.
Altri suggerimenti
Credo che il formato per .webarchives non sia ufficialmente documentato, ma è solo un esempio. È possibile aprirlo nell'editor dell'elenco delle proprietà ed esaminarne il contenuto. Non dovrebbe essere difficile replicare la maggior parte, se non tutta, di quello che c'è dentro.
Ho provato textutil, ma questo utilizza solo il sistema di testo Cocoa e come tale fallisce in css, js e simili.
C'è un bel progetto GitHub: https://github.com/takebayashi/STWebArchiver
Utilizza Webkit per scrivere file .webarchive. Ha bisogno di personalizzazioni per le tue esigenze & # 8230;
La creazione di Webarchive fa parte fortunatamente di Webkit, in quanto tale è possibile utilizzare quanto segue per lavorare con loro sul Mac:
Oppure, utilizzare questo codice sorgente per comprendere il formato in uso:
http://trac.webkit.org/browser /trunk/WebKit/mac/WebView/WebArchive.mm
Non è multipiattaforma, ma su Mac
textutil -convert webarchive whatever.html
fa il lavoro. Non sono sicuro se puoi facilmente includere immagini ecc.