Обсуждение MediaWiki:Summary

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

См. также[править код]

Обсуждение[править код]

Может быть так:

    /^([*#]+| ?\|)(\w)/g

Paul Pogonyshev 19:36, 4 Янв 2005 (UTC)

Спасибо! Я действительно забыл про якорь. Но я всё же решил оставить старое, уже протестированное выражение, слегка его модифицировав:
txt=txt.replace(/^([#\*])([\*#]*)([\w\d])/mg, "$1$2 $3");

Содержимое кавычек[править код]

Нельзя ли убрать «Текст в кавычках»? Пусть вставляет пустые кавычки, а то надоело уже удалять. — Paul Pogonyshev 20:33, 4 Янв 2005 (UTC)

Убрал. Но, вообще, можно было перед нажатием на кнопку просто выделить текст. Тогда бы фраза "Текст в кавычках" не появилась бы. --Ctac (Стас Козловский) 08:50, 5 Янв 2005 (UTC)
Да, я знаю, но я просто привык набирать кавычки сразу, иначе не получается. — Paul Pogonyshev 20:34, 5 Янв 2005 (UTC)
Кстати, в Опере иначе вообще нельзя. Как-то там всё странно реализовано... А вот в УРЛах Опера умеет показывать Уникод, а не %D0%92%D0%B8%D0%BA%D0%B8%D0%BF%D0%B5%D0%B4%D0%B8%D1%8F:%D0%A4%D0%BE%D1%80%D1%83%D0%BC - такой красоты я кроме неё нигде ещё не видел.--Алексей (ACrush) 09:48, 22 июн 2005 (UTC)
Поставь в Firefox расширение Human URL, тогда и тамъ увидишь. —Mithgol the Webmaster 04:25, 30 мая 2006 (UTC)[ответить]

Ударение[править код]

<A href="javascript:insertTags(' ́',,);" style="text-decoration: none;color:#000" title="Ударение">'
                               ^^^^

Пробел перед ударением явно не к месту --Maxim Razin 21:02, 4 Янв 2005 (UTC)

Исправлено. --Ctac (Стас Козловский) 08:50, 5 Янв 2005 (UTC)

Однобуквенные слова[править код]

Насчёт кавычек вокруг слов из одной буквы. Почему бы не сделать это отдельным регэкспом, что нибудь типа \"(\w)\"? Или пустить такую штуку через оператор «или» («|»). — Paul Pogonyshev 13:35, 6 Янв 2005 (UTC)

Викификация неразрывных пробелов[править код]

Викификатор должен трактовать неразрывный пробел (&nbsp;) так же как и обычный. В частности, в вопросах расстановки тире и кавычек. — Paul Pogonyshev 14:18, 12 Янв 2005 (UTC)

Congratulations for the Викификатор — it's a nice tool! However it puts additionaly 7,5 K to every edit page. It's not such a big deal for people with fast internet connection, but why to do so if it can be avoided: You can put this code in MediaWiki:Monobook.js — so browser have to fetch it only once and can store it in its cache for a later retrieval.

PS: Я могу читать по-русски, но пишу плохо. --Борислав 13:59, 11 Фев 2005 (UTC)

Добавил кнопку для [[ ]][править код]

По просьбе пользователя. Надеюсь нет возражений. Ornil 20:12, 21 июн 2005 (UTC)

А зачем? Такая же кнопка есть. Третья в основном ряду кнопок. На ней ещё написано Ab.--Ctac (Стас Козловский) 20:41, 21 июн 2005 (UTC)
Ок, я уберу. Не заметил. Ornil 20:43, 21 июн 2005 (UTC)
Лучше вместно неё сделать кнопку "Redir", кторая бы вставляла "#REDIRECT [[Статья]]" или кнопку, вставляющую "{{}}"--Ctac (Стас Козловский) 20:47, 21 июн 2005 (UTC)

Кнопка для #REDIRECT [[Статья]][править код]

Я хочу добавить кнопку, которая бы вставляла #REDIRECT [[Статья]]. Какую иконку/надпись сделать для этой кнопки? Варианты:

  1. R
  2. >
  3. Или какой-нибудь другой символ? --Ctac (Стас Козловский) 11:31, 2 июл 2005 (UTC)
Да, наверное в принципе неважно, из предложенного можно стрелочку (2 вариант). Я уже научился не глядя редиректы писать :) MaxiMaxiMax 12:00, 2 июл 2005 (UTC)
И я того же мнения. Ornil 12:55, 2 июл 2005 (UTC)
Сделал.--Ctac (Стас Козловский) 3 июля 2005 12:08 (UTC)

Краткое описание[править код]

Слова «Краткое описание» должны начинаться с новой строки. В какой-то момент это стало не так. Можно это исправить ? --Kaganer 10:30, 9 февраля 2006 (UTC)[ответить]

Сделал. --ajvol 11:12, 9 февраля 2006 (UTC)[ответить]

Нижняя панель инструментов[править код]

Никаких изменений в Summary с 14 февраля сделано не было, но, тем не менее, со вчерашнего вечера изменился вид окна редактирования. А именно — исчезла нижняя панель инструментов и вместо неё появился текст «Обратите внимание, что все добавления и изменения текста статьи рассматриваются, как выпущенные на условиях лицензии GNU Free Documentation License (см. Википедия:Авторское право)»... и т. д. Очень неудобно, т. к. теперь исчезла часто используемая кнопка кнопка «Викификатор», тяжело стало вставлять кавычки, длинные тире (приходиться пользоваться панелью спецсимволов). Словом, работать неудобно. У меня ли одного такая неприятность? С. Л.!? 11:30, 18 февраля 2006 (UTC)[ответить]

Продублировано на Википедия:Форум/Технические вопросы. С. Л.!? 12:13, 18 февраля 2006 (UTC)[ответить]

Вопрос снят. С. Л.!? 18:34, 18 февраля 2006 (UTC)[ответить]

Визуализация неразрывных пробелов[править код]

Постановка задачи[править код]

В настоящее время в Википедии неразрывные пробелы (код Unicode 16010=A016) выводятся в форме редактирования страницы в неизменном их виде. Это приводит к возникновению двух независимых проблем:

  1. Неразрывный пробел, будучи похожим на обычный, не даёт участникам Википедии, редактирующим страницы, возможность различать эти два вида пробелов. Могут создаваться ситуации, когда участник Википедии по второму разу вносит неразрывные пробелы внутри сокращений вида «и т. д.» или при малобуквенных словах, ошибочно полагая, что там всё ещё стоя́т обычные пробелы, то есть занимается излишним и непроизводительным трудом.
  2. В браузере Firefox, в результате критической ошибки 218277, неразрывные пробелы внутри форм редактирования автоматически заменяются на обычные. Благодаря этому обстоятельству, каждый участник Википедии, пользующийся Файерфоксом (а таких более девяноста человек) уничтожает все неразрывные пробелы, внесённые в страницу до него.

Понимая это, сейчас большинством тех участников Википедии, которые хоть как-то стремятся отличать неразрывные пробелы от обычных, были приняты альтернативные средства обеспéчения неразрывности: последовательности «&nbsp;», шаблоны {{nobr|...}}, и так далее.

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

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

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

Аналогично режиму «показать специальные символы», принятому в текстовых редакторах Microsoft Word и OpenOffice.org, эта мера позволит в Википедии отличать неразрывные пробелы от обычных при редактировании страниц. —Mithgol the Webmaster 22:54, 25 марта 2006 (UTC)[ответить]

Предлагаемое техническое решение[править код]

Средства конвертации символов[править код]

Предлагается добавить в MediaWiki:Summary, ещё до первого <tt>, нижеследующий джаваскрипт:

// имя формы, в которой находится редактируемый сейчас участником текст Википедии:
wikipediaEditForm = document.forms['editform'];

// функция, которая производит прямое преобразование в точки:
function ConvertWikiToDots(){
   // если уже есть точки, то сконвертировать их в !ENTITY middot "&#183;"
   // вместо & должен стоять амперсанд в следующей строке и в предыдущей (копируйте не в режиме редактирования)
   wikipediaEditForm.value = wikipediaEditForm.value.replace(/\u00b7/g, "&#183;");
   // теперь сконвертировать неразрывные пробелы в точки
   wikipediaEditForm.value = wikipediaEditForm.value.replace(/\u00a0/g, "\u00b7");
};

// функция, которая производит обратное преобразование в неразрывные пробелы:
function ConvertWikiFromDots(){
   // теперь сконвертировать точки в неразрывные пробелы
   wikipediaEditForm.value = wikipediaEditForm.value.replace(/\u00b7/g, "\u00a0");

   return true;
};

// обратное преобразование вызвать перед отсылкою формы:
wikipediaEditForm.onsubmit = ConvertWikiFromDots;

// прямое преобразование вызвать вот прямо сейчас:
ConvertWikiToDots();

Разумеется, джаваскрипт этот должен быть в обрамлении надлежащих <script>-элементов.Mithgol the Webmaster 23:28, 25 марта 2006 (UTC)[ответить]

Кнопка на панели спецсимволов[править код]

Рядом с кнопкою <A href="javascript:insertTags('\&amp;nbsp\;',,);" style="text-decoration: none;color:#000" title="Неразрывный пробел">&amp;nbsp;</a> рекомендую добавить кнопку <A href="javascript:insertTags('\u00b7',,);" style="text-decoration: none;color:#000" title="Неразрывный пробел">&amp;nbsp;</a> для вставки неразрывного пробела в виде «средней точки».Mithgol the Webmaster 23:43, 25 марта 2006 (UTC)[ответить]

Дополнительные соображения[править код]

Реален ли workaround?[править код]

У меня так и нет полной уверенности в том, когда ошибка 218277 начинает реально действовать, то есть может ли вышеприведённый скрипт заставить Файерфокс работать с Википедией не губительным для неразрывных пробелов способом. Однако мой скрипт в любом случае снимает проблему различения двух разных пробелов — обычного и неразрывного.Mithgol the Webmaster 00:00, 26 марта 2006 (UTC)[ответить]

Соответствие стандартам[править код]

В синтакисе скриптов я старался полностью следовать ECMA-262. В операторе wikipediaEditForm.onsubmit = ConvertWikiFromDots используется достандартный синтаксис: DOM 2 рекомендует здесь вызывать addEventListener(), а MSDN (насколько помню) — attachEvent(); но должно и так сойти.Mithgol the Webmaster 00:00, 26 марта 2006 (UTC)[ответить]

Пара моментов[править код]

Мне нравится это решение, однако, не используется ли средняя точка для других символов? И главный вопрос - как оно будет работать при отключенных java-script'ах? #!George Shuklin 08:28, 21 февраля 2007 (UTC)[ответить]

P.S. Экспериментирую с локальной вики - какой-то странный эффект, не смотря на теги <script>, эта штука показывается как текст и никакого эффекта при использовании символа · в статьях не оказывает... #!George Shuklin 08:34, 21 февраля 2007 (UTC)[ответить]

Это решение было предложено почти год назад, и с тех пор силою экспериментов и дополнительных обсуждений выяснилося, что оно не сработает. Во-первых, ошибка 218277 начинает реально действовать при отправке пробелов, так что замена не помогает. Во-вторых, действительно перестаёт работать при отключённых джаваскриптах. Так что остаётся положиться на появление Firefox 3 (в его коде ошибка ужé исправлена), а также на внедрение в код MediaWiki соответствующей заплаты.Mithgol the Webmaster 10:20, 21 февраля 2007 (UTC)[ответить]
Как мысль... Если так делать и сильно опасаться за то, чтобы U+0080 остались - нужно определение поведения клиента. Скажем, ещё в форму сабмита запихать скрытый <input>, который содержит неразрывный пробел и содержимое которого как-то трогается javascript'ом. Тогда при получение POST-запроса будет видно есть ли у браузера проблема (потерялся ли неразрывный пробел) и была ли она решена у клиента (если ли js), на основании чего можно во-первых выставить cookie как признак того, что клиенту надо отдавать предупреждения, а во-вторых, если надо, отклонить правку, или как-то ее скорректировать - хоть автоматически (скажем, сохранить места где по diff'у поменялись только пробелы), хоть вручную. — drdaeman 15:23, 21 февраля 2007 (UTC)[ответить]

Гм. Как я помню в обсуждении про nobr'ы было все-таки предложение выкоренить неразрывные пробелы из статей чуть более чем наполовину и повесить задачу их расстановки на какую-то самостоятельную типографическую систему? Дабы сильно увлекающиеся участники не расставляли неразрывность через слово, да и вообще потому как оформление (благо оно бывает разное - для каждого, гхм... «носителя информации» свои правила) это отдельная от написания статей задача. Или я что-то пропустил? (я, увы, в конце дискуссии не следил почти - не было времени) — drdaeman 15:14, 21 февраля 2007 (UTC)[ответить]

Неразрывные пробелы как проблема[править код]

Если посмотреть на это дело шире, то теоретически есть такие варианты:

  • Неразрывные пробелы вставлять, при этом для борьбы с багом:
1. использовать javascript — способ рассмотрен выше, не работает
2. запретить Firefox до версии 3 — консенсуса на такое решение скорее всего не будет
3. использовать движок MediaWiki — патч предложен, ждать вероятно будем очень долго; надеюсь хоть кто-нибудь с ruwiki за ним следить будет …
  • Не использовать неразрывные пробелы, а расставлять их на странице автоматически согласно формализованным правилам:
4. в движке MediaWiki, например на при сохранении статьи (чтобы нагрузку уменьшить), увы, но я сильно сомневаюсь, что они такое будут делать
5. javascript'ом — а вот этот последний вариант уже где-то обсуждали? — «Эта неподписанная реплика была добавлена участником Alex Smotrov (обс.вклад) в 18:44, 21 февраля 2007 (UTC)‎. Подписывайте свои сообщения с помощью ~~~~.»[ответить]
ИМХО могут быть грабли. ИМХО лучше — при отдаче и надеяться на сквиды. --Oal 18:59, 22 февраля 2007 (UTC)[ответить]
А если я пишу из Lynx без жабоскриптов? --Oal 18:59, 22 февраля 2007 (UTC)[ответить]
А Lynx не портит nbsp. Наверно. shattered 19:37, 22 февраля 2007 (UTC)[ответить]
nbsp или юникод? --Oal 17:40, 24 февраля 2007 (UTC)[ответить]
Не удается проверить -- Lynx/2.8.5 выдают уже 'ascii-armored' вариант. Т.е. он считается 'небезопасным'. shattered 18:43, 24 февраля 2007 (UTC)[ответить]