Pull to refresh
128
0
Владислав Екушев @jarvis394

React, TypeScript, NodeJS разработчик

Send message

Прикольно, кто-то настолько вдохновился мои проектом, что сделал его нативными компонентами :)

Если что, 2 года уже существует клиент geekr., захожу на Хабр на телефоне только с него (я блин его сделал для себя, грех не пользоваться). Заходишь на сайт, ставишь как PWA (три точки -> Установить/Добавить на главный экран) — получаешь красивую читалку с поддержкой тёмной темы.

Круто! Видел на сайте возможность RSS фида, позже попробую менять ссылки в выдаче на своём сервере, чтобы не делать такие костыли.

Странно, они должны убираться на уровне рендера компонента. Т.е. картинка без соответствующей настройки не должна вообще находиться в dom.

Возможно, вы имеете в виду убирание картинок при отключенном режиме компактной ленты (т.е. когда показывается текст до ката)? В стандартном режиме ленты картинки пока что не убираются (убираются у тех постов, у которых было программно получена КДПВ). Лучше скиньте скриншот проблемы.

Картинки должны убираться только в ленте.

Кстати, интересно было бы сделать возможность отключать картинки в статье для экономии траффика.

Всё, что вы перечислили - это функции, которые требуют авторизации. В статье я ясно написал, что её я планировал сделать в 3-ей версии, так что все события, связанные с авторизацией немного форсированные. В этой версии у меня был фокус на хороший просмотр статей и новый дизайн.

В любом случае, все эти фичи, с первой по пятую, записаны в мой список задач.

Только что смог зайти. Это просто дело времени и правильного тайминга (сарказм)

Так получилось, что я не до конца понял про хабра-эффект: куча человек зашли на сайт и попытались авторизоваться (причем через страшный, никому не известный сервер!). Появилась капча, которую не победить никак. Зато мне Boomburum написал, надеюсь, что можно будет договориться о приложении, через которое будет проходить авторизация с помощью OAuth (без пароля)

Рекапча завязана на один домен — habr.com, и на всех остальных она будет показывать ошибку. Если же можно каким-то образом перенаправить запросы к серверам Google от рекапчи через свой сервер (на котором я буду подменять заголовок домена), то тогда ещё можно что-то сделать.

Единственное решение — не ошибаться в пароле и заходить ночью, когда никто не активничает.

А у этих людей есть такая возможность? Смысл тогда в моём приложении, если есть такая крутая читалка.

p.s. отображение текста сбоку неизбежно приводит к сколиозу

Да ладно, это опенсорсный проект :)

На компьютере также можно установить приложение как PWA (по крайней мере в хроме)

Спасибо за развернутый ответ. Сразу скажу, что владею пока только Windows и Android (MIUI), так что возможности тестить на всех платформах у меня нет.

  1. Самое читаемое есть снизу каждой статьи и, по-моему, в блоке справа. Точно помню, что делал запрос к articles/most-reading и тот давал приличный список статей. У меня были идеи сделать ленту в виде карточек, где сверху будут, как в дайджесте, небольшими заголовками, показаны самые горячие статьи. Я ещё пока сомневаюсь над юзабельностью карточек "вразнобой" на десктопе (имею ввиду карточки, занимающие примерно треть экрана на мониторе и расположенные кучкой). Пока что, как сделать по другому быстро-красиво не придумал.

  2. Отличная вещь, добавил себе в задачи.

  3. Я пока не знаю, как нормально подгружать свои шрифты (Lighthouse сильно ругается на размер загружаемых данных), поэтому набор такой скудный. Также я пробовал менять шрифты у интерфейса на официальные, но результат меня не впечатлил (видимо, любовь к жирным круглым шрифтам слишком ослепила). Если, например, менять шрифт в заголовках статей на Fira Sans, то нужно поменять их кегль. А это, без (в который раз!) переделки структуры объекта настроек сделать можно, но говнокодом трудно. Навскидку можно поменять так:

...
interfaceSettings: {
  accentFontFamily: 'Google Sans' | 'Fira Sans'
  accentFontSize: 20 | 18
  codeFontFamily: 'Consolas' | 'Fira Code'
  codeFontSize: 16
  textFont...
  ...

№5 (редактор не даёт продолжить...) Компактный режим также обманывает названием, так как он только убирает текст до ката и кнопку "Читать далее". Также можно отключить показ КДПВ в ленте.

Та же идея с картинками сбоку витала в голове прямо рядом с теми самыми карточками статей, о которых я говорил в начале. Дизайн карточек я постоянно вижу в ленте гугла: у более больших статей картинка на всю ширину + заголовок с обрезанным текстом, а у новостей — сбоку + заголовок.

№6 Комментарии

вся суть хабра в комментариях

Об этом я написал в дисклеймере - проект так то делал для себя, сам и расставляю приоритеты :) Для меня Хабр - это в первую очередь читалка, а не мнение-выражалка, поэтому я фокусился на парсинге текста, библиотеках для картинок, плавном скроллинге и т.д.

Три точки у комментария будут открывать меню с копированием ссылки на комментарий и превью плашки автора. Сейчас, естественно, стоит просто заглушка.

Скрытие веток я уже придумал как сделать, добавил в трекер.

Возврат назад по кнопке "Назад" - это отдельная боль. Для нормальной работы мне нужно написать wrapper для роутера реакта, в котором я буду хранить историю объектов путей + нужно объяснить каждому пути, как можно вернуться назад. Например, если зайти на сайт сразу по пути /post/123/comments, приложение должно понять, что при нажатии кнопки назад надо пойти по пути /post/123. Это вроде называется static routing, когда у тебя есть "карта" сайта, и умный роутер всегда знает, как вернуться на предыдущую страницу. Хорошее решение есть у @vk/router, но оно заточено под их VK Mini Apps и не подходит для обычного реакт-приложения. Поэтому единственный выход - писать самому, что, блин, и долго, и сложно и вообще плакать хочется.

Как то так. Я в целом месяц статью писал и допиливал проект, устал, хочу сделать перерыв; надоело заниматься одним проектом чуть ли не 2 года. Поэтому все реквесты будут пока отложены в черный ящик до востребования (уж извините). Ссылка на доки для контрибуции есть в статье.

Я долго искал спеки для PWA и открытие ссылок с домена, отличного от домена, с которого был установлен PWA, находился ещё в стадии feature предложения. И не думаю, что оно из него выйдет, т.к. сразу возникнет проблема безопасности.

Не планируете разместить приложение в Google Play или других магазинах приложений?

Поэтому и не планирую выкладывать в магазины (какой бы пиар оное мне ни дало). Мало того, что мне придётся возиться с лицензиями и прочей бюрократией (+ скорее всего и заплатить за dev-аккаунт), так это будет просто неудобно, на мой взгляд. Установка хабры - клик по кнопке "Add to home screen", легко и просто.

  1. Добавил в трекер, наверное Хабр обновил API, а я не заметил.

  2. Потому что браузер не загружает JS до открытия страницы, а все мета теги без SSR динамические, т.е. генерируются JS кодом.

  3. Все эти блоки я добавил чисто от души, надо переделать; тоже в трекере ("Хабр сделал, ну а я чем хуже" и запилил по инерции)

  4. Так как я очень ленивый, а теги ссылок добавляют всякие text-decoration: underline и цвета всякие, мне было легче сделать onClick на контейнере, чем ссылку. Я очень ленивый.

Ветки - решение для мобильных устройств, так как вложенные комментарии довольно быстро уходят за рамки любого смартфона. На мой взгляд, нажатие мышкой на компьютере != тап по экрану смартфона, поэтому ветки на мобильных устройствах довольно удобная вещь (естественно, имхо). А на ПК я просто отключил ветки, ведь настройки не синхронизируются между устройствами.

Если можно запихнуть себе на сайт рекапчу, которая была создана для другого домена, это будет решением.

Если вы имеете ввиду скрытие постов в ленте - да, это "Черный список" в настройках. Страницы компании пока нет.

Вы срезаете картинки до узкой полоски, и вместо лица человека остается только нос

Уже говорил про это, выше в комментариях есть обсуждение. Чтобы отключить - Настройки -> Настройки интерфейса -> Компактная лента

Промотав вниз, ожидал увидеть комментарии, а оказалось, нужно на них нажать.

Видимо не дочитали статью :) В роадмапе написал про это.

У вас больше цветов и иконок

Цветов, кстати, наоборот, стало меньше (всего один акцент). К тому же можно сделать свою тему с цветами, удобными лично Вам.

Попробуйте ещё раз через некоторое время. Капчу сделать я пока не знаю как, т.к. она завязана крепко с сайтом account.habr.com :(

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