Владислав Екушев @jarvis394
React, TypeScript, NodeJS разработчик
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Date of birth
- Registered
- Activity
Specialization
Frontend Developer, UI/UX Designer
Junior
TypeScript
React
Node.js
Redux
Adaptive layout
Figma Design
UI/UX design
Прикольно, кто-то настолько вдохновился мои проектом, что сделал его нативными компонентами :)
Если что, 2 года уже существует клиент geekr., захожу на Хабр на телефоне только с него (я блин его сделал для себя, грех не пользоваться). Заходишь на сайт, ставишь как PWA (три точки -> Установить/Добавить на главный экран) — получаешь красивую читалку с поддержкой тёмной темы.
Круто! Видел на сайте возможность RSS фида, позже попробую менять ссылки в выдаче на своём сервере, чтобы не делать такие костыли.
Странно, они должны убираться на уровне рендера компонента. Т.е. картинка без соответствующей настройки не должна вообще находиться в dom.
Возможно, вы имеете в виду убирание картинок при отключенном режиме компактной ленты (т.е. когда показывается текст до ката)? В стандартном режиме ленты картинки пока что не убираются (убираются у тех постов, у которых было программно получена КДПВ). Лучше скиньте скриншот проблемы.
Картинки должны убираться только в ленте.
Кстати, интересно было бы сделать возможность отключать картинки в статье для экономии траффика.
Всё, что вы перечислили - это функции, которые требуют авторизации. В статье я ясно написал, что её я планировал сделать в 3-ей версии, так что все события, связанные с авторизацией немного форсированные. В этой версии у меня был фокус на хороший просмотр статей и новый дизайн.
В любом случае, все эти фичи, с первой по пятую, записаны в мой список задач.
Сделал - 383e1d
Только что смог зайти. Это просто дело времени и правильного тайминга (сарказм)
Так получилось, что я не до конца понял про хабра-эффект: куча человек зашли на сайт и попытались авторизоваться (причем через страшный, никому не известный сервер!). Появилась капча, которую не победить никак. Зато мне Boomburum написал, надеюсь, что можно будет договориться о приложении, через которое будет проходить авторизация с помощью OAuth (без пароля)
Рекапча завязана на один домен — habr.com, и на всех остальных она будет показывать ошибку. Если же можно каким-то образом перенаправить запросы к серверам Google от рекапчи через свой сервер (на котором я буду подменять заголовок домена), то тогда ещё можно что-то сделать.
Единственное решение — не ошибаться в пароле и заходить ночью, когда никто не активничает.
А у этих людей есть такая возможность? Смысл тогда в моём приложении, если есть такая крутая читалка.
p.s. отображение текста сбоку неизбежно приводит к сколиозу
Да ладно, это опенсорсный проект :)
На компьютере также можно установить приложение как PWA (по крайней мере в хроме)
Спасибо за развернутый ответ. Сразу скажу, что владею пока только Windows и Android (MIUI), так что возможности тестить на всех платформах у меня нет.
Самое читаемое есть снизу каждой статьи и, по-моему, в блоке справа. Точно помню, что делал запрос к
articles/most-reading
и тот давал приличный список статей. У меня были идеи сделать ленту в виде карточек, где сверху будут, как в дайджесте, небольшими заголовками, показаны самые горячие статьи. Я ещё пока сомневаюсь над юзабельностью карточек "вразнобой" на десктопе (имею ввиду карточки, занимающие примерно треть экрана на мониторе и расположенные кучкой). Пока что, как сделать по другому быстро-красиво не придумал.Отличная вещь, добавил себе в задачи.
Я пока не знаю, как нормально подгружать свои шрифты (Lighthouse сильно ругается на размер загружаемых данных), поэтому набор такой скудный. Также я пробовал менять шрифты у интерфейса на официальные, но результат меня не впечатлил (видимо, любовь к жирным круглым шрифтам слишком ослепила). Если, например, менять шрифт в заголовках статей на Fira Sans, то нужно поменять их кегль. А это, без (в который раз!) переделки структуры объекта настроек сделать
можно, но говнокодомтрудно. Навскидку можно поменять так:№5 (редактор не даёт продолжить...) Компактный режим также обманывает названием, так как он только убирает текст до ката и кнопку "Читать далее". Также можно отключить показ КДПВ в ленте.
Та же идея с картинками сбоку витала в голове прямо рядом с теми самыми карточками статей, о которых я говорил в начале. Дизайн карточек я постоянно вижу в ленте гугла: у более больших статей картинка на всю ширину + заголовок с обрезанным текстом, а у новостей — сбоку + заголовок.
№6 Комментарии
Об этом я написал в дисклеймере - проект так то делал для себя, сам и расставляю приоритеты :) Для меня Хабр - это в первую очередь читалка, а не мнение-выражалка, поэтому я фокусился на парсинге текста, библиотеках для картинок, плавном скроллинге и т.д.
Три точки у комментария будут открывать меню с копированием ссылки на комментарий и превью плашки автора. Сейчас, естественно, стоит просто заглушка.
Скрытие веток я уже придумал как сделать, добавил в трекер.
Возврат назад по кнопке "Назад" - это отдельная боль. Для нормальной работы мне нужно написать wrapper для роутера реакта, в котором я буду хранить историю объектов путей + нужно объяснить каждому пути, как можно вернуться назад. Например, если зайти на сайт сразу по пути
/post/123/comments
, приложение должно понять, что при нажатии кнопки назад надо пойти по пути/post/123
. Это вроде называется static routing, когда у тебя есть "карта" сайта, и умный роутер всегда знает, как вернуться на предыдущую страницу. Хорошее решение есть у @vk/router, но оно заточено под их VK Mini Apps и не подходит для обычного реакт-приложения. Поэтому единственный выход - писать самому, что, блин, и долго, и сложнои вообще плакать хочется.Как то так. Я в целом месяц статью писал и допиливал проект, устал, хочу сделать перерыв; надоело заниматься одним проектом чуть ли не 2 года. Поэтому все реквесты будут пока отложены в черный ящик до востребования (уж извините). Ссылка на доки для контрибуции есть в статье.
Я долго искал спеки для PWA и открытие ссылок с домена, отличного от домена, с которого был установлен PWA, находился ещё в стадии feature предложения. И не думаю, что оно из него выйдет, т.к. сразу возникнет проблема безопасности.
Поэтому и не планирую выкладывать в магазины (какой бы пиар оное мне ни дало). Мало того, что мне придётся возиться с лицензиями и прочей бюрократией (+ скорее всего и заплатить за dev-аккаунт), так это будет просто неудобно, на мой взгляд. Установка хабры - клик по кнопке "Add to home screen", легко и просто.
Добавил в трекер, наверное Хабр обновил API, а я не заметил.
Потому что браузер не загружает JS до открытия страницы, а все мета теги без SSR динамические, т.е. генерируются JS кодом.
Все эти блоки я добавил чисто от души, надо переделать; тоже в трекере ("Хабр сделал, ну а я чем хуже" и запилил по инерции)
Так как я очень ленивый, а теги ссылок добавляют всякие text-decoration: underline и цвета всякие, мне было легче сделать onClick на контейнере, чем ссылку. Я очень ленивый.
Ветки - решение для мобильных устройств, так как вложенные комментарии довольно быстро уходят за рамки любого смартфона. На мой взгляд, нажатие мышкой на компьютере != тап по экрану смартфона, поэтому ветки на мобильных устройствах довольно удобная вещь (естественно, имхо). А на ПК я просто отключил ветки, ведь настройки не синхронизируются между устройствами.
jarvis394/habra - клиент на React
Если можно запихнуть себе на сайт рекапчу, которая была создана для другого домена, это будет решением.
Посмотрю, спасибо.
Если вы имеете ввиду скрытие постов в ленте - да, это "Черный список" в настройках. Страницы компании пока нет.
Уже говорил про это, выше в комментариях есть обсуждение. Чтобы отключить - Настройки -> Настройки интерфейса -> Компактная лента
Видимо не дочитали статью :) В роадмапе написал про это.
Цветов, кстати, наоборот, стало меньше (всего один акцент). К тому же можно сделать свою тему с цветами, удобными лично Вам.
Попробуйте ещё раз через некоторое время. Капчу сделать я пока не знаю как, т.к. она завязана крепко с сайтом account.habr.com :(