[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]

No.10698 Reply
File: c023dfdf86bff5ec4bb74e4acc0c3fb9.png
Png, 371.17 KB, 670×746 - Click the image to expand
edit Find source with google Find source with iqdb
c023dfdf86bff5ec4bb74e4acc0c3fb9.png
Ящитаю, что API ханабиры нуждается в добавлении следующих фич:
  • инфа о количестве постов и картинок в треде
  • инфа о размерах прикреплённых картинок
  • возможность извлечь N постов из определённого треда, которые идут до поста с определённым айдишником (like /api/thread/prev/b/1.json?post=10&count=5)
  • возможность получить рандомный баннер для указанной доски
Админ! Сделай же! Ну пожалуйста!
>> No.10699 Reply
>>10698
> извлечь N постов из определённого треда, которые идут до поста с определённым айдишником
Гммм, а зогчем?
Для автодобавления новых ответов текущего функционала должно хватать по идее.
> инфа о размерах прикреплённых картинок
Можно конечно публиковать метаданные файлов, но надо учитывать, что они для разных типов файлов разные. И вообще их присутствие не гарантируется.
>> No.10701 Reply
>>10699
> Для автодобавления новых ответов
Допустим, я пришёл с работы/учёбы/прогулки и вижу, что за время моего отсутствия в мой тред с 300 сообщениями написали ещё 50. Из них отображаются только 10 последних и ещё 40 скрыто.
Как мне их прочитать? Правильно, открыть или развернуть тред (и загрузить 300 уже прочитанных мной сообщений) и долго и мучительно прокручивать до тех пор, пока не найду первый непрочитанный пост.
Как я хотел бы: нажать кнопку "загрузить 10|25|50 предыдущих".
(Кстати, похожая проблема бывает, когда приходишь с работы/учёбы/прогулки и видишь потенциально интересный тред с 300+ сообщениями, который появился за время отсутствия. Вместо открытия/раскрытия треда можно было бы нажать на кнопку "загрузить 10 первых сообщений", ну или типа того.)
> текущего функционала должно хватать
Ну так-то да, хватает. Пункты 1 и 3 можно реализовать на основе данных из чего-нибудь типа /thread/new/b/1.json?last_post=1, а пункты 2 и 4 - выкачивая соответствующий пост или страницу доски.
> Гммм, а зогчем?
Ради экономии же. Если не все скачиваемые данные нужны, то мне даже как-то неловко вставлять такой код в юзерскрипт.
>> No.10702 Reply
>>10701
> Правильно, открыть или развернуть тред (и загрузить 300 уже прочитанных мной сообщений) и долго и мучительно прокручивать до тех пор, пока не найду первый непрочитанный пост.
> Как я хотел бы: нажать кнопку "загрузить 10|25|50 предыдущих".
А не логичней просто сделать сохранение айди последнего прочитанного сообщения и кнопку "показать все непрочитанные ответы"?
У меня есть мысль попробовать реализовать это нативно, также, как в гмейле сделано сворачивание прочитанных сообщений в треде.

Но в принципе суть понял, добавить такую функцию не проблема.
>> No.10703 Reply
>>10702
> сделать сохранение айди последнего прочитанного сообщения
Если последним прочитанным сообщением будет считаться последнее видимое сообщение в треде, то кнопка "загрузить 10|25|50 предыдущих" всё равно понадобится: вдруг я не прочитал это сообщение, ну или просто захочу освежить память без загрузки всего треда.
Вариант с кнопкой "запомнить" на каждом посте совершенно не юзабелен и потребует большой усидчивости (типа "ага, иду гулять - не забыть «запомнить» айдишничек поста в том-то треде").
>> No.10704 Reply
>>10703
Ну я потому и упомянул гмейл - каким-то образом они отслеживают какое сейчас сообщение читается. Я еще не пытался реализовать это, но по идее можно установить, какие сообщения на данный момент видимы, по положению скролла например. Тогда можно считать прочитанными те, которые выше видимой области, т.е. уже пролистанные.
>> No.10705 Reply
>>10704
> можно установить, какие сообщения на данный момент видимы, по положению скролла например. > считать прочитанными те, которые выше видимой области
К чему такие усилия?
Ведь если я "просто захочу освежить память без загрузки всего треда", то кнопка "загрузить 10|25|50 предыдущих" будет более уместна.

Хотя делайте что хотите, только новый апи запилите. Спасибо.
>> No.10710 Reply
И обязательно нужно сдѣлать, чтобы счетчикъ не учитывалъ скрытые треды.
>> No.10711 Reply
>>10698
На мой взгляд, есть очень симпатичная функция степашиного куклоскрипта, которую было бы неплохо реализовать и в доброчановском движке: если пост А ссылается на пост Б, то ссылка должна быть не только в посте Б, но и в посте А должна появляться ссылочка на пост Б как ссылающийся на пост А.
>> No.10712 Reply
>>10711
Ты имел в виду "Если пост Б ссылается на пост А, то ссылка должна быть не только в посте Б, но и в посте А должна появиться ссылочка на пост Б, как ссылающийся на пост А"?
>> No.10713 Reply
>>10712
Да, именно так.
>> No.10752 Reply
>>10698
> инфа о количестве постов и картинок в треде
Сделано, хотя за точность цифр не ручаюсь, особенно касательно файлов. Они что-то показывают, но я не помню, что. Либо количество файлов в треде, либо количество постов с файлами, либо погоду на марсе.
> инфа о размерах прикреплённых картинок
Добавил в экспорт метаданные файлов. Для картинок, там есть размеры.
> возможность извлечь N постов из определённого треда, которые идут до поста с определённым айдишником
http://hanabira/api/thread/last/{board}/{thread_id}.js
http://hanabira/api/thread/last/{board}/{thread_id}.js?count=10 # последние 10 постов
http://hanabira/api/thread/last/{board}/{thread_id}.js?last_post={post_id} # посты до этого сообщения
http://hanabira/api/thread/last/{board}/{thread_id}.js?count=10&last_post={post_id} # последние 10 до этого сообщения
> возможность получить рандомный баннер
Не понял зачем, но
/api/banners.js
Выбрать оттуда доску и баннер тривиально
>> No.10763 Reply
>>10752
Отличная новость!


Password:

[ /tv/ /rf/ /vg/ /a/ /b/ /u/ /bo/ /fur/ /to/ /dt/ /cp/ /oe/ /bg/ /ve/ /r/ /mad/ /d/ /mu/ /cr/ /di/ /sw/ /hr/ /wh/ /lor/ /s/ /hau/ /slow/ /gf/ /vn/ /w/ /ma/ /azu/ /wn/ ] [ Main | Settings | Bookmarks | Music Player ]