LINUX.ORG.RU

Сжатие веб-страниц

 ,


0

4

Для хранения веб-страниц в качестве справочного материала долгое время использовал MAFF (Mozilla Archive Format). Это zip, содержащий веб-страницу со всеми сопутствующими файлами (*.css, *.jpeg, *.js, *.png, ...).

Всё хорошо, вроде бы. Но просматривать можно только в firefox с дополнением 'Mozilla Archive Format, with MHT and Faithful Save' не «из коробки».

Не все являются «поклонниками» Mozilla, хотя mozjpeg - проект mozilla, взявшийся за приведение jpeg encoder-а к современным стандартам качества кодирования, который гораздо лучше велосипеда webp, вызывает должное уважение. Но всё же.

Альтернативным является WAR (KDE web archive). Это tar.gz, с тем же содержимым, что и MAFF. Создаётся и просматривается Konqueror . Но этот вариант ещё хуже, так как жёстко привязан к KDE.

Что же делать, если хочется сжатых веб-страниц, но чтобы просматривались в любом браузере?

WAR-bash:

https://github.com/zvezdochiot/war-bash

https://sourceforge.net/projects/debiannoofficial/files/wheezy-update/utils/w...

скрипты bash, упаковывающие и позволяющие просматривать WAR (KDE web archive) в любом браузере.

PS: На данный момент веб-архивирование произвоится с помощью WARC, но для хранения и просмотра локальных справочных веб-материалов этот формат мало подходит.

Deleted

Mozilla

вызывает должное уважение

Эти ушлепки принципиально отказываются запиливать html imports. Из-за чего webcomponents революция уже отодвинута на несколько лет. Никакого уважения

makoven ★★★★★
()

Каждый напридумывал своих велосипедов вместо того, чтобы хоть кто-то сегодня поддерживал RFC-шный MHTL :-/ Раньше, хоть Опера сохранение в нём поддерживала, но и из неё выпилили...

KRoN73 ★★★★★
()

Вот и выросло поколение, которое кроме bash ничего не видало. У вас же на первый взгляд нет ни единого башизма. Зачем тогда обзывать этот код «для bash»? Или вы думаете, что молодёжь не поймёт, что такое «для Bourne shell»?

vodz ★★★★★
()
Ответ на: комментарий от vodz

для bash

Зачем тогда обзывать этот код «для bash»?

Это вот сейчас о чём вообще? Кто-то что-то попутал?

Deleted
()
Ответ на: MHTML от Deleted

MHTML - это хорошо. Но кто сегодня поддерживает? Как создавать?

Ну так о чём я выше и писал :)

Чем просматривать?

Ну, пока хоть это из Оперы и Хрома не выпилили, они .mht без проблем показывают :)

KRoN73 ★★★★★
()
Ответ на: для bash от Deleted

О том, что bash - это одна из реализаций POSIX shell, со своими расширениями. И этими расширениями хорошо бы не пользоваться, что бы обеспечить бОльшую совместимость между другими POSIX shell.

В твоем скрипте расширения не используются совсем, поэтому, если ему прописать #!/bin/sh , и указать что он написан на shell, (не конкретизируя именно bash), его смогут использовать на большем числе платформ, например на macOS

Deleted
()
Ответ на: комментарий от Deleted

на большем числе платформ, например на macOS

А также на роутерах, тостерах и симкартах.

legolegs ★★★★★
()

Подпишусь. Задонатил бы на поддержку MAFF во множестве ПО: chromium, okular, evince, libreoffice.

Кто-нибудь может объяснить, почему MHTML != MAFF, кроме nih синдрома мозиллы?

Deleted
()
Ответ на: комментарий от KRoN73

Консольный вариант.

Нашёл на github.com:

https://github.com/chemag/libmhtml.py

Тож можно использовать для консоли. Не знаю правда насколько всё прямо/криво. Не успел ещё проверить.

Твой вариант:

formail < test.mht > /tmp/msg.mbox && mutt -f /tmp/msg.mbox

чё-то не сработал.

Deleted
()
Ответ на: комментарий от Deleted

MHTML != MAFF

MHTML - single page. Поточный формат, одна единая страница.

MAFF - zip. Может содержать несколько страниц. С помощью фреймов можно создавать справочники из набора страниц.

WAR(KDE, не jar) - то ж самое, что MAFF, только tar.gz.

Deleted
()
Ответ на: комментарий от KRoN73
formail < test.mht > /tmp/msg.mbox && mutt -f /tmp/msg.mbox
From: savedbylibmhtml.py
Subject: =?utf-8?Q?=D0=92=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE=D0=B4=D0=B5=D0=B9=D1=81=D1=82=D0=B2=D0=

=B8=D0=B5_bash-=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=BE=D0=B2_=D1=81_=D0=
=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=BC=
_/_=D0=A5=D0=B0=D0=B1=D1=80=D0=B0=D1=85=D0=B0=D0=B1=D1=80?=
Date: Sat Dec 23 09:32:17 2017
MIME-Version: 1.0
Content-Type: multipart/related;
        boundary="----=_NextPart_20171223_093217";
        type="text/html"

------=_NextPart_20171223_093217
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: index.html

<!DOCTYPE html>
<html xml:lang=3D"ru" xmlns=3D"http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv=3D"content-type" content=3D"text/html; charset=3Dutf-8">
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8">
<meta content=3D"width =3D 1080" name=3D"viewport">
<title>=D0=92=D0=B7=D0=B0=D0=B8=D0=BC=D0=BE=D0=B4=D0=B5=D0=B9=D1=81=D1=82=
=D0=B2=D0=B8=D0=B5 bash-=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=BE=D0=B2 =
=D1=81 =D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=
=D0=B5=D0=BC / =D0=A5=D0=B0=D0=B1=D1=80=D0=B0=D1=85=D0=B0=D0=B1=D1=80</titl=
...
Deleted
()
Ответ на: комментарий от KRoN73

Жёсткими ограничениями.

32k для IE8? А под IE10 сколько? Может уже порешали, wiki то старое. Вроде все остальные проблемы: некешируемость и прочее характерны для любых архивов html-в одном.

vodz ★★★★★
()
Ответ на: комментарий от Deleted

В твоем скрипте расширения не используются совсем,

Зато у него юзается sed почём зря. Поставит ради этой проги юзер в виндозу bash, а у него не заработает. Ибо про необходимость sed не упомянуто, но зато можно было б элементарно на башизмах от sed избавиться вообще. Не на башизмах будет тяжелее :)

vodz ★★★★★
()
Ответ на: MHTML от Deleted

Но кто сегодня поддерживает?

chromium/chrome почти из коробки

https://superuser.com/questions/369232/how-to-save-a-web-page-as-mht-in-chrome

 From the chrome://flags page:

Save Page as MHTML Mac, Windows, Linux
Disables saving pages as HTML-only or HTML Complete; enables saving pages only as MHTML: a single text file containing HTML and all sub-resources.
greenman ★★★★★
()
Ответ на: комментарий от vodz

sed не упомянуто

Упомянуто!

wget https://github.com/zvezdochiot/war-bash/blob/master/DEPENDS
cat DEPENDS
war-bash
Version: 0.20171223
Description: WAR (KDE web archive) create and browse in bash
Depends: bash, tar, gzip, sed, grep, findutils, coreutils, wget

И против fork-ов ничего не имею. Наоборот.

Deleted
()
Ответ на: комментарий от greenman

Не рекомендуется

Не рекомендуется самим Google

Deleted
()
Ответ на: sed не упомянуто от Deleted

А, это ещё найти надо. Впрочем, это ещё хуже: «findutils, coreutils»  — это огромный список утилит и вроде как раз и не нужных тут.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 2)

Что же делать, если хочется сжатых веб-страниц, но чтобы просматривались в любом браузере?

А как создать WAR без Konqueror?

greenman ★★★★★
()
Ответ на: комментарий от greenman

без Konqueror

А как создать WAR без Konqueror?

Так в этом и смысл этих скриптов, что никакого KDE и Konqueror даже близко не стоит. Создание WAR: war-create или war-wget

Deleted
()
Ответ на: комментарий от KRoN73

Иногда бывает скажешь людям - используйте epub (v3), но нет, не слышат люди. Продолжают писать десятки других сообщений. Хотя казалось бы - сжатый формат для хранения html и всего такого.

Einstok_Fair ★★☆
()
Ответ на: комментарий от Einstok_Fair

write epub

С ридерами вопросов нет. Вопрос по созданию. Только calibre. А про него я уже всё что мог сказать, сказал.

Deleted
()
Ответ на: комментарий от Einstok_Fair

Хотя казалось бы - сжатый формат для хранения html

Угу. Если б не одно но: оно почему-то не хочет оторваться от содержимого того html, так как вводит собственные теги, потому изначально мёртвое — естественно каждый будет реализовать своё подмножество поддержки того внутреннего xhtml.

vodz ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Вопрос по созданию

И в чём у тебя вопрос по созданию html и архивированию его в zip ?

А кроме calibre никто и ни о чём не заикался. Расшифруй свой вопрос.

Deleted
()
Ответ на: комментарий от Einstok_Fair

Создать epub можно руками

Куча ссылок на такую же кучу безумного софта и никаких тебе «Создать epub можно руками».

Deleted
()
Ответ на: Создать epub можно руками от Deleted

не ной, а?

1) онлайн конвертор:
https://online-converting.ru/ebook/html-to-epub/

2) «прибамбас для OpenOfice есть который конвертит в epub, html страницу офисом открыть можно же»

3) «есть для Chrome/Chromium плагин под названием dotEPUB: dotEPUB allows you to convert any webpage into an e-book.»

Einstok_Fair ★★☆
()
Ответ на: EPUB от Deleted

у кого руки растут как надо - тот скачивает и читает спецификацию, не так ли?

Einstok_Fair ★★☆
()
Ответ на: комментарий от vodz

Имплаинг на остальные шеллы не пофиг в 2017.

anonymous
()
Ответ на: комментарий от Einstok_Fair

не так ли

не так ли. Я об этом epub тока услышал. Какая к .. спецификация. Понять бы для начала, что это и нужно ли это.

Deleted
()
Ответ на: комментарий от Einstok_Fair

Иногда бывает скажешь людям - используйте epub (v3), но нет, не слышат люди

1. epub не годится для чего угодно.

2. сабжевый вопрос всё равно останется открытым. Браузеры в epub не сохраняют и не показывают этот формат.

KRoN73 ★★★★★
()
Ответ на: комментарий от Einstok_Fair

аддон для EPUB есть для старого Firefox и для квантового. Что ещё нужно для счастья?

Ну, например, некоторым нужен браузер, а не firefox :) И вопрос удобства создания открыт. В то время как раньше в mhtml можно было сохранять из браузера просто по save as.

KRoN73 ★★★★★
()
Ответ на: комментарий от Deleted

Ну, quoted-printable кто-то не принимает там. Вообще, первый раз вижу mhtml в quoted-printable, обычно он в base64 всегда был :) Хотя rfc позволяет, конечно...

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.