Safari Webアーカイブを作成するクロスプラットフォームの方法
-
03-07-2019 - |
質問
検索してみましたが、Safari の Web アーカイブ形式を作成できるツールへのリファレンスが見つかりませんでした。
この形式を作成するためのコードへのポインタ、または少なくとも形式リファレンス ドキュメントを持っている人はいますか?
理想的には、iPhone にロードするために、ディレクトリを取得して Web アーカイブを分割するツールを構築したいと考えています。
解決
ベンの言ったことをさらに詳しく説明すると、次のようになります。 CFLite (Core Foundation のクロスプラットフォームのオープンソース サブセット) には plist パーサーが付属しています。それにリンクできれば、作業は非常に簡単になるはずです .webarchive
ファイルは、すべてのファイル (HTML、CSS など) を 1 つに連結した単なるプロパティ リストです。
他にも次のようなライブラリがあります。 Mac-PropertyList
Perl の CPAN について。
他のヒント
.webarchivesの形式は公式には文書化されていないと思いますが、それは単なるplistです。プロパティリストエディタで開き、その内容を確認できます。すべてではないにしても、そこにあるもののほとんどを複製するのは難しいことではありません。
textutilを試しましたが、Cocoaテキストシステムのみを使用しているため、css、jsなどで失敗します。
GitHubプロジェクトがあります: https://github.com/takebayashi/STWebArchiver
Webkitを使用して.webarchiveファイルを書き込みます。ニーズに合わせてカスタマイズが必要です…
Webarchiveの作成は幸いなことにWebkitの一部であるため、Macでの作業には以下を使用できます。
または、このソースコードを使用して、使用法の形式を理解します。
http://trac.webkit.org/browser /trunk/WebKit/mac/WebView/WebArchive.mm
クロスプラットフォームではなく、Mac上で
textutil -convert webarchive whatever.html
ジョブを実行します。ただし、画像などを簡単に含めることができるかどうかはわかりません。