Anton Volnuhin ([info]anton) wrote,
  • Mood: working

AVThreader 2.0

Наконец вышла новая версия раскрывателя жж-ных тредов:) В этот раз, я переписал его с нуля, благодаря чему исправлены многие родовые травмы, а также код теперь стал более-менее приличным (насколько это вообще можно сказать о коде на PHP).

Традиционно, работают два полноценных зеркала:

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

Пример раскрытого треда: http://lj.setia.ru/threader/threader.php?http://livejournal.com/users/zhgun/315399.html

Основные улучшения новой версии с точки зрения пользователей:
  • гораздо меньше вероятность ошибок и неправильно открытых тредов;

  • гораздо больше скорость работы, благодаря тому, что теперь Тридер кэширует данные; теперь даже самые длинные треды будут открываться быстрее;

  • Тридер теперь сам предпринимает попытки открыть нестандартные страницы в одном из стандартных стилей, так что об этом придётся меньше задумываться, и больше шансов, что всё откроется само так как надо;

  • благодаря обновлённому коду, обнаруженные ошибки теперь будут исправляться мной гораздо быстрее;

  • любой желающий теперь сможет довольно просто добавить к Тридеру поддержку нестандартного стиля (практически любого).


Любые предложения и сообщения об ошибках можно писать к этой записи. Я буду очень благодарен за любые комментарии:)

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

Update: Развернуть комментарии к этому посту.
Tags: threader

  • Post a new comment

    Error

    Your IP address will be recorded 

  • 221 comments
Previous
← Ctrl← Alt
Next
Ctrl →Alt →

[info]ex_a1exas757

January 16 2006, 03:32:02 UTC 6 years ago

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

[info]v_melnik

January 16 2006, 04:41:27 UTC 6 years ago

Очень здОрово.
А доступен ли код?

[info]anton

January 16 2006, 04:58:10 UTC 6 years ago

Написано в последнем предложении:)

Код будет доступен на этой неделе. Я хочу исправить основные ошибки, которые заметят и сделать ещё несколько усовершенствований перед тем, как выкладывать.

[info]kitya

January 16 2006, 04:47:14 UTC 6 years ago

почему-то не могу дождаться ответа от
http://lj.setia.ru/threader/threader.php?http://www.livejournal.com/users/kitya/177548.html

[info]anton

January 16 2006, 04:56:36 UTC 6 years ago

Просто у ЖЖ сейчас проблемы, поэтому он изредка выдаёт ошибки. Комментарии кэшируются на каждой попытке, поэтому имеет смысл пытаться снова.

У меня сейчас открылось. Теперь все комменты закэшировались, так что и у Вас откроется скорее всего.

Сейчас сделаю, чтобы он побольше попыток делал перед тем, как сдаваться:)

[info]kitya

6 years ago

[info]anton

6 years ago

[info]kitya

6 years ago

[info]anton

January 16 2006, 05:30:30 UTC 6 years ago

Поправлено; теперь открывается.

[info]alex_rex

6 years ago

[info]hell_me

January 16 2006, 07:46:23 UTC 6 years ago

в мемориз!

[info]kokosov

January 16 2006, 08:00:19 UTC 6 years ago

Опять не сохраняет логин в жж при раскрытии :-(((

[info]anton

January 16 2006, 09:40:26 UTC 6 years ago

Вы бы приводили сразу и пример - на каких адресах не работает. Потому, что у меня всё сохраняет. Возможно, виновато какое-то конкретное сочетание параметров.

[info]kokosov

6 years ago

[info]anton

6 years ago

[info]kokosov

6 years ago

[info]anton

6 years ago

[info]kokosov

6 years ago

[info]anton

6 years ago

[info]annuak2005

5 years ago

[info]penguinny

January 16 2006, 08:25:30 UTC 6 years ago

Попробовал http://ljplus.ru/threader/threader.php?http://www.livejournal.com/users/artem_r/154355.html и одну из своих страниц - в обоих случаях возвращается чистая страница. Не посмотрите, в чём может быть проблема? Я сознательно не авторизовался.

Отсюда вопрос. Насколько критична авторизация пользователя для работы скрипта? На своей странице я генерирую автоматические ссылки на разворачивание тредов - понятно, что люди, заходящие ко мне, запросто могут не иметь нужный пряник на ljplus. Можно ли сохранить нужную функциональность скрипта без авторизации?

[info]anton

January 16 2006, 09:43:14 UTC 6 years ago

Попробуйте вот так: http://lj.setia.ru/threader/threader.php?http://www.livejournal.com/users/artem_r/154355.html

LjPlus сейчас несвязанно (надеюсь) с Тридером сейчас лежит.

[info]anton

6 years ago

[info]penguinny

6 years ago

[info]anton

6 years ago

[info]anton

6 years ago

[info]2iz

January 16 2006, 08:40:16 UTC 6 years ago

не работает если

использовать http://livejournal.com/~somebody/xxxx.html

Error: Can't determine username or postid: http://livejournal.com/~somebody/xxxx.html

[info]anton

January 16 2006, 10:49:03 UTC 6 years ago

Re: не работает если

Исправил. Теперь должно работать.

[info]rvnikita

January 16 2006, 09:25:50 UTC 6 years ago

Антон, спасибо большое!

[info]bastardo

January 16 2006, 10:12:09 UTC 6 years ago

Спасибо!

[info]mithgol

January 16 2006, 10:55:56 UTC 6 years ago

На http://lj.setia.ru/threader/threader.php?http://www.livejournal.com/community/rulj/855383.html вижу:

Warning: Invalid argument supplied for foreach() in d:\web\1gb.ru\hosted\lj-setia-ru_32f9db73\threader\threader.php on line 364



Warning: reset(): Passed variable is not an array or object in d:\web\1gb.ru\hosted\lj-setia-ru_32f9db73\threader\threader.php on line 271




Warning: Invalid argument supplied for foreach() in d:\web\1gb.ru\hosted\lj-setia-ru_32f9db73\threader\threader.php on line 249



Warning: Invalid argument supplied for foreach() in d:\web\1gb.ru\hosted\lj-setia-ru_32f9db73\threader\threader.php on line 256


Может быть, там urldecode() добавить или что-нибудь подобное? Я не уверен, что браузер посылает второе двоеточие в сыром виде.

[info]anton

January 16 2006, 11:06:05 UTC 6 years ago

Дело не в браузере, а в том, что там не было того, что нужно разворачивать. Исправил.

[info]r_l

January 16 2006, 11:34:35 UTC 6 years ago

Спасибо, полет нормальный.

[info]denis_kostin

January 16 2006, 19:14:28 UTC 6 years ago

Спасибо! Давно задававл вопрос, попробую ещё раз: возможно сделать так, чтобы скрипт работал непосредстенно в Опере, т.е. при большом колличестве ответов в посте, открыв который, коменты разворачивались бы автоматически не обращаясь на сайт.

[info]anton

January 16 2006, 21:05:37 UTC 6 years ago

А что именно вы имеете в виду по „работал непосредственно в Опере“?
Может, подойдёт кнопка для FireFox из плагинов (она должна работать и в Опере) — тогда, нажав ей, находясь в посте со свёрнутыми комментариями, можно будет их раскрыть, не заходя вручную на страницу Тридера.

[info]anton

6 years ago

[info]kashaev

5 years ago

Anonymous

5 years ago

[info]feldgendler

January 16 2006, 19:20:20 UTC 6 years ago

Кстати, теперь со стилями можно не заморачиваться вообще -- ставим ?format=light и парсим всё что надо, после чего выдаём, имитируя XColibur. Или не имитируя даже. Или задача именно сохранить оформление оригинала?

Кстати, пришла в голову мысль в целях экономии трафика перейти на AJAX: треды показываются свёрнутыми, как обычно в ЖЖ. При нажатии на заголовок свёрнутого треда JavaScript подгружает тред, начинающийся с этого комментария, и заменяет им обрубки-заголовки. В конце концов, ведь не в каждом обсуждении интересны абсолютно все комментарии -- зачем же тратить на них время и деньги? Но те, которые интересны, читать станет легко и удобно.

[info]anton

January 16 2006, 21:03:56 UTC 6 years ago

Я не знал про ?format=light. Но сейчас посмотрел и не понял, чем это отличается от usescheme=lynx.

Про AJAX — да, это было бы здорово. Как и вообще любое решение от самого ЖЖ. Сейчас есть какой-то скрипт для GreaseMonkey с похожей функциональностью, но он очень сырой. Хотя, может, и стоит того, чтобы им заняться и доработать его.

[info]anton

6 years ago

[info]kitp

6 years ago

[info]kitp

6 years ago

[info]anton

6 years ago

[info]kitp

6 years ago

[info]anton

6 years ago

[info]anton

6 years ago

[info]kitp

6 years ago

[info]anton

6 years ago

[info]kitp

6 years ago

[info]moon_aka_sun

January 16 2006, 19:30:09 UTC 6 years ago

1) http://lj.setia.ru/threader/ -- v2.0 (16.01.2005) -- 2006-й год, наверное?
2) Threаd читается скорее как тред, если на произношение th наплевать.
3) Попробовал на http://www.livejournal.com/users/avva/1481343.html - оба раза вернулась пустая чистая страница. Вероятно, по тайм-ауту отваливается.
4) Ага, про исходники уже спросили. Было б интересно запустить на localhost.
5) Спасибо!

[info]anton

January 16 2006, 21:22:37 UTC 6 years ago

1) Точно, спасибо.
2) Я знаю. %)
3) Там просто очень много страниц, которые не получится закэшировать, да ещё и комментарии. Сейчас уже большинство закешировались, через раз открывается. Нужно будет добавить режим, в котором Threader не будет пытаться собрать многостраничные комментарии, а будет только открывать текущую страницу.
4) Будут на неделе, как только пройдёт первый вал ошибок и я чуть-чуть переработаю те вещи, которые хотел, но не успел к пуску.
5) Пожалуйста!:)

[info]zhgun

January 16 2006, 21:52:19 UTC 6 years ago

Клевая штука.

[info]anton

January 17 2006, 11:51:25 UTC 6 years ago

Спасибо!
Картинка по ссылке на пост — тоже клёвая:)

[info]larichev

January 17 2006, 12:32:08 UTC 6 years ago

спасибо за эту полезную штуку. пользовался первой версией - очень опечалился когда её отрубили :)

а что значит и, соответственно, что делать, если отвечает на большой пост - вернуло зеро или чего-то такое...

PS. смотрю firefox'ом

[info]anton

January 17 2006, 12:44:59 UTC 6 years ago

Сначала сделать ещё пару попыток его открыть, а если не получается — написать мне здесь конкретную ссылку, которая не работает, я постараюсь разобраться.

[info]larichev

6 years ago

[info]anton

6 years ago

[info]larichev

6 years ago

[info]oleg_pavliv

January 18 2006, 15:29:20 UTC 6 years ago

Спасибо, полезная штука.
Можно ли ее немного параметризировать, например, показывать комментарии без смещения (offset), иначе большие ветки невозможно распечатывать?

[info]anton

January 19 2006, 13:04:45 UTC 6 years ago

Добавил в список того, что нужно сделать. В следующей версии будет:)

[info]btf

January 19 2006, 12:56:59 UTC 6 years ago

Error: Can't determine username or postid. - на ссылке в самом низу (Update: Развернуть комментарии к этому посту.)

[info]anton

January 19 2006, 13:03:53 UTC 6 years ago

Это из-за последних изменений в ЖЖ. Спасибо, исправил.

[info]kassian

January 19 2006, 19:57:16 UTC 6 years ago

Добрый день!

Огромное спасибо за полезную фичу. Благодаря вам, интерфейс жж стал более юзабельным.

У меня не раскрывается этот тред:
http://kassian.livejournal.com/11718.html
(Комметнариев там совсем немного, <100)

Пробовал несколько раз за эти два дня: всегда пустая страница.

[info]anton

January 22 2006, 03:07:33 UTC 6 years ago

Да, действительно ошибка. В ближайшей версии исправлю.

[info]zhzhitel

January 20 2006, 11:32:33 UTC 6 years ago

Спасибо!
Если можно, посмотрите - к Maxthon плагин не работает. Это только у меня?

[info]ex_artemius855

January 25 2006, 23:16:43 UTC 6 years ago

у меня перебрасывает на страницу http://lj.setia.ru/threader/ и всё. т.е. по сути работает как ссылка в "Избранном", не производя никаких действий.

[info]anton

6 years ago

[info]anton

6 years ago

[info]larichev

January 22 2006, 16:20:07 UTC 6 years ago

здесь http://lj.setia.ru/threader/ кнопки указывают на ljplus...

сразу невъехал почему если скормить ссылку на сайте, то раскрывает, а если кнопку с сетии юзать эффект такой же как на лжплюс :)))

сетия у меня открывает быстрее (да и вообще открывает) чем лжплюс... от чего это зависит?

[info]hedgehog_13

January 24 2006, 16:09:16 UTC 6 years ago

Перестала работать авторизация.

[info]anton

January 24 2006, 16:23:19 UTC 6 years ago

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

[info]anton

6 years ago

[info]samoylik

January 25 2006, 18:33:25 UTC 6 years ago

http://ljplus.ru/threader/threader.php?http://jblank.livejournal.com/81352.html - пустая страница

[info]samoylik

January 25 2006, 18:37:00 UTC 6 years ago

хотя, через setia.ru открылось

[info]anton

6 years ago

[info]_zee_

January 26 2006, 11:59:10 UTC 6 years ago

А когда код будет? )

[info]anton

January 27 2006, 03:06:02 UTC 6 years ago

Вместе со следующей версией. А она будет как только в ЖЖ немного утрясутся последствия последних изменений. Думаю, на следующей неделе будет.
Previous
← Ctrl← Alt
Next
Ctrl →Alt →
Create an Account
Forgot your login or password?
Facebook Twitter More login options
English • Español • Deutsch • Русский…