Pull to refresh

Comments 158

У меня на телефоне стоит древняя версия Оперы, на тот случай чтобы не работали все новомодные фишки вебсайтов. И вот на ней Хабр шустр и авторизация проходит. И в Facebook там старый удобный дизайн.
Надо пробовать. На каких-то Операх ползла разметка.

В ней протухли корневые сертификаты. Почти ничего не открывается. Если кто знает, как их обновить, поделитесь! Буду очень благодарен.

вручную импортируйте её сертификат в браузер через "Издатели" или "Посредники" (Настройки, Расширенные, Безопасность, Управление сертификатами), через что воспримет Импорт.

Вот форум по Opera Presto. Ответ скопироан оттуда, может поможет

Спасибо, но ваша цитата относится к решению другой проблемы (импорт сертификата для MitM прокси). Актуальных корневых и промежуточных под сотню переносить их вручную по одному точно не буду. :)

Каждому своё, можно и здесь сделать lite версию для таких как Вы. Повторюсь, тёмной темы нет на хабре)

И в Facebook там старый удобный дизайн

А он там когда-то был?
Извините, не удержался.
В сравнении с современным нововведением. Приходится на десктопном браузере использовать расширение.
Как в неуловимом Джо.
Классно! Есть куда посмотреть.
Из фич можно добавить лог кто ставит какие отметки.
Сделано действительно круто, респект. Реверс — рекомендую смотреть в сторону fiddler'а и подстановки сертификатов.

Спасибо за оценку! Насчёт реверса, я сидел и разбирал исходные чанки на странице, чтобы найти как генерируется токен. Ничего, собственно я не нашёл, кроме загадочного значения token внутри самого приложения.
Есть идея делать одноразовый запрос со страницы хабра, а потом вставлять значения токенов (из request headers) в моё приложение, как то так

UFO just landed and posted this here

Ну вот я сидел и смотрел траффик — ничего и близко нет :(
Есть connect_sid после аутентификации и csrf, который отличается от тех значений, которые идут в request headers.

UFO just landed and posted this here

csrf-token — это токен защиты от подделки запросов (Wikipedia)
Он создается на сервере и вживляется в форму. Т.е. по факту его можно получить только если скачать страницу с формой и достать его из html. Это если говорить про web. Как оно работает в мобильных приложениях я не знаю. Не сталкивался.
Глянул сейчас форму авторизации хабра в web-версии — там нет csrf токена, но есть какой-то скрытый state. Скорее всего это и есть csrf токен. Либо токен как-то передается в AJAX запросы напрямую или через cookies. В общем тут тупиковый вариант скорее всего.
Без официального API вероятно не получится нормально реализовать авторизацию. Да и потом — после авторизации нужно будет узнать какие запросы и куда отправлять чтобы получить нужные данные.

Запросы как раз легко найти в DevTools, а state с токеном никак не кореллирует (по крайней мере, я не увидел). state, по-моему, обозначает пользователя в сети Хабр и потом по этому стейту даётся токен. Вобщем, гиблое это дело, исходники разбирать...

Шик! Есть в планах выпуск в виде приложения под андроид?

Ну, как сказать, если бы можно это было запихнуть в React Native, было бы круто, но к сожалению я этим не занимался. Уже есть тикет насчёт манифеста приложения, который позволит добавлять сайт как аппу андроида. Пока, в Хроме можно сделать так: зайти на сайт -> три точки -> Добавить на домашний экран


А так, проект абсолютно открытый, создаёте форк и делаете и себе, и людям хорошо!

Мне сами по себе гибриды не нравятся. Уж лучше я либо поставлю сайт как PWA, либо буду просто на сайт заходить. Гибрид, случаем, не добавляет кучу саппортящих библиотек, чтобы приложение запускалось?

Если не ошибаюсь, сейчас он использует библиотеку системного браузера. Это добавляет проблем при разработке. Но вот приложение получается как раз не большим так как оно не тянет всё собой а на оборт использует установленные у пользователя либы.
В итоге хорошо сделаая cordova всё же приятнее чем просто браузер.

Этот проект удобнее, чем официальная версия. Работает шустрее.

Лично у меня "официальная версия" не может даже комменты открыть. Так что однозначно должно быть лучше.

С помощью www.pwabuilder.com можно завернуть TWA для Play Store. По сути это будет тот же PWA, только одобренный и устанавливаемый через магазин.

А зачем плодить сущности?
PWA с манифестом и так отлично работает
А кешем пусть занимается браузер

Сущностей никаких не надо плодить. TWA это возможность выложить PWA в магазин. Кстати там есть инструменты для публикации и в MS Store. Никаких изменений в приложение вносить не надо, и всем также занимается браузер.
Добавь возможности PWA. Можно кешировать статьи в локальную базу indexedDB и в офлайне их оттуда доставать.

Уже есть тикет, спасибо! Кэш у меня работает через Cache и sw; так же впрочем работает и мобильный хабр:


m.habr.com

Хранить данные в Cache хранилище — не лучшая практика. Оно больше подходит под ресурсы — скрипты, картинки, json, стили. Собственно основная оболочка shell должна быть закеширована там, плюс какие-то дополнительные ресурсы. Данные лучше хранить в базе, например статьи — их предпросмотр для показа на главной и содержимое для перехода к статье. Тогда получится при отсутствии интернета формировать список закешированных статей и читать их в офлайне. Также при нестабильном интернете и обрыве запроса можно искать статью в базе и подставлять ответ оттуда.
Выглядит симпатично, успехов в дальнейшем
Насчёт мобильной версии сайта почти правильно сказано — комментарии загружаются только все сразу, и посмотреть хоть какой-то, пока остальные грузятся, нет возможности, только ждать. Но сайт хоть и «подвисает» на некоторое время, не падает. Просто нужно довольно долго ждать. Недавно открывал комментарии к какой-то недавней статье, их было >1800, ждать пришлось около 30 секунд или немногим больше. И они всё-таки загрузились.
Скрытый текст
Браузер samsung internet, смартфон redmi note 8T.

Если приложение действительно даст возможность убрать эти задержки, это весьма полезно! Но буду пока следить, подожду, может всё-таки авторизация появится.

Каюсь, немного приукрасил работоспособность комментариев: в итоге всё равно будет в DOM'е висеть 2к компонентов, НО — большое но — есть разные ситуации, когда у тебя уже есть dom, и когда его нужно за раз построить. Надо бы серьёзную виртуализацию через react-window например, но там встает вопрос о вычислении высот — надо в невидимом диве отрендерить все комментарии, чтобы потом знать какой делать отступ сверху и снизу (минус скорость).


Насчёт авторизации, было бы очень круто, если бы кто-нибудь из Хабра обратил на всё это внимание и дал какие-нибудь подсказки. Пока жду.


UPD. на Redmi Note 8 Pro (ram 6GB) хром один раз умер. Ну это хром.

Работа проделан классная! На вид гораздо симпатичнее чем другой подобный проект, который тут постили несколько месяцев назад. Что ещё раз подтверждает мою мысль что древовидная структура дом не нужна.


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


Если очень хочется, то у меня была идея как cделать прогресс бар ещё умнее. Локально мы отрендерили комментарии и знаем их размер, так что локально он ведёт себя как обычно. Глобально мы знаем положение лишь примерно (по номеру комментария + кэш уже отрендеренных ранее при прокрутке) поэтому прогресс бар должен тоже вести себя примерно. Остается придумать какую-то хитрую нелинейную функцию, которая будет склеивать эти два решения.


Пока не было времени это сделать, и я к сожалению мало знаю про нужные апи браузера для виртуального скрола.

А зачем склеивать два решения, когда можно сделать точно:


  • есть высота всех комментариев вместе
  • есть clientHeight — высота текущего скролла относительно начала комментариев

Вычитаем из первой величины clientHeight и переводим в проценты. Или просто брать номер самого верхнего комментария в текущем viewport, тогда у прогресс бара, максимальным значением будет кол-во комментариев, а текущим значением — номер комментария.

Выглядит круто, я сам пару месяцев назад загорелся похожей идеей мобильного приложения на Flutter, но вы опередили.


Если интересно то вот: https://github.com/avdosev/habr_app


Правда, особых фишек в нем и нет, кроме кеширования статей

https://habra.js.org/all/p/1 > 404 после обновления. Видимо нужна кастомная 404 которая подгрузит необходимые скрипты и отобразит контент.

Если зарегестрирован service worker, то страница работает. Вам нужно сначала на главную страницу зайти (/), а потом все будет работать.


404 страничку сделать надо у github pages, спасибо что сказали.

Я service worker кажись вырубил. Ещё неплохо было бы показывать текст до ката хотябы по кнопке а то заголовок мало что говорит иногда.

Поймал 404 с неактивированным sw, хотя вроде уже заходил на главную...


картинка


Ещё неплохо было бы показывать текст до ката

Я вот думал сделать дизайн карточками, как у Гугла, но пока надо фиксить баги. Вот, как я бы сделал текст до ката (или хотя бы несколько строчек текста):


Не надо текст до ката обрезать. Пусть он будет просто скрыт изначально и раскрывается по клику на кнопку. По второму клику сворачивается и можно листать дальше.

Классная прога!
А мне вот не хватало всех подряд постов в канале телеграмм и я сделал свой)
https://t.me/habr_all

не хватает функции instant view. Тогда точно из телеги вылазить на надо)

Здорово! Просто отлично. Даже без авторизации — уже польза есть.
В будущем адаптирую интерфейс под планшеты. Обещаю. Если экзамены сдам

Отдельное спасибо от пользователей не очень популярных у разработчиков устройств. Мой старый планшетик новостью доволен.
Успехов в сдаче экзаменов!

Спасибо!
У мобильного хабра есть режим для планшетов — значит и у меня будет)

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

Тогда уж и сортировку комментариев по рейтингу было бы хорошо получить

Так получится сделать только с комментариями верхнего уровня — это же дерево.

Каждый уровень можно сортировать в пределах ветки.

UFO just landed and posted this here

Для начала нужно подумать, откуда эти посты брать, потому что раздел "Все подряд" обновляется Возможно, нужно делать небольшой бекэндик, который будет сортировать из этого раздела все посты и фильтровать те, которые прошли в "Лучшее". А потом выдавать их где нибудь в ленте, помечая тегом.

UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here

Если будете пилить эту фичу, то лучше сделать полностью настраиваемый фильтр по всем возможном параметрам статей и авторов, а не какие-то отдельные захардкоженные фильтры. Крайне ценно было бы, уже сколько раз просили разработчиков..

UFO just landed and posted this here
Белая зависть, 17 лет, сделал отличный клон, успехов тебе!

Все выглядит круто, шустро… но вот что с нагрузочнвм тестированием?
Сравнивать скопость отдачи сайта без нагрузки с хабром с нагрузкой — это ни о чем.
Запустить лоадимпакт (там бесплатно 10 тестов) на стресс с хотя бы на 10 vu и посмотреть что и как, а потом уже рассказать об успехах

Я написал о проблемах отображения комментариев — это никак с нагрузкой на сайт не связано. Сам Vue с кучей компонентов работает помедленней, и т.п. Не думаю, что Github Pages справятся с дикой многомилионной нагрузкой, но и, с другой стороны, будет ли здесь такой наплыв пользователей?


(холивары на тему Vue и фреймворков поднимать не надо)


UPD:


k6

Вы о чём, это же статический сайт на github pages который на стороне браузера по json апи забирает данные с хабра. Нету сервера который надо тестировать.

Есть одна недоработка: не видно границ между постами, сделайте их в виде material карточек с тенью что ли.

Я так делать пытался, но что получилось у Гугла, у меня не вышло красиво.


как у гугла

Все классно, для 17 лет, но когда я увидел клон мобильного приложения хабр сразу подумал что это будет нативное приложение под android. Так что думаю если замутить мобильную версию хабра не через сайт а нативно вооще агонь будет) Может когда-ни будь и я попробую замутить нативную версию

А какие это даст преимущества?

Делать веб-разрабу нечего пилить натив для одной платформы.

выглядит интересно, единственное, что кнопки мигают, поставь --webkit-tap-highlight-color

Смахивает на вкусовщину: у хабра тоже мигают


вкусовщина, как никак под нативное закос с material ui, поэтому не хотелось бы видеть резкие мигания

Эта настройка позволяет получить app-like experience.
Также, помнится, несколько лет назад был хак, чтобы убрать небольшую задержку в 100ms перед тем, как клик распознается браузером. Это сделано для распознавания лонг-тача и прочих альтернативных моментов.

Круто, очень круто.
По issues: 404 not found по open link in new tab
Что-то успело поменяться? Теперь по open link in new tab на статью (линк, при этом, корректен), кидает на /all/p/1
Почти :(
Привет!

Тебе нужно зарегестрировать одну вещь — специального воркера, который будет обрабатывать твои запросы.

Для этого нужно всего лишь зайти на коренной путь — habra.js.org или нажать сюда

Ни переход по линку и открытие habra.js.org в новой вкладке не возымеют действа, всегда показывается эта плашка с урлом открываемой статьи в адресной строке (блокировщиков нет)

Уфф, сервис воркеры включены? Попробуйте очистить данные у сайта.


Так стоп. Вы действовали так, как сказано на странице? Т.е. заходили на (/) и у вас была видна лента или же у Вас на любой урл идёт эта табличка?

Именно так, была лента, а при открытии статьи в новой вкладке, вот эта плашка. Для чистоты эксперимента и в другом браузере открывал.
Однако, все это не важно и я должен извиниться, ибо не упомянул небольшую, но дюже важную деталь. А именно, суровый энтерпрайз с ни менее суровой политикой безопасности.
Перед уходом в глаза бросились JS ошибки в консоли, т.е. воркеры не смогли :(
Посему, не обращайте на предыдущий комментарий внимание. Вне конторы все супер.

Если браузер устройства не поддерживает Service Worker, то эта страница всегда будет отображаться. Ну и при первом открытии пользователи всегда будут видеть 404 страницу.


Эта проблема (context root'а или pathname) исправляется простыми двумя скриптами в 404.html и index.html.


Вообще это не единственная проблема с Service Worker, но у вас вроде отдельный домен, поэтому не должно больше вызывать сложностей.

Может быть у вас получится функционал игнонирования авторов и компаний сделать? Пока в Хабре не чешутся, это может помочь привлечь пользователей.

Уже делаю! Сегодня — завтра будет готово.

Сделал, посмотрите в настройках

UFO just landed and posted this here

В мобильной версии сайта рекламу можно отключить. Хабр-вакансии могу по запросу прикрутить в выдачу в ленте. А если ребята из отдела увидят, что трафик уплывает, значит надо уже как-то двигать сайт вперёд в плане фич)

Хабру нужно допиливать фичи, к примеру, загрузка всех комментариев за один раз — это довольно позорно в 2020 году.

Проблема не в количестве комментариев, а в том, что вы сидите в Хроме вместо ФФ как они рендерятся. Надеюсь, загрузку всех комментариев оставят — не хотелось бы получить Реддит с типичным «вот вам 2 комментария и кнопка „подгрузить ещё 2“».

Как подгружаются тоже важно так как на медленном канале фаерфокс через некоторое время показывает ошибку вместо загруженной части страницы. Если бы API хабра умело отдавать коменты по частям. Или хотябы при помощи Range запросов ответ API можно было бы забрать по частям то эту ошибку можно было бы обойти.

Если бы API хабра умело отдавать коменты по частям. Или хотябы при помощи Range запросов ответ API можно было бы забрать по частям то эту ошибку можно было бы обойти.
Можно просто загружать ответ как стрим, если вас проблема ручного парсинга частичных данных не останавливает: свойство responseText у XMLHttpRequest обновляется всё время загрузки (пока readyState == 3).

Подгрузку можно сделать как "infinite scroll", по мере листания вниз комменты грузятся сами. Тем более, на беке же очень просто сделать пагинацию.

Надо чтобы загрузился один комментарий и он тут же рендерится, и так далее без остановки.

Как правило, делают подгрузку по 20-30 элементов

Для древовидных комментариев не так просто.

Согласен, но тогда хотя бы пагинацию по корневым комментариям. К примеру, по 20 корневых + все их дети, если они есть. Все же лучше, чем один запрос на все.

возможен вариант когда к 1му родительскому комменту 10000000 сообщений. И тут твоя пагинация теряет смысл
Не нужно просто дерево реализовывать реальной вложенностью элементов. Пусть будет плоский список и переменный отступ слева.

Допустим, первый комментарий был вчера, а сегодня 2 минуты назад появился к нему ответ. На первой странице будет первый и последний по времени комментарий, то есть надо все равно достать все комментарии из базы и построить в нужном порядке. Или в базе как-то по-особому хранить. То есть даже на бэке это будет не так уж и просто.

Подождите, мы, вроде бы, про загрузку существующих комментариев на фронте говорили, а не про обновление дерева. Фронту не нужно собирать дерево, он его с бэка получает. А бэку всё равно собирать полный список, и наверняка он кэшируется как-то, а не пересобирается под каждый запрос.
Да и организацию хранения дерева можно организовать так, что и вставка будет делаться за константное время, и построение списка будет за O(n) без рекурсий (см. мой комментарий ниже)

Я говорил про слова "Тем более, на беке же очень просто сделать пагинацию". Можно, да, но это будет сложнее, чем стандартный offset/limit.

Ну так я и написал "надо как-то по особому хранить") Все равно надо это специально продумывать, alter table делать, то есть есть отличия от стандартной пагинации существующих сущностей.

Alter table — это колонку «путь» добавить? Ну, так деревья всё равно хранить нужно же как-то, не так, как не-деревья. А пагинация от других сущностей не отличается вообще никак — если уже есть запрос на выдачу списка, то к нему просто добавляется top/skip (offset/limit).
в хайлоуде это не работает.
skip 100000 take 10
это значит что будет прочитано 100010 элементов.

Все это знают. Оптимизация этого: where datetime > lastelement take 10. Но в варианте котором ты описываешь такое условие невозможно выполнить.

Что мешает написать WHERE path > lastPath?
Ну, так деревья всё равно хранить нужно же как-то, не так, как не-деревья.

Да. А чтобы ваш вариант заработал, надо дополнительно добавить путь и заполнять его определенным образом. Я это и имел в виду, когда сказал "не так просто".


А пагинация от других сущностей не отличается вообще никак

Пагинация не отличается, а возможность ее применения отличается. Список произвольных сущностей можно вывести постранично через limit/offset, независимо от того, какие поля в них есть, а произвольное дерево нельзя.

UFO just landed and posted this here
UFO just landed and posted this here
Все это напоминает одну давнюю историю.
Она случилась с первыми выходцами из России, приехавшими жить в Христианию (квартал-коммуна хиппи-анархистов, в одном из районов Копенгагена). Их наняли пилить дрова для общественной бани. И тут произошло столкновение культур. Парни бодро взялись за работу и за три часа перепилили, накололи и сложили в поленницу все имеющиеся в распоряжении доски. После чего поспешили сообщить работодателям об успешно выполненном задании. Однако результатам их труда совершенно не обрадовались, а, наоборот, ужасно разозлились. Из-за плохого знания английского, парни далеко не сразу поняли, в чём же дело. Оказывается, crazy Russians за три часа сделали полуторамесячный объём работ, оставив без заработка не только себя, но и еще десяток коренных жителей. Можно сказать, подорвали экономику страны. Дело в том, что оплата в Христиании почасовая. Это значит, что работать следует не торопясь, без надрыва.
  1. Делал я, в первую очередь, для себя; никого я не оставляю без работы, наоборот — Хабр может здесь посмотреть, что надо людям.
  2. Работал я "не торопясь, без надрыва" начиная с мая месяца этого года :p
Спасибо, jarvis394. После того, как я увидел, что делают ребята в 17, мне стало стыдно говорить, чем я занимаюсь в свои 20.
А если без сарказма, то это действительно похвальная работа, наконец-то у хабра появится достойное приложение под мобилки. И чем-то твоя работа даже вдохновляет, аж снова появилась воля к разработке своих никому ненужных игр.
Вы уже лучше меня (( В 17 лет я разбирался в ассемблере, прерываниях и писал в delphi. Сейчас мне 37 и я уже не могу написать что-то серьезнее Hello World.
Мне 28 и я учу студентов ассемблеру, прерыванию, выкинул делфи из программы — учу программировать на си. Круг замыкается…

Спасибо за работу. Очень прикольно. Продолжайте развиваться) Интересно увидеть проект на финалочке.


А такой вопрос: а что насчет тем для десктопов? Вот на данный момент пришу с приложения и тут настроек темной темы нет. Или надо открывать этот сайт их хрома (отрывал из под еджа).

А не, я нашел в чем дело) Вопрос с десктопом решил)
SPA он и есть SPA, там по дефолту будет service-worker, который кэширует файлы.
Не вижу связи между SPA и service-worker.
Может вместо SPA имели ввиду PWA?
Больше удобных и разнообразных публичных API для Хабра
Будет удобный инструмент для написания своих для первых приложений

Как идея для повышения популярности?

Крайне удивлен тому факту, что здесь не объявился nin-jin и не рассказал автору о том, что надо было писать весь проект на его фреймворке.
А самому автору спасибо за материал.

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


Вчера фиксил всё, что мог — вот и полетела разметка :(

Над разметкой тоже стоит поработать



Однако, придираться можно вечно, но в целом — отличная работа, учитывая возраст ) Круто, продолжай!
Отлично сделано! Даже не заметил, как habra. оказалась в закладках. Скорее всего темная тема оказалась решающим аргументом (кастомные темы от Stylish вечно подглючивают).

Не поверите, даже у Google есть ошибки в консоли:


Картинка

Это не ошибка Google. Это AdBlock заблокировал запрос.

Реализация комментариев радует. И скорость отображения выше, и прокручиваются без рывков.

Рассматривается ли вами переход на Preact? Это даст более маленький бандл и возможные ускорения в работе с DOM. Конечно некоторые фичи там отсутсвтуют, но их убрали потому что ими вроде и так никто не пользуется.
Сам я не разработчик реакт, мне скорее интересно мнение по этой теме если таковое имеется.

Я пробовал на него переходить, но библиотеку компонентов (MUI) я с Preact подружить не смог. А так Preact довольно классный, с ним быстрее react-scripts стартует (сейчас проект с нуля запускается минуты 3)

Ну это уже остальные заморочки,
Заголовок спойлера
они конечно понадобятся в будущем, уже когда будет полностью готовое приложение. Это так сказать полировка, а полировать неотёсанный проект негоже)
как по мне сейчас важнее узнать всё таки где находится истинный токен и внедрить его в аппу.

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

Еще бы тему Solarized Dark/Light, было бы полное счастье )
Интересно ктото хоть раз пытался сделать пагинацию древовидных коментариев как на хабре в хайлоуде.
Имею некоторый опыт в хайлоаде, конкретно такая задача не попадалась реально в продакшне, но не вижу большой проблемы ни на фронте, ни на бэке.
Достаточно фронту отдавать плоский список с отступами (уровень вложенности), а на бэке хранить дерево в таблице с материализованными путями — это даст вставку в 1 INSERT (c 1 вложенным SELECT'ом для получения пути и уровны родителя) и выборку всего списка в 1 SELECT с ORDER BY по этому пути, без рекурсии и джоинов таблицы на саму себя.
это не работает, если появились новые комментарии к старым родителям
В какой момент появились? За время пейджинга?
Дуров как-то делал конкурс клиентов для Телеграм и некоторые проекты оставил на прикорме чисто для разнообразия экосистемы.
Хабр, договоритесь с автором на умеренную ставку, и пусть он пилит альтернативный клиент для Хабра в своё удовольствие, сам поддерживает связь с сообществом и т.п.
А вы ему только апишки откройте как надо, чтобы авторизация работала, и всё такое.


Очень уж мне понравился этот клиент! Вообще не охота открывать оригинальную мобильную версию....

Тот случай когда "школьник" уделал весь отдел разработчиков крупного ит ресурса )))

Уже разобрались с проблемой получения токенов, конечно, не тех, что хотелось, но всё равно прогресс в сторону добавления функционала для пользователя идёт.

Для меня киллер фитчей был бы каталог с обширными фильтрациями и сортировками, а так же возможность отмечать и убирать уже прочитанные, посмотренные посты из выдачи.

Пока можно только убирать из ленты авторов и компании. Насчет прочитанных постов уже добавил задачу, а вот что вы имеете ввиду под словом "обширные фильтрации"?

Для этого придется парсить хабр, апихи не хватит. Я имею ввиду, чтобы можно было посмотреть например топ самых комментируемых постов, или самых просматриваемых, так же сортировки по плюам, минусам, рейтингу, одновременно фильтрации например только 3 хаба выбранных, только за последние 2 года.

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

Те посты что по ППА оплачены автоматом под CC BY 3.0 и их можно копировать. А за остальные авторы решают но думаю врятли много людей будут против этого.


В то же время поисковики ровно тем же и занимаются не спрашивая никакого разрешения.


Кстати Boomburum вы посты под CC BY 3.0 помечаете как то?

Хм, согласен. Но тут кстати другой интересный вопрос появляется. Текст поста допустим принадлежит автору. А все остальные параметры — рейтинг, хабы, количество комментариев, дата размещения — это же результат размещения на площадке, у автора статьи нет прав на эти данные, он не может ими распоряжаться. А идентификаторы, ники и имена авторов это персональные данные, и если они буду кешироватся в приложении, то это уже хранение персональных данных. В общем я хотел сказать, что это слишком большая работа с неизвестным правовым статусом, и может получиться так, что она будет сделана впустую.

1. Вы про какое приложение? Оба прекратили обновления в 2019 г.
4pda.ru/forum/index.php?showtopic=632943 (темная тема, КПДВ из поста в ленте)
4pda.ru/forum/index.php?showtopic=566249 (портянки текста без картинок в ленте, зато офф приложение)

2. Я правильно понял, что столь быстрая скорость загрузки обеспечивается, в том числе, ещё и полностью выпиленной аналитикой (метрика, гугл, etc)?
  1. Второе, официальное. GeekHabr сейчас вполне неплох, хоть и устарел.


  2. Да, из метрики собираюсь вводить только viewcount или вообще без неё. К тому же, на хабре все аналитики загружаются асинхронно, поэтому не мешают начальной отрисовке приложения.


  1. Увы, GeekHabr не умеет галереи, gif, контейнеры с видео, спойлеры. Те норм отображает только сразу видимый текст и картинки с mothership "habr".

Три. Лучи добра вам за тёмную тему и норм отображение комментов "из коробки"


Четыре. Ждём авторизацию и порт на андроид=)


Зы. Буквами — тк хабр "чинит" нумерацию на свой лад.

UFO just landed and posted this here

Сидел тут в Adobe XD, наваял вот это:


Новый дизайн


Кроме редизайна, сейчас пилю и режу авторизацию, уже сейчас можно логиниться и заходить на свою страницу.

Sign up to leave a comment.

Articles