# habraview Спартанский микрофронтенд habr.com для возможности архивации страниц инструментами вроде ArchiveBox и т.п. Современные фронтенды к Хабру не позволяют сохранить содержимое страницы без искажений и в полном объёме. Всё обмазано JavaScript с ленивой загрузкой изображений, отчего картинки на сохранённой странице только заблюренные, а возможность архивации комментариев полностью отсутствует. Страницы альтернативного фронтенда geekr.vercel.app вовсе непригодны для архивации. Поэтому появился этот костыль. Фичи: * Умеет отображать страницу в минимальном сносном CSS. * Отображает все комментарии (отрисовка дерева не удалась, но и так сойдёт). * Решает проблему с заблюренными изображениями. Работает только с `article`, то есть новостные посты и статьи из `sandbox` работать не будут. ## Как пользоваться `habraview` это веб-приложение. Просто запускаем файл: ``` ./habraview ``` Приложение будет по умолчанию будет слушать на 8888 порту. Чтобы получить страницу, открываем в браузере: ``` http://localhost:8888?url=https://habr.com/ru/articles/853062/ ``` Адрес статьи на Хабре можно передать целиком как значение query-параметра `url` или как `id`: ``` http://localhost:8888?id=853062 ``` Теперь на эту страницу можно натравить архиватор веб-страниц. ## Компиляция Нужны компиляторы `gcc` и [v](https://vlang.io): ``` make ``` ## Docker ``` docker build -t habraview:latest . docker run --rm -p 8888:8888 habraview:latest ``` или: ``` docker compose up -d ```