LINUX.ORG.RU

lorify-ng новое универсальное расширение для LOR -а

 , ,


23

14

Это реинкарнация проекта lorify - скрипт+расширение, реализующее функционал схожий с тем, что добавляет куклоскрипт для имиджборд.

Расширение умеет:

  • Получать сообщения от сервера через WebSocket и обновлять контент на странице (новые комментарии, уведомления, правки)
  • Индикацию на фавиконе вкладки о количестве новых комментариев (очищается даблкликом в любом месте страницы);
    Цвета информируют о состоянии соединения с сервером (зеленый - ок, желтый - отсоединился, красный - сбой)
  • Системные оповещения о уведомлениях пользователя (для юзерскрипта требуется «разрешить сайту www.linux.org.ru показывать уведомления»)
  • Динамическая навигация по страничкам темы (по умолчанию подгружается только текущая открытая и последняя, в настройках можно задать количество подгружаемых заранее)
  • Само собой показ превью постов и ссылки указывающие на комментарии с ответами
  • Кнопки разметки и хоткеи (гайд по использованию)
  • Просмотр, масштабирование и поворачивание картинок, как для встроенных превью в топике так и доступных в тексте комментариев по прямым ссылкам (если url картинки имеет непрямой вид к нему можно добавить хэштег с названием и расширением картинки imghost.orc/24dfuh5d1#скриншот.png)
  • Цитирование с форматированием, как всего комментария так и выделенного в нем текста


Доступны следующие варианты установки

  • Юзерскрипт(тестировался с Violentmonkey)
  • Аддон для Firefox
  • Chrome (платный, нужно $5)
    • можно так же установить вручную включив на странице chrome://extensions режим разработчика и выбрав папку с исходниками расширения в качестве распакованного

WebExtension имеет некоторое преимущество перед юзерскриптом. В частности при переходе по ссылкам на другие темы форума, ищет уже открытую во вкладках, а так же умеет проверять уведомления в фоне.

>>> Страница проекта на GitHub

★★★

Последнее исправление: uin (всего исправлений: 10)
Ответ на: комментарий от eternal_sorrow

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

shashilx ★★
()
Ответ на: комментарий от shashilx

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

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

я живу не один (да и даже если бы один), есть жена, есть мелкий. и пускай у каждого свой девайс, но иногда бывает что жена садится за мой комп. я за малого. и мне совсем ненадо, чтоб открыв вконтактик - открылся мой профиль. или почта (хотя почта и открывается запросто в программе, без всяких паролей). или еще что. друзья могут прийти, сесть за комп. мелкий друга может привести и они могут засесть. да пофигу. даже ноут, за которым 99.99% сижу я. нафига мне нужны эти - запоминания меня? рабочее место. нафига мне, чтоб ктото сел и без паролей мог взять и попасть в мой аккаунт (да, да, почта открыта, да, да, сам себе типа противоречу). я этой фичей всех друзей/товарищей проучаю. пришел, сел за чужой комп, открыл ********.com и пиши чо хтишь. а потому что нефиг. обычно все с первого разу понимают, но бывают упоротые, я не запоминаю пароли, ты казел, аааааа. пофиг.

shashilx ★★
()
Ответ на: комментарий от shashilx

У тебя BeOS, что ли, что ты не можешь создать другую учётку для жены, дитяти, друзей, водопроводчика?

Deleted
()
Ответ на: комментарий от Deleted

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

shashilx ★★
()
13 июня 2018 г.

Это нормально, что не работает под анонимусом?

TypeError: main_events_count is null  lorify-ng.user.js:1061:6

При логине такого нет.

utf8nowhere ★★★
()
Последнее исправление: utf8nowhere (всего исправлений: 1)

куклоскрипт для имиджборд

Ась?

Zhbert ★★★★★
()
Ответ на: комментарий от utf8nowhere

Я вас умоляю. В этом мире, если нужна справедливость, надо закатать рукава и собственноручно обеспечить ее торжество. Но это мое личное мнение.

Кстати, код открыт. Ты можешь допилить его до анонимуса.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

та шо ви говорите? )) щас опробую!

UPD: опробовал, это просто бальзам на душу, теперь нинада логиниться чтоб просто почитать лор с удобствами. А-ФИ-ГЕТЬ!!!!!!

shashilx ★★
()
Последнее исправление: shashilx (всего исправлений: 1)
Ответ на: комментарий от shashilx

Ну и хорошо. Я бы сделал PR в репу uin, чтобы он обновил Lorify-ng, но не факт, что ему это будет надо и интересно, учитывая, что он и на LOR'е не появляется.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

А можно это в виде одного js файла, который надо просто исполнить на странице?

А то сейчас использую

$('<link rel="stylesheet" type="text/css" href="/waltz/combined.css"/>').appendTo('head');

$.getScript('https://rawgit.com/turbolinks/turbolinks/master/dist/turbolinks.js', function() {
	p = Turbolinks.Location.prototype.isHTML;
	Turbolinks.Location.prototype.isHTML = function() {
		return  p.call(this) || this.getExtension().match('.jsp')
	}
});

document.addEventListener('turbolinks:load', function() {
	$('article.msg').each((i, x) => {
		if ($(x).find('[itemprop=creator]').text().startsWith('rezedent') || $(x).find('.title').text().includes('от rezedent')) {
			$(x).find('.msg-container').hide()
		}
	});

	$('link[rel=stylesheet]').filter(function(i, v) {
		document.body.setAttribute('style', 'max-width: 800px; margin-left: 0px');
		$('.code code').css('white-space', 'pre-wrap');

		return v.href.match('tango/combined')
	}).attr('rel', 'alternate stylesheet');

	$('#comments .msg').each((i, comment) => {
		$(comment).find('.msg_body p').each((i, para) => {
			var para = $(para).find('i') || $(para);
			para.each((i, inner) => {
				if (inner.textContent.trim().match(/^>(( )?(>)?(>)?( )?)?/)) {
					inner.setAttribute('style', 'color: forestgreen')
				}
			})
		})
	})
});

var T = {
	v: function(uri) {
		Turbolinks.visit(uri)
	}
};

setTimeout(() => {
	Turbolinks.visit(window.location.toString())
}, 2000);

anonymous
()
Ответ на: комментарий от anonymous

А можно это в виде одного js файла, который надо просто исполнить на странице?

Ты имеешь в виду юзерскрипт или что? Если не юзерскрипт, то зачем нужно такое извращение? Не используешь Firefox?

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Для планшета, очевидно же. Там нет не юзерскриптов, ни аддонов. В могильном Chrome, в могильной Opera. Зато есть javascript: scheme. Поэтому я копипащу сниппет.

А вот в могильном Firefox, кстати, javascript: scheme не работает никак вообще, даже после ковыряния в about:config. Очень странно.

В общем, да, юзерскрипт, но без использования фишек GM (его аналогов localstorage и функций).

anonymous
()
Ответ на: комментарий от anonymous

Для планшета, очевидно же. Там нет не юзерскриптов, ни аддонов. В могильном Chrome, в могильной Opera. Зато есть javascript: scheme. Поэтому я копипащу сниппет.

А вот в могильном Firefox, кстати, javascript: scheme не работает никак вообще, даже после ковыряния в about:config. Очень странно.

В могильном Firefox зато есть нормальные юзерскрипты. Устанавливаешь аддон Stylus и пожалуйста. Но вы же хотите есть кактус.

А ссылка на юзерскрипт, кстати, есть в ОП. Пробуй сам, мне твой извилистый путь для тестирования повторять не хочется.

Virtuos86 ★★★★★
()
Последнее исправление: Virtuos86 (всего исправлений: 1)
Ответ на: комментарий от Virtuos86

Шо? Это не извилистый, а самый простой какой может быть. Пишешь в адресной строке javascript:<всё тело скрипта>

Ладно, разберусь сам.

anonymous
()
Ответ на: комментарий от anonymous

Не, реально, чем Хромой на планшете лучше Файерфокса? По-моему УГ'шный браузер. Гугл не умеет в мобильное ПО особо. Клавиатура их, например, полным говном была, пока они не надергали из других популярных клав удачные решения, свайп там и т.д. Про тормознючие и жручие гапсы вообще молчу.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Не, реально, чем Хромой на планшете лучше Файерфокса?

Так всем. Ощущается абсолютно так же (да он и правда состоит из того же кода), как на копьютере. Вот планшетной лисой-то как можно пользоваться обесни? Загрузка тормозит, UI тормозит, интерфейс меняется от версии к версии, раньше ещё были тупые табы картинками сбоку.

Гугл не умеет в мобильное ПО особо.

Та ну. Создатель андроида и material design и не умеет?

Клавиатура их, например, полным говном была

Стоковые клавы не нужны, пользуюсь Hackers Keyboard, а вот Google Japanese Input и Handwriting Input незаменимы.

Про тормознючие и жручие гапсы вообще молчу.

Это да. Но когда не привязан к гугль-аккаунту они неудобств не доставляют.

Но это спор о том, кто к чему привык. Т.е. бесплодный.

anonymous
()
Ответ на: комментарий от anonymous

Гугл не умеет в мобильное ПО особо.

Та ну. Создатель андроида и material design и не умеет?

Андроид это не «мобильное ПО», это системное. Ну и оно было говном до 4-ой версии. Material Design — это дизайн. Так-то и Holo интерфейс можно вспомнить, тоже ничего был на момент появления.

Клавиатура их, например, полным говном была

Стоковые клавы не нужны

Она не только стоковая, её и в маркете можно скачать.

Но это спор о том, кто к чему привык. Т.е. бесплодный.

Как посмотреть.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

Virtuos86, версии на сегодня синхронизированы, хз кто и когда сделал.

https://addons.mozilla.org/ru/firefox/addon/lorify-ng-for-anonymous/
https://addons.mozilla.org/ru/firefox/addon/lorify-ng/

Обе указывают на

https://addons.mozilla.org/firefox/downloads/file/988390/lorify_ng-2.4.0-an f...

mandala ★★★★★
()
Ответ на: комментарий от mandala

Очень любопытно. У меня в ленте активности никаких изменений не значится, связанных с этим дополнением. У оригинального тоже последнее изменение датировано полугодовой давностью. И uin на ЛОР не заходил. Фиг его знает. Может, чуваки, которые одобряют публикацию дополнений, подсуетились.

Virtuos86 ★★★★★
()
4 августа 2018 г.

Подскажите кто, это только у меня так, что этот скрипт\расширение ломает поведение при переходе к след. странице комментариев? Перестает переходить к первому комментарию на след. странице. И может кто знает как починить, а то я в JS не силен.

Loki13 ★★★★★
()

Ни у кого больше не перестало работать расширение? У меня уведомления не проверяет в фоне больше, только когда открою или обновлю страницу.

Virtuos86 ★★★★★
()
Ответ на: комментарий от Virtuos86

У тебя же юзерскрипт, или нет?

ptah_alexs
Сделай обводку всплывающих сообщений, а то не очень выглядит.

Сделал.

ox55ff
Почему на панели кнопок нет тега br?

Я думал им никто не пользуется. Сделал с мультистрочным добавлением.

Samamy Tihon_Asdop
кстати у меня одного не работает снятие галочки «Оповещения на рабочий стол:» в расширении ?

Исправлено.

utf8nowhere
Это нормально, что не работает под анонимусом?

Нет, это баг. Исправлено.

Loki13
Перестает переходить к первому комментарию на след. странице.

Добавил опцию (по умолчанию включена).

uin ★★★
() автор топика
Ответ на: комментарий от uin

У тебя же юзерскрипт, или нет?

Нет, твой аддон, установленный с AMO.

Virtuos86 ★★★★★
()

Найден такой баг, что часто пропадает «Ответить на это сообщение» у поста со включенным дополнением.

ozz_is_here
()
Ответ на: комментарий от uin

Большое спасибище! А то очень не хватало.

Loki13 ★★★★★
()
Ответ на: комментарий от uin

Странно, но на другом ПК все ок. Проверю потом.

ritsufag ★★★★★
()

Во-первых, спасибо большое за расширение!
Прости, а что значит «Возвращать наверх» в настройках?

Gonzo ★★★★★
()

За расширение спасибо. Только извещения работают как-то странно - то не появляются, пока не обновишь страницу, то сообщаются системой по нескольку раз. Firefox 60ю

tailgunner ★★★★★
()
Ответ на: комментарий от Gonzo

Ну типа когда по страницам в треде переходишь оно к первому коменту прыгает.

tailgunner
Плохо продумана система оповещений.
Надо переделать.

uin ★★★
() автор топика
Ответ на: комментарий от uin

Понял, спасибо! Теги для комментирования вообще агонь, очень удобно.

Gonzo ★★★★★
()
Ответ на: комментарий от tailgunner

У меня в последнее время такая же история, а раньше работало чётко. И не припомню, то ли после очередного обновления огнелиса это произошло, то ли еще что…

Virtuos86 ★★★★★
()

Пропадает кнопка «Ответить на это сообщение». Пример https://i.imgur.com/UakairM.png

Происходит когда с последней страницы топика перехожу на первую страницу, иногда просто когда открываю топик из трекера. lorify-ng 2.5.0 (от 5 сентября 2018 года), FF 62.0.2. Список установленных дополнений https://i.imgur.com/I2DycxL.png

dnb ★★★★
()
Последнее исправление: dnb (всего исправлений: 1)

Chrome (платный, нужно $5)

В смысле разместить там стоит $5 ? А где-то его вообще можно скачать для Хромого? И если да, то как его упаковать и т.д.?

Gonzo ★★★★★
()
Ответ на: комментарий от Gonzo

UserScript заюзай, это проще, заодно возьми еще скриптов для лора полезных:

.:: UserScript (испытывался с Violentmonkey) ::.

https://greasyfork.org/ru/scripts/27386-linkify-user-remarks — делает кликабельными ссылки в примечаниях к регистрантам ЛОРа

https://greasyfork.org/ru/scripts/26997-lor-spoiler — скрывает под спойлер большие блоки кода в комментариях

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 2)
Ответ на: комментарий от mandala

Спасибо, но как-то до сих пор не нуждался в этих дополнениях. И да, не люблю все эти Greasemonkey/Violentmonkey и скрипты к ним (кстати, была ж какая-то тема, что Greasemonkey изговнился и там была куча вредоносного кода среди скриптов. Что там сейчас с ним?). А готового дополнения нет для хрома? И чем UserScript проще? Поясни, плиз.

Gonzo ★★★★★
()
Последнее исправление: Gonzo (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.