LINUX.ORG.RU

LORCode Tools: панель тегов и цитирование выделенного

 


21

29

Скрипт добавляет панель тегов над формами ответа/треда/профиля/etc.
Кроме тегов на панели есть специальные функции:

  • «brs» добавляет [br] к переводам строк;
  • «fix», а-ля викификация: превращает (c) в ©, (f) в £, " - " в " — " и еще много;
  • «deltags-in» снимает крайнее (внешнее) обрамления тегами в выделенном.

Добавляет ссылки сверху постов:

  • «блок-цитата» вставляет выделенный текст (или все сообщение) в тегах [quote];
  • «цитата» вставляет текст, добавляя в начало каждой строки стрелочки цитирования (>);
  • «юзер» вставляет обращение через тег [user] к автору соответствующего поста.

Для установки скрипта в Firefox вам необходимо расширение Greasemonkey, по ссылке на скрипт будет предложено установить его.
В Opera смотрите настройки для сайта >> скрипты, где задается папка JavaScript, в которую и должен быть сохранен скрипт.

Обновления:

  • 03.11.2011: v. 0.1
  • 04.11.2011: v. 0.11
  • 13.11.2011: v. 0.12
  • 14.12.2011: v. 0.13
  • 02.01.2012: v. 0.2
  • 14.04.2012: v. 0.21

Форки:

Официально поддерживается только тема black. Форки любого рода приветствуются.

При обновлениях обновляется все тот же файл, а равно ссылка не меняется (по крайней мере пока). Об обновлениях создаются соответствующие посты в треде, ChangeLog ведется на официальной странице. Рекомендую подписаться на тред.

Скрипт базируется на MultiCodePanel 2 (тоже мой проект) и распространяется на условиях лицензии Creative Commons Attribution 3.0 Unported.

Спасибо за помощь Yareg, спасибо авторам статей «Range, TextRange и Selection», «Учимся писать userscript'ы», «Textarea и управление им с помощью javascript», без вас у меня ничего бы не вышло.

Ответ на: комментарий от moscwich

Скрипт не видит твой wrtSel. Я сделал так так. Вроде работает. Т.е. тупо объявил в самом начале.
cast dexpl, valentin_v13, iVS
Проверяйте, если все хорошо, то надо бы расширение поправить :)

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

cipher проверил на хромиуме. твой вариант работает. плюс если кому надо фикс под танго под этот скрипт

cat tango.diff 
--- 2	2013-04-19 09:17:54.016436528 +0300
+++ 3	2013-04-19 09:35:55.464916562 +0300
@@ -107,17 +107,31 @@
 // Styles
 obj = document.createElement ("style");
 obj.innerHTML = '\
-	#atag a {\
-		padding:2px 3px; margin:2px; cursor: pointer;\
-		text-decoration: none; color: #FFF !important;\
-		background-color:#004; border: #888 outset 1px;\
-	}\
-	#atag a:hover {background-color:#008; border-color:#888;}\
-	#atag {\
-		margin-top: 5px; margin-bottom: 5px;\
-		padding: 3px 1px; font-size: 0.9em;\
-	}\
-	#atag > span {margin-right: 4px;}\
+    #atag a {\
+        margin:1px;cursor: pointer;\
+        -o-transform-origin: 14px 17px; background-color: rgb(39, 44, 45);\
+        border-bottom-color: rgb(114, 159, 207); border-bottom-left-radius: 5px;\
+        border-bottom-right-radius: 5px; border-bottom-style: solid;\
+        border-bottom-width: 1px; border-left-color: rgb(114, 159, 207);\
+        border-left-style: solid; border-left-width: 1px;\
+        border-right-color: rgb(114, 159, 207); border-right-style: solid;\
+        border-right-width: 1px; border-top-color: rgb(114, 159, 207);\
+        border-top-left-radius: 5px; border-top-right-radius: 5px;\
+        border-top-style: solid; border-top-width: 1px;\
+        color: rgb(114, 159, 207);\
+        font-family: "Trebuchet MS";\
+        font-size: 14px; height: 22px; line-height: 22.4px; margin-bottom: 5px; margin-top: 5px; max-height: none;\
+        max-width: none; padding-bottom: 5px; padding-left: 4px; padding-right: 4px; padding-top: 5px; text-align: 
+center;\
+        text-decoration: none;\
+        width: 16px;\
+    }\
+	#atag a:hover {background-color:rgb(84, 84, 84); border-color:rgb(186, 189, 182);}\
+    #atag {\
+    margin-top: 5px; margin-bottom: 5px;\
+    padding: 3px 1px; font-size: 0.9em;\
+    }\
+    #atag > span {margin-right: 4px;}\
 	label[for="msg"] {display: inline-block; margin-top: 5px;}\
 	#msg {width: 50em !important;}\
 	label[for="title"], label[for="form_mode"] {display: inline-block; margin: 5px 0 3px 0;\
init_6 ★★★★★ ()

bugreport

moscwich, отвлекись от поездов, займись делом =)

твоя панелька не работает при попытке ответить на стартовое сообщение следующего треда

Опять нетбуки, атомы, дистрибутивы (комментарий)

ps: в этом треде та же байда :(

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

а у меня нет (последний хром на бубунте :( )

ну подскажы хотя бы куда лезть и копать?

Ну и это, я на макскома обиделся.

напомнило

Попытки обьяснить Макскому, что это выглядит … ну как обычно, ни к чему не привели

ZuBB ★★★★★ ()

После описанных манипуляций вообще всё перестало работать.

Если кому-то не лень - выложите нормально скрипт lorcode-tools под tango на userscripts.

ekzotech ★★★★ ()

Здесь писали, что у многих не работает панелька. Дело в том, что скрипт обращается к переключателю режимов ввода, который с некоторых пор отсутствует, если в настройках по умолчанию выбран стандартный режим ввода. Чтобы панелька работала, следует выбрать в настройках режим ввода ULB, при котором у формы ответа появляется переключатель режимов ввода, либо ковырять и править скрипт на предмет обращения к переключателю.

Надеюсь понятно, что мне нет никакого интереса фиксить скрипт, так как на лоре я забанен, а под анонимусом не пишу (как и не пишу в «техразделах»). Если разбанят, обещаю фикс в ближайшие несколько дней с того момента, как мне станет об этом известно.

moscwich.

anonymous ()

fork commit

Добавил сворачивание больших (больше шести строк) блоков с кодом. Высота блока делается 100px, можно вертикально прокручивать или щелкнуть мышью, чтобы полностью развернуть.

Пока еще висит баг с форматированием кавычек внутри тегов [code] и [inline], а также из-за поломанного содержимого профиля пришлось временно (надеюсь, что временно) отключить сворачивание списков тегов в спойлер.

Anon ()

UPDATE форка

Добавил отображение формул. Теперь если формулу запихать внутрь тега "latex", вместо нее будет картинка с codefrogs. Пока что тестирую. Скоро выложу.

Test1: [latex]\int_{-\infty}^\infty \frac{\sin x}{x}dx[/latex]

Test2: [latex]\Sum_{i=0}^\infty x_i[/latex]

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

не работает, два дня назад всё было ок.


вообще, у меня первоначальный скрипт твой сохранился, им и буду пользоваться, лень разбирать код :)


Как раз он на работе и стоит :)
И баг не проявляется с удаленными.

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

Баг с удаленными возник после того, как я "починил" работу скрипта при создании темы или редактировании сообщений в отдельном окне.

Я подозреваю, что сейчас он у тебя не работает из-за очередного издевательства над ЛОРом — тангу, видать, поломали.

Eddy_Em ☆☆☆☆☆ ()

Для тангистов:

--- LOR-panel.user.orig.js      2014-01-05 13:01:08.440592512 +1100
+++ LOR-panel.user.mod.js       2014-01-05 13:00:13.482591800 +1100
@@ -873,8 +873,8 @@
 obj.innerHTML =
        '#atag a {\
                padding:2px 3px; margin:2px; cursor: pointer;\
-               text-decoration: none; color: #FFF !important;\
-               background-color:#004; border: #888 outset 1px;\
+               text-decoration: none; color: #729fcf !important;\
+               background-color:#272c2d; border: #888 outset 1px;\
        }\
        #atag a:hover {background-color:#008; border-color:#888;}\
        #atag {\

blackst0ne ★★★★★ ()
Ответ на: комментарий от lexxus-lex

Ты видел как это отображается на Tango?))

Для танго я себе сделал вот такой фикс одной строки в функции getInner

return head + "<img src=\"http://latex.codecogs.com/png.latex?%5Cbg_white%20%5Cfn_phv%20%5Clarge&space;"
			 + midtext +"\""+"title=\""+midtext+"\">"+getInner(tail,1);

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

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

Так работает:

\Sum_{i=0}^\infinity x_i

А вот так уже ошибка:

{\color{Yellow} \Sum_{i=0}^\infinity x_i}

Подозреваю, что это ошибка визуализатора на codecogs, т.к. при задании цвета этой формуле в их редакторе гуевом тоже все ломается.

Loki13 ★★★★★ ()

Кто-то отметил решенной тему "ссылка на некорректные сообщения", поэтому кнопка "настучать" перестала работать.

Кто пользуется моим клоном, обновитесь!

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от HerrWeigel

Да это вообще жесть! Такие портянки по-хорошему на pastebin надо выкидывать!

Ну и там какое-то ужасное нагромождение квадратных скобок. Возможно, из-за этого косяк.

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

Eddy_Em ☆☆☆☆☆ ()

реквестирую оригинальные лоркод тулзы, работающие в современных браузерах (firefox 32). форк от эдика работает замечательно, но у меня от него волосы перестают быть шелковистыми.

BMX ★★☆ ()