habraview/README.md

66 lines
2.3 KiB
Markdown
Raw Permalink Normal View History

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