Существует ли способ сжать несколько html файлов в один? Дано:
Есть более 300 файлов формата html (всё это отчёты). index.html содержит в себе ссылки на остальные файлы. Необходимо получить:
1) Необходимо получить из всего этого набора один файл, который будет содержать всю информацию (которая содержится в более чем 300 файлах).
2) Результирующий файл должен открываться в Chrome, Opera, Firefox без установки дополнений.
P.S.
Примером результата, который мне необходимо получить, является формат файла mht (своеобразный архив), однако на текущий момент с ним корректно работает только IE.
Существуют ли какие-то аналоги, или всё же придётся забивать костыли и просто клеить html+js руками (точнее, писать скрипт, например на python)?
Joss Nix, во всяких mht chm (вроде так он назывался) js работать не будет
Если для локального использования - то неплохой вариант поднять какой-то простой сервер вроде Express и на основе его открывать твои HTML.
Что бы было красиво - это electron.
Оптимальный вариант на мой взгляд сделать вроде приложения с удаленным сервером, который отдает нужные данные. Но без интернета или сервера в локальной сети здесь никак.
Froggyweb, js в офлайне нормально ведь работает.
в свое время довелось сделать справочник, собирался через программу WinCHM
Joss Nix, я та понял нужен офлайн вариант?
Теоретически можно реализовать с PWA, но это смысла не имеет.
В текущих реалиях практичнее развернуть сайт и ограничить доступ по мере необходимости (Интернет сейчас есть практически везде).
Понимаю, что вопрос очень "интересный".
Продолжаем уточнять ТЗ...
Результирующий файл должен лежать в nexus и открываться по ссылке из gitlab в локальной сети.
Всё это делается в рамках CI, поэтому сервак поднять не получится в виду политики безопасности. Поэтому и идеи в сторону одного html с вшитым js. Понимаю, что костыли, но js будет обрабатывать браузер без поддержки бэка (сервера).
Более адекватного решения пока не могу придумать, ибо DevOps отказывается закидывать в nexus 300 файлов. А уж просить его завести виртуальный сервак... это проблематичнее...
Используйте JSZip для сжатия инфы. Абсолютно ни что вам не мешает запихнуть все 300 ваших страниц в другую страницу в виде блоба Base64, а сам блоб будет архивом созданным при помощи JavaScript-библиотеки JSZip.
Короче, нынешние веб-технологии вполне позволяют самораспаковывающиеся и самоупаковывабщиеся HTML файлы делать и работать это будет во всех популярных браузерах, даже без интернета.
Есть куча генераторов Статики, шаблон заторов и ТП.
На крайняк написать простой скрипт, на чем угодно, чтобы склеить пачку файлов вопрос десяти минут.
В самом итоговом файле можно добавить простой is для переключения видимых секций, имитируя переходы между страницами. Или использовать , если дизайн позволяет
Из вопроса не очень ясны требования. Предложу такой вариант: отрендерите все эти файлы в один PDF со внутренними ссылками. Благо библиотек для этого сейчас полно.