Обсуждение Википедии:Викификатор

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

Перейти к: навигация, поиск

Архивы:

Содержание

[править] Корректна ли обработка годов?

Не нашёл этого случая в руководстве, но по-моему если только год рождения известен неточно (например: ок. 1385 — 1450), логично оставлять пробелы — чтобы не возникало сомнений, к чему относится, а к чему не относится «около». NBS 06:24, 16 ноября 2007 (UTC)

Как говорится, «дяденька, я не пожарник, я только каску одел» :) Как должно быть в таком случае — я сказать не могу, я не филолог. Возможно имеет смысл спросить мнения других участников на какой-нибудь более популярной странице? Тем более, что технически это скорее будет не «оставлять пробелы», а «всегда вставлять пробелы в этом случае» ∴ AlexSm 19:54, 16 ноября 2007 (UTC)
Но уж в сочетании декабрь 1991 — 1993 пробелы явно нужны — или есть сомнения? NBS 16:53, 17 ноября 2007 (UTC)
В руководстве про диапазоны вроде бы сказано, что без пробелов, даже дан похожий, как мне кажется, пример: «Русско-японская война 1904—1905 гг.». В любом случае, об этом всё-таки лучше спросить других участников ∴ AlexSm 19:54, 14 декабря 2007 (UTC)
Создал тему Википедия:Форум/Общий#Вопрос по оформлению временных диапазонов. NBS 12:15, 15 декабря 2007 (UTC)
  • Ещё несколько случаев:
    • Запись вида "1830—40-е гг" относится к приемлемым — м.б. в таких случаях тоже заменять на тире?
    • Сейчас в интервале не происходит замена, если им заканчивается выделенный фрагмент текста, например, "Великая Отечественная война 1941-1945".
  • И ещё (уже не по годам): нельзя ли не убирать в конце выделенного фрагмента перевод строки? NBS 12:15, 15 декабря 2007 (UTC)
«1830—40-е гг» лучше тоже спросить в опросе. Думаю, что «1941-1945» в конце действительно можно исправлять: если пользователь выделит 12000-2005=..., то будет сам виноват. Исчезновение переводов в конце выделенного текста действительно происходит в IE, но похоже это никак не исправишь; кстати, точно так же «съедают» переводы строк все кнопки вставки ∴ AlexSm 20:06, 17 декабря 2007 (UTC)
  • Ещё: не происходит замена на тире в случае, когда один из годов викифицирован, а другой нет (1988-1989, 1988-1989). NBS 18:09, 22 декабря 2007 (UTC)
  • Увы, но я не вижу простого способа это исправить: в тот момент, когда минус заменяется на тире, все ссылки уже «спрятаны». С другой стороны, по-моему такое встречается достаточно редко, и вообще не очень красиво. Если дата действительно важна, то она обычно упоминается далее в тексте, где её и нужно делать ссылкой ∴ AlexSm 18:37, 8 января 2008 (UTC)
    • По поводу красоты — не знаю, но вот (сейчас не могу найти, где) встречал прямую рекомендацию не делать несколько ссылок в разделе на одну и ту же статью. NBS 20:25, 9 января 2008 (UTC)

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

Все — сугубое имхо. Писать просто «1917 — 1950-е» (без «г.» и «гг.»), на мой взгляд, некорректно, т. е. следует употреблять корректную (зафиксирована в справочнике Мильчина и Чельцовой) форму «1917 г. — 1950-е гг.». Поскольку «ок. 1385 — 1450», «декабрь 1991 — 1993» и «1930 — 1970, Киев» — диапазоны неоднородных, условно говоря, величин, то пробелы тоже необходимы. В случае с городом потому, что иначе бы получилось, будто Киев относится ко всему диапазону лет. snch 19:18, 15 декабря 2007 (UTC)

Поднимать тему ещё раз — или пора вносить изменения и ждать реакции? NBS 20:25, 9 января 2008 (UTC)

Чтобы вносить изменения — надо чётко сформулировать все «исключения», после этого уже можно пробовать их реализовать ∴ AlexSm 16:10, 15 января 2008 (UTC)
По-моему, возможно только по умолчанию не убирать пробелы, а убирать только в «исключениях». Явный случай, когда надо убирать пробелы: (год - год); больше явных случаев, возможно, и нет. NBS 16:58, 15 января 2008 (UTC)

[править] Символы _ в викиссылках

Объединено с темой «Подчёркивания в ссылках»

В Викификатор нужно добавить замену символов "_" в викиссылках на пробелы. — Dirl 06:05, 15 марта 2008 (UTC)

А можно ещё что-нибудь такое?

txt = txt.replace(/\[\[([{\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ba\u01bc-\u01bf\u01c4-\u02ad\u0386\u0388-\u0481\u048c-\u0556\u0561-\u0587\u10a0-\u10c5\u1e00-\u1fbc\u1fbe\u1fc2-\u1fcc\u1fd0-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ffc\u207f\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2131\u2133\u2134\u2139\ufb00-\ufb17\uff21-\uff3a\uff41-\uff5a ,\(\)\-]+)\|(\1)([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ba\u01bc-\u01bf\u01c4-\u02ad\u0386\u0388-\u0481\u048c-\u0556\u0561-\u0587\u10a0-\u10c5\u1e00-\u1fbc\u1fbe\u1fc2-\u1fcc\u1fd0-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ffc\u207f\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2131\u2133\u2134\u2139\ufb00-\ufb17\uff21-\uff3a\uff41-\uff5a]+)\]\]/gi, '[[$2]]$3');

txt = txt.replace(/\[\[([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u01ba\u01bc-\u01bf\u01c4-\u02ad\u0386\u0388-\u0481\u048c-\u0556\u0561-\u0587\u10a0-\u10c5\u1e00-\u1fbc\u1fbe\u1fc2-\u1fcc\u1fd0-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ffc\u207f\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2131\u2133\u2134\u2139\ufb00-\ufb17\uff21-\uff3a\uff41-\uff5a ,\(\)\-]+)\|(\1)\]\]/gi, '[[$2]]');

Это из вышеупомянутого скрипта, но немного починено. --Lockal 16:44, 3 апреля 2008 (UTC)
Если перевести на русский:
[[(всё что может быть в заголовке)|(\1)]] меняем на [[\1]]
[[(всё что может быть в заголовке)|(\1)(все буквы)]] меняем на [[\1]]все буквы
--Lockal 18:38, 4 апреля 2008 (UTC)
Вообщем, надо переписывать, не соответствует викиреалиям. Как исправлю, выложу сюда на обсуждение. — putnik 10:59, 23 февраля 2009 (UTC)
Исходим из таких предпосылок:
$wgLegalTitleChars = " %!\"$&'()*,\\-.\\/0-9:;=?@A-Z\\\\^_`a-z~\\x80-\\xFF+";
$linkTrail = '/^([a-zабвгдеёжзийклмнопрстуфхцчшщъыьэюя]+)(.*)$/sDu';
Поэтому предлагается обе замены преобразовать в одну такую (сырой вариант, не тестился совсем):
txt = txt.replace(/\[\[ *([a-zа-я\u00A0-\u00FF %!\"$&'()*,\-.\/0-9:;=?\\@\^_`~]*) *\| *(\1)([a-zа-яё]*) *\]\]/gi, '[[$2]]$3');
Есть мнение, что «\x80-\xff» сильно не тру. Так что тестируем и дорабатываем. — putnik 12:01, 23 февраля 2009 (UTC)
Потестил, исправил. Что думаете? — putnik 13:48, 23 февраля 2009 (UTC)
  • Проверяем. [[1234|1234]] год, [[f|fa]] - ни тот, ни другой случай сейчас викификатором не меняются. (Уточняю: для этого я выделяю текст внутри nowiki и нажимаю кнопку викификатора). Случай [[1234]] год отрабатывает на ура, а [[1234]] век - опять нет. Кеш или что? -- AVBtalk 02:41, 24 февраля 2009 (UTC)
    У меня работает. — putnik 10:16, 22 марта 2009 (UTC)
  • Да, сейчас работает, видимо, в действие изменения викификаторе вступают как-то очень неспешно. А пример [[1234]] век был некорректный, тут должно было быть римское число. -- AVBtalk 12:08, 22 марта 2009 (UTC)
  • В awb уже есть оптимизация ссылок и подчёркиваний (пример) - нельзя это дело из него взять? -- AVBtalk 14:09, 23 февраля 2009 (UTC)

Предлагаю добавить удаление подчёркиваний из внутренних ссылок:

while (/\[\[[^|]+.*_[^|]+.*\]\]/.test(txt))
         txt = txt.replace(/(\[\[[^|]+.*)_([^|]+.*\]\])/g, '$1 $2');

redmond barry 04:53, 10 июля 2008 (UTC)

Тестирую обе замены, проблем пока нет. Как только найду время проверить код, добавлю. — putnik 11:02, 22 февраля 2009 (UTC)
Есть большая вероятность, что такой скрипт что-нибудь сломает (AlexSm привёл пример с google: ссылками) и/или будет мешать в оформлении (например, если название предмета статьи правильно пишется именно с подчёркиванием). Предлагается сильно ограничить его область действия, например как-нибудь так:
while (/\[\[[^|:]*_[^|]*\|[^{}|[\]]\]\]/.test(txt))
  txt = txt.replace(/(\[\[[^|:]*)_([^|]*)\|([^{}|[\]])\]\])/g, '$1 $2')
Т. е. чтобы он изменял [[только этот текст|]] и то, когда нет никакого префикса. — putnik 16:32, 23 февраля 2009 (UTC)

[править] Накопившиеся вопросы

  • Сегодня обнаружил, что викификатор между инициалами вставляет не неразрывные, а обычные пробелы.
  • ISBN
    • Необходимо убрать замену дефиса на тире.
    • Хорошо бы при викификации убирать двоеточие после ISBN — но только в тех случаях, когда после ISBN идёт код (чтобы не испортить обычную фразу, где ISBN употреблено как термин).

NBS 19:30, 2 апреля 2008 (UTC)

+1. Викификатор портит конструкцию <code>ISBN 978-985-463-258-2</code> (взято из статьи Информационная безопасность). Я думаю, вполне очевидно, что более двух чисел подряд, разделённых дефисами, не могут быть диапазоном годов. -- AVBtalk 01:13, 28 июня 2009 (UTC)

[править] замена дефиса на тире работает не всегда

Если здесь нажать кнопку викификации, то дефис не заменится на тире. -- AVBtalk 21:32, 27 июля 2008 (UTC)

PS: кстати, я уже несколько раз напоролся на то, что после правки каким-то участником, диф слишком большой. Я не стал углубляться, но судя по тому, что инициалы начинают расползаться по строкам, это как раз случай пропадания знаков неразрывных пробелов. -- AVBtalk 21:36, 27 июля 2008 (UTC)

Это из-за того, что перед основной обработкой все http ссылки прячутся вместе с последующими пробелами. Если я правильно помню, иначе ссылки портились, вероятно получавшийся перед тире неразрывный пробел «прилипал» к ссылке. Сейчас вроде бы не прилипает, вероятно можно оставлять пробел на месте. —AlexSm 19:03, 23 февраля 2009 (UTC)
Перед предыдущим ответом я похоже тестировал не в том пространстве. Как и раньше, неразрывный юникодный пробел прилипает к http ссылке, именно поэтому ссылку приходится прятать вместе с последующим пробелом. Конкретную ситуацию, описанную выше, мы исправим, за счёт более чёткого определения http ссылки (она не должна содержать <), но что делать в более общем случае http://www - слово пока неясно. —AlexSm 02:58, 24 марта 2009 (UTC)

[править] "и т.д." не викифицируется

Вот, попробуйте кнопку викификации в этой странице. -- AVBtalk 13:46, 29 июля 2008 (UTC)

1) Просьба давать правильные ссылки. 2) Просьба давать конкретные примеры и объяснения, например: «исходный текст: xxx, после Викификатора: yyy, ожидаемый результат: zzz». 3) Если имелось в виду отсутствие в результате неразрывного пробела, то см. описание Викификатора: «… невидимый неразрывный пробел только в чётных пространствах, кроме пространства „Википедия:“…». —AlexSm 13:54, 29 июля 2008 (UTC)
  1. правильные ссылки - пардон, там каким-то боком остался мусор от предыдущего варианта ссылки. Убрал мусор там и представляю ссылку ещё раз тут.
  2. объяснения - переходим в режим правки страницы, ссылку на которую я дал (или сразу кликайте здесь; нажимаем кнопку викификатора; видим, что "т.д." как было слипшимся, так и осталось слипшимся.
  3. в чётных пространствах - мне это ничего не говорит (я пока не очень разбираюсь в подобных тонкостях вики), но текст взят из страницы со статьёй и представлен в песочнице, которая вроде тоже как в том же пространства. -- AVBtalk 14:46, 29 июля 2008 (UTC)
Чем плох вариант примера со ссылкой на версию страницы: после последующих правок страницы нельза будет увидеть изменения кнопкой «Внесённые изменения», потому что они всегда показываются по отношению к текущей версии страницы (даже если начать редактировать старую версию). Список пространств можно посмотреть например в выпадающем списке в списке наблюдения: «основное» - это #1, дальше по возрастанию, также см. Википедия:Пространство имён. В любом случае (повторю) неразрывные пробелы не добавляются там, где бывают обсуждения, исключительно из-за бага в Firefox 1.5 и 2, чтобы не создавать диффы с множеством отвлекающих «невидимых» изменений. —AlexSm 15:03, 29 июля 2008 (UTC)
  • плох вариант со ссылкой на версию страницы - предложи(те) другой, более адекватный вариант представления примеров, иллюстрирующих правки, нежели через песочницу. Заводить для каждого нового бага новую же под-страницу под своей учёткой? Список пространств - ясно. где бывают обсуждения - про ограничения викификатора на страницах обсуждения я читал. Повторюсь: здесь не тот случай. бага в Firefox 1.5 и 2 - это с пропадающими уникодными знаками? Так я и сейчас постоянно встречаю гигантские дифы (после правок страниц другими участниками), которые вызваны, как я предполагаю, пропаданием этого уникодного знака. Как меня невидимость этого знака раздражает... :( -- AVBtalk 15:33, 29 июля 2008 (UTC)
  • В примере выше после буквы «и» стоит юникодный неразрывный пробел, в соотв. регекспе Викификатора /и т\. ?д\./g такого не предусмотрено. Предлагаю исправить ситуацию, заменив пробел на \s в этом регекспе и в некоторых других. —AlexSm 02:58, 24 марта 2009 (UTC)
  • В качестве самообразования: \s включает и неразрывный пробел? -- AVBtalk 18:42, 24 марта 2009 (UTC)

Предлагаю добавить в викификатор случаи вида "и.т.д" (именно так, без последней точки), "и&nbsp;т.&nbsp;д" и "и т.&nbsp;д". -- AVBtalk 07:06, 1 сентября 2008 (UTC)

Добавить как альтернативу последней точке перевод строки, или ещё какие-то возможные символы? —AlexSm 02:58, 24 марта 2009 (UTC)
  • Я думаю, достаточно указать границу слова (вроде юы это тег \b). Если попытаться обобщить, то псевдокод искомого патерна, полагаю, должен (может) выглядеть как-то так (сорри за возможные ошибки и примитивизм, я не специалист по RE):
  • \bи(\s*|\s*\.\s*)т(\s*|\s*\.\s*)д(\s*\.|\b)
(суть хвоста: после "д" должны идти либо серия пробел с последующей точкой, либо, если этого нет, там должна быть "граница слова"). Сюда должны подпадать также конструкции вида "и т д", "и . т . д .". -- AVBtalk 18:42, 24 марта 2009 (UTC)

[править] викификация шаблонов

Предлагаю добавить в викификатор обработку некоторых параметров некоторых шаблонов. В частности: шаблонов {{oq}}, {{цитата}}, а также параметров title=, author= и publisher= в шаблоне {{cite web}} и ему подобных ({{cite news}}, {{cite journal}}, {{книга}}, {{статья}} и т.п.). -- AVBtalk 07:03, 1 сентября 2008 (UTC)

Как-то неконкретно. —AlexSm 02:58, 24 марта 2009 (UTC)
  • Куда уж конкретнее. Речь о том, что практически все параметры подобных шаблонов (кроме параметров типа url= и ссылка=) либо должны (второй параметр oq, параметр title= и т.д., и т.п.), либо могут викифицироваться (для первого параметра oq, с кодом языка, викификация вроде как не может повредить). Впрочем, если учесть, что викификатор распознаёт слово http, то викификация параметров url= и ссылка= вроде как не должна повредить. Сейчас же одна из регулярных работ, которые я выполняю над статьями, это выглядывание в цитатах и шаблонах описания ссылок дефисов, многоточий и апострофов, и ручная викификация соответствующих параметров, где они представлены (пример), а также расстановка тире вместо дефисов в диапазонах в параметрах страницы=. Кстати, насчёт многоточий, сейчас добавлю ещё одно тему-пожелание. -- AVBtalk 18:51, 24 марта 2009 (UTC)
Много шаблонов, боюсь что сильно много кода для этого нужно. —AlexSm 20:23, 20 апреля 2009 (UTC)

[править] квадраты и кубы

Предлагаю, чтобы префиксы "кв." и "куб." перед "м", "км", "см" и "мм" заменялись на суффкисы ² и ³ соответственно (например, "кв. км", "куб.мм", "кв.&nbsp;м" → "км²", "мм³", "м²"). -- AVBtalk 14:15, 2 сентября 2008 (UTC)

Вроде, никто не против, и проблем с подобными заменами не видно. Можно будет добавить. — putnik 11:02, 22 февраля 2009 (UTC)
Тогда давайте предлагать конкретные регекспы. —AlexSm 02:58, 24 марта 2009 (UTC)
  • Ну, где-то ориентировочно так:
  • \bкв.\s*(дм|см|мм|мкм|нм|пм|км|м|дюйм|дюймов|ярд|ярдов|фут|футов|миля|миль|парсек|парсеков)\b → \1²
  • \bкуб.\s*(дм|см|мм|мкм|нм|пм|км|м|дюйм|дюймов|ярд|ярдов|фут|футов|миля|миль|парсек|парсеков)\b → \1³
(вроде ничего существенного не упустил из единиц измерения расстояния). -- AVBtalk 19:13, 24 марта 2009 (UTC)
Насколько я знаю, степени у полных названий единиц измерений не ставятся. — putnik 06:30, 25 марта 2009 (UTC)
  • Можно и вычеркнуть, я их вписал "про запас". Вот всякие "кв.мм" - это точно нужно. -- AVBtalk 12:15, 25 марта 2009 (UTC)

[править] Год

В подобных случаях в [[1997]]—[[1998]] годах викификатор заменяет на в [[1997]]—[[1998 год]]ах. Можно его научить чувствовать тире перед годом? DSR|Open 16:52, 24 января 2009 (UTC)

Как ты хочешь? Чтобы выдавалось в [[1997 год|1997]]—[[1998 год]]ах? Боюсь, что сложновато. — Obersachse 17:45, 24 января 2009 (UTC)
Нет, я хочу, чтобы оставалось в [[1997]]—[[1998]] годах, так слово "годах" относится сразу и к 1997-му, и к 1998-му DSR|Open 18:07, 24 января 2009 (UTC)
  • Не согласен. И вообще, это частный случай "выноса за скобки" (например: "в первом и втором договорах"). Я лично считаю, что хвост нужно отрабатывать обязательно (то есть: "в [[первый договор|первом]] и [[второй договор|втором договорах]]"). -- AVBtalk 15:28, 22 февраля 2009 (UTC)
  • Мне тоже кажется, что «хвост» должен быть викифицирован. — putnik 18:03, 22 февраля 2009 (UTC)
Я солидарен с DSROpen. По моему мнению, текст ссылки, взятый вне контекста, должен быть связным. То есть, в ссылке не должно быть никаких «восьмидесятый годы», «втором договорах», «Вторая мировые войны». Трудно объяснить, почему. Однако, нас уже как минимум двое.
Также, обратите внимание, если написано: «19751980 годы», возникает лёгкая двусмысленность: то ли восьмидесятый год, то ли восьмидесятые годы. Ldv1970 21:02, 20 апреля 2009 (UTC)
  • возникает лёгкая двусмысленность - ну, тут ничего не поделаешь. А как вам такое: "ВМФ СССР и России"? Обратите внимание, "России" тут ведёт отнюдь не на Россия. -- AVBtalk 15:19, 21 апреля 2009 (UTC)

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

вернул из архива

Было бы хорошо, если бы викификатор убирал (невидимые) переносы. Пример текста: "В результате побеждённые получили редкую возмож­ность создавать свои боевые единицы в условиях менее жёстких ограничений, чем сами победители. Более того, если бы немцам удалось создать проект, уг­рожающий существующему равновесию сил, бывшим союзникам пришлось бы тратить драгоценный линкорный тоннаж на то, чтобы парировать такой выпад". В этом тексте есть два переноса, которые викификатор не убирает. -- AVBtalk 12:26, 6 сентября 2008 (UTC)

А зачем это надо? — putnik 23:56, 9 января 2009 (UTC)

Только сейчас заметил появление ответа (просто почти весь январь меня в вики не было), так что не мог ответить. Так вот, ответ просто: потому что невидимые управляющие знаки сбивают поиск. В конце концов, викификатор же убирает лишние пробелы, хотя это менее критично. PS: Ну и попутно надо бы убирать мусорный знак, который часто получается при копировании со страниц вики (см. тему про настройку awb на техническом форуме). PPS: Странно, что викификатор убирает лишние пробелы в середине строк, но не убирает хвостовые пробелы. -- AVBtalk 15:18, 22 февраля 2009 (UTC)

Давайте это где-нибудь на форуме обсудим. Если поддержат хотя бы несколько человек, и не появится аргументов против, будем удалять. Я просто не готов оценить безвредность этого предложения, а посещаемость этой страницы явно не шкалит. — putnik 11:41, 23 февраля 2009 (UTC)
  • на форуме - сколько угодно. ВП:Ф-Т#настройка awb. безвредность - (1) знаки переносов - это очевидный мусор, получающийся из-за копипасты со сторонних сайтов и из документов ворда. (2) Лишние (хвостовые) пробелы - очевидная головная боль при анализе дифов, когда неясно, что же очередной аноним изменил в тексте (а это не редкость), поскольку порбелцы в дифе не показываются. (3) Мусорный знак, который я упомянул на Ф-Т, парсером игнорируется, так что я всегда массово удаляю его (когда не забываю об этом и вижу в тексте). -- AVBtalk 14:16, 23 февраля 2009 (UTC)
  • Я не против удаления лишних символов, только хотелось бы всё-таки как-то увидеть этот невидимый перенос, в каком месте текста смотреть? —AlexSm 14:46, 23 февраля 2009 (UTC)
    Искать \u00AD. Думаю, его можно тупо вытравлять отовсюду, кроме ссылок, потому как формально он в именах разрешён. Относительно же запрета в названиях нужно подумать. С большой вероятностью он запрещён через глобальный Title blacklist, если нет — стоит в него внести. — putnik 16:32, 23 февраля 2009 (UTC)
  • в каком месте текста смотреть - не знаю, как в других браузерах, а в опере этот перенос не показывается ни в редакторе, ни в дифе. Поскольку я "вытаскивал их архива" через диф, эти знаки не скопировались, но сейчас я скопировал заново уже напрямую и в дифе вы можете видеть, что некоторые слова стали красными из-за возврата в них знака переноса. Я напарываюсь на эти знаки и вижу их вполне наглядно, когда переношу текст в опенофис для проверки орфографии. кроме ссылок - в ссылках тоже его нужно вытравлять, ссылки с таким знаком являются такими же ошибочными (то есть таких имён не должно быть), как и ссылки с подменёнными лат/кир знаками. Нужно будет оставить запрос Михайле, чтобы его бот искал ссылки не только с лат/кир подменой, но и с этим знаком - хотя я сомневаюсь, что такие есть. -- AVBtalk 17:39, 23 февраля 2009 (UTC)
    Я понимаю, что вы считаете такие ссылки некорректными, но движок их таковыми не считает. И если они не запрещены, то их нельзя удалять совсем без анализа (т. е. Викификатором, а не ботом). — putnik 17:44, 23 февраля 2009 (UTC)
  • но движок - но позвольте, движок-то тут причём? Викификатором, а не ботом - я думаю, это тот случай, когда нет необходимости "анализа" - знак переноса не является ни печатным, ни отображаемым, и он не может быть частью имени. Это служебный знак для оформления текстов. То, что движок позволяет такие знаки в именах - можно назвать очевидным недосмотром. Вопрос только и исключительно в том, стоит ли сохранять ссылки с таким знаком, если есть страницы с соответствующими именами (если страниц нет и ссылка изначально красная, то и вопроса нет - ссылка ошибочна без всяких оговорок). Я думаю, покраснение ссылки в таких условиях - допустимая плата (а может быть, даже преимущество), особенно если учесть, что вряд ли в вики сейчас найдутся имена с этим знаком (хотя последнее - только моё предположение). -- AVBtalk 18:53, 23 февраля 2009 (UTC)
  • Это Soft Hyphen, C2AD в UTF8. Его можно увидеть в окне редактирования (похоже во всех браузерах), если уменьшать ширину окна до тех пор, пока в этом месте не образуется перенос. Если символ использован в названии страницы, то он виден в заголовке окна браузера (на самом верху). Вот список статей с этим символом в названии: 4 статьи и 6 перенаправлений. Предлагаю после чистки этого списка добавить soft hyphen символ в Titleblacklist и действительно удалять его Викификатором. —AlexSm 19:03, 23 февраля 2009 (UTC)
    • Ну на 00AD в Titleblacklist'е правило и так давно есть. — putnik 13:48, 29 марта 2009 (UTC)

PS: Для пробы, вот три ссылка: Москва, Мос‎ква и Мос­ква. Первая ссылка нормальная, во второй в середине мусорный знак, в третьей - знак переноса. Хотелось бы, если это можно сконфигурировать, чтобы парсер игнорировал знак переноса так же, как он игнорирует мусорный знак. Тогда и вопрос автоматического его удаления будет менее острым. А так, с учётом того, что знак переноса не виден, то это может быть вообще использоваться для вандализма. -- AVBtalk 19:09, 23 февраля 2009 (UTC)

«Мусорный знак» — это «DirMark», специальный LTR символ (см. en:Bi-directional text). Я упоминал его в mediazilla:14881 (со словами «minor inconvenience»), но в итоге на странице вклада его так и оставили. Пока что согласен убирать его из ссылок, надеюсь это не вызовет никаких проблем. —AlexSm 19:29, 23 февраля 2009 (UTC)
  • Кстати, вот ещё один пример: сейчас в ВП:Ф-Т#двойные перенаправления дана копия со служебной страницы и там можно в режиме редактирования видеть эти значки. То, о чём я и говорил - при копировании со страниц вики это значки появляются во множестве. -- AVBtalk 01:14, 25 февраля 2009 (UTC)
  • По-моему стоит Soft Hyphen просто убирать Викификатором везде, и занести его в titleblacklist. В текстах статей он не нужен. —AlexSm 02:58, 24 марта 2009 (UTC)
  • Ещё один аргумент в пользу убирания хвостовых пробелов викификатором - пример правки, которая сбивает с толку, "что же там изменилось" (ведь дифы пробелы не показывают), если олько не знать (догадываться!), что же там изменилось. -- AVBtalk 06:44, 6 апреля 2009 (UTC)
  • ✔ Частично добавлено удаление Soft Hyphen, LTR и RTL из ссылок. Обрабатываются случаи, когда перед знаком в ссылке не встретилось двоеточие. Собственно, вопрос: могут ли удаления этих знаков сбить какие-нибудь интерлинки? Если нет, применим ко всем ссылкам. — putnik 12:25, 20 апреля 2009 (UTC)
    Очень вряд ли, а если и встретится, то это будет ошибка в другом разделе. Если вдруг такое обнаружится - тогда и будем решать. —AlexSm 20:23, 20 апреля 2009 (UTC)

[править] бага с кавычками

Перенесено со страницы ВП:Ф-Т#викификатор?

Вот порезанный фрагмент из статьи Портрет:

Существовали и другие аспекты: «Портреты … „персоны“ свои и …, „портретные“ комнаты, … быта„.<ref name="рус"/>

[[Файл:Kustodiev Merchants Wife.jpg|thumb|
Борис Кустодиев. “Купчиха за чаем», 1918.
]]

Обратите внимание на неправильные кавычки-лапки в конце цитаты и в начале названия в файл-ссылке, которые ставит викификатор вместо ёлочек. Это бага викификатора или что-то ещё? Можно это дело поправить? -- AVBtalk 19:23, 8 февраля 2009 (UTC)

Эта бага по прежнему не исправлена - если викифицировать процитированный фрагмент, кавычка не исправляется. Так же, у меня всё ещё не действует оптимизация ссылок и захват слова "век" в ссылки. Ну и, я не вижу, чтобы изменения (не исправления ошибок) в викификаторе нашли отражение на странице документации. -- AVBtalk 01:17, 25 февраля 2009 (UTC)

Ещё одна статья, где я напоролся на эту же проблему с кавычками - оклад иконы. -- AVBtalk 08:58, 28 февраля 2009 (UTC)

[править] <references/>

Требуется включить в викификатор автозамену вхождения <references/> на {{примечания}}? — Дмитрий Никитин 14:36, 18 марта 2009 (UTC)

  • Мне кажется, не стоит - дело в том, что "под раздачу" могут попасть случаи, когда нужно именно <references/>. К тому же, вокруг <references/> могут стоять самые разнообразные div, без убирания которых производить замену может оказаться не совсем правильно. -- AVBtalk 12:14, 22 марта 2009 (UTC)
    Не знаю, остались ли у нас случаи, когда нужно именно <references />, но с тем, что в случае, когда уже имеется собственное оформление, замена может быть некорректной, полностью согласен. Можно подумать относительно того, как прописать замену так, чтобы менялся только «чистый» тег <references />, но все я бы заменять не стал. — putnik 01:48, 23 марта 2009 (UTC)
  • остались ли у нас случаи - и остались, и появляются новые. Я на днях в какой-то статье видел, как добавили тег, а не шаблон. -- AVBtalk 02:27, 23 марта 2009 (UTC)
    Тогда пока оставляем как есть. — putnik 03:02, 23 марта 2009 (UTC)
А можно пример, когда нужен именно <references />? Альтернативный вариант -- заменять
 == Примечания ==
<references/>

когда понятно, что никаких div'ов вокруг references нет. — Дмитрий Никитин 05:26, 23 марта 2009 (UTC)
  • можно пример, когда нужен именно <references /> - нет, назвать такие случаи сейчас я не могу, пока вроде не сталкивался, просто стараюсь перестраховаться. -- AVBtalk 18:59, 24 марта 2009 (UTC)

[править] угловые скобки и многоточие

В цитатах некоторые участники нередко вставляют такой конструкт: <...>. Желательно обрабатывать такой конструкт, заменяя угловые скобки на теги (&lt;...&gt;), либо сразу заменяя также и троеточие на знак многоточия (&lt;…&gt;). -- AVBtalk 18:56, 24 марта 2009 (UTC)

  • Не вижу причин усложнять код заменой скобочек их мнемониками. Обработка многоточия, вероятно, будет. — putnik 14:04, 18 апреля 2009 (UTC)


[править] оптимизация ссылок с трубой и словом "год" и "век"

Есть такая ссылка: [[1702 год|1702 год]]у. При её викификации получается [[1702 год|1702 году]], что не есть гуд. -- AVBtalk 09:14, 10 апреля 2009 (UTC)

Также, есть такой пример [[XIX век|XIX]] век. Он не викифицируется. -- AVBtalk 09:19, 10 апреля 2009 (UTC)

✔ Исправлено для веков. С годами нужно подумать. Мне кажется, что можно добавить, но только для основного пространства, чтобы не сбивать типографику на порталах и иже с ними. — putnik 06:20, 16 апреля 2009 (UTC)
  • А что там с порталами не так, чем их такая замена может не устроить и как это влияет на их типографику? (Уточняю: я имею в виду, что для [[1702 год|1702 год]]у я ожидаю получить [[1702 год]]у, а не [[1702 год|1702 году]]). -- AVBtalk 13:50, 16 апреля 2009 (UTC)
    • Правильная типографика подразумевает, что между числом и словом «год» должен стоять неразрывный пробел. Возможно, это где-то используется для красоты, ибо страницы шаблонов частого редактирования не подразумевают. — putnik 13:54, 18 апреля 2009 (UTC)

[править] оптимизация ссылок с трубой и апостроф

Вариант [[Терри О’Куинн|Терри О’Куинн]] не викифицируется. При убирании апострофа викификация начинает работать. -- AVBtalk 11:11, 10 апреля 2009 (UTC)

✔ Исправлено.putnik 06:20, 16 апреля 2009 (UTC)
  • Я не слишком хорошо разбираюсь в регэкспах и не могу (с ходу) прочитать, что там написано под // Nice links, но меня смутило описание "в оптимизацию ссылок добавлен апостроф". А именно, есть ли какие-то причины, почему нельзя объединять текст до и после трубы, если там используются ЛЮБЫЕ идентичные знаки? Впрочем, поднапрягшись с чтением, уточняю: есть ли причины, почему нельзя заменить
  • txt = txt.replace(/\[\[ *([a-zA-Zа-яА-Я\u00A0-\u00FF %!\"$&'()*,\-.\/0-9:;=?\\@\^_`’~]+) *\| *(\1)([a-zа-яё]*) *\]\]/g, '[[$2]]$3')
  • txt = txt.replace(/\[\[ *([a-zA-Zа-яА-Я\u00A0-\u00FF %!\"$&'()*,\-.\/0-9:;=?\\@\^_`’~]+) *\| *([^|[\]]+) *\]\]([a-zа-яё]+)/g, '[[$1|$2$3]]')
на что-то типа
  • txt = txt.replace(/\[\[ *([^\|\]]+) *\| *(\1)([a-zа-яё]*) *\]\]/g, '[[$2]]$3')
  • txt = txt.replace(/\[\[ *([^\|\]]+) *\| *([^|[\]]+) *\]\]([a-zа-яё]+)/g, '[[$1|$2$3]]')
(жирным выше выделена изменённая часть)? -- AVBtalk 13:45, 16 апреля 2009 (UTC)
  • И, кстати, в продолжение и подтверждение моей идеи-вопроса: только что напоролся ещё на одну конструкцию, которая не викифицируется: [[небоскрёб|небоскрёба]]. Причина: забыта "ё" в списке знаков для сравнения в регэкспе, который я процитировал выше. -- AVBtalk 19:33, 16 апреля 2009 (UTC)
    • «Ё» будет при следующем обновлении. Очень странно, что она не попала в промежуток \u00A0-\u00FF. Общее предложение надо обдумать. — putnik 14:04, 18 апреля 2009 (UTC)
      • странно, что она не попала в промежуток \u00A0-\u00FF - по идее, насколько я понимаю, и не должна была, поскольку в уникоде её коды 0x401 и 0x451 (см. уникодные коды в таблице в ISO 8859-5#Кодировка ISO 8859-5). -- AVBtalk 14:29, 18 апреля 2009 (UTC)
        • «Ё» добавлена. — putnik 12:20, 20 апреля 2009 (UTC)

Ещё один пример, показывающий, что нужно обрабатывать все знаки сразу, а не модифицировать регэксп постепенно, добавляя знаки по одному: на этот раз я напоролся, что не отрабатывается конструкция

  • [[Англо-португальский кризис (1889—1890)|Англо-португальский кризис (1889—1890)]]

содержащая тире. -- AVBtalk 18:45, 23 июня 2009 (UTC)

[править] оптимизация ссылок - регистр первой буквы

Ссылка вида [[Король|король]] не оптимизируется. Подробности: регистр первой буквы в ссылках движок не учитывает, а такого рода ссылки часто получаются копированием (или подстановкой скриптами вроде editsuggest) до трубы заголовков страниц, а они как правило показываются на страницах википедии с прописной буквы. Было бы неплохо, если бы и викификатор игнорировал регистр первого непробельного знака. -- AVBtalk 14:36, 15 апреля 2009 (UTC)

  • Когда-нибудь сделаем. — putnik 14:04, 18 апреля 2009 (UTC)
  • (Кажется второй раз) предлагаю оформить обработку всех ссылок как txt=txt.replace(регексп на внутреннюю ссылку и eё хвост, function (string, link, name, tail)), и внутри этой функции все условия и проверки будут гораздо проще. —AlexSm 20:23, 20 апреля 2009 (UTC)

[править] тег br

Не так уж редко мне попадается использование тега br в форме </br>. Почему бы не поддержать эту форму наравне с формой <br>? -- AVBtalk 03:47, 23 апреля 2009 (UTC)

Думаю, вполне можно добавить в соответствующей регексп \/?AlexSm 04:12, 23 апреля 2009 (UTC)

[править] "и т.д."

Фрагмент "и т.д." не викифицируется. Как я понимаю, потому, что там неразрывный пробел. PS: Видимо, это нужно считать намёком на то, что нужно активнее заменять знак пробела в регэкспах на пару пробел+неразрывный пробел или, наверное, вообще на \s. -- AVBtalk 15:54, 4 мая 2009 (UTC)

[править] hr

Заменяет <hr /> на ----, даже если hr находится в одной линии с текстом. Пример неправильной обработки можно посмотреть здесь. --Lockal 08:50, 5 мая 2009 (UTC)

[править] "И т.п."

Обнаружил тут конструкцию (И т.п.), которая не викифицируется. Вероятно, из-за прописной "И". -- AVBtalk 23:09, 10 мая 2009 (UTC)

[править] ISBN

Как оказалось, выше вопрос уже поднимался, но викификатор до сих пор портит ISBN, заменяя дефис на тире. Может кто-нибудь возьмется исправить? —LimeHat 11:19, 18 мая 2009 (UTC)

[править] викификация дефиса после тега

Конструкция вида

  • текст<ref>http://text</ref> - текст

не викифицируется (дефис не заменяется на тире). -- AVBtalk 19:27, 19 мая 2009 (UTC)

[править] точка после единицы измерения

В конструкции составлял 410—420 мм. D1 появился в 1979 году викификатор проглатывает точку, при этом в конструкции составлял 410—420 мм. Д1 появился в 1979 году точка остаётся на месте. Я думаю, это (проглатывание в случае латиницы) - неправильно. -- AVBtalk 17:35, 22 мая 2009 (UTC)

[править] ссылки на файлы в таблицах

При викификации таблицы, в которой ячейка (|) начинается с отступом, ссылка на файл не викифицируется ("Изображение" не заменяется на "Файл"):

{|
 |[[Изображение:Example.jpg|thumb]]
|}

Также, не помню, писали ли тут об этом, но параметры без кавычек в таблицах (например, width=25% вместо width="25%") портятся (викификатор вставлят пробел между числом и процентом). Возможно, имеет смысл вставить в викификатор добавление кавычек вокруг параметров тегов (как минимум - параметров таблиц типа colspan/width/... и ref name= - в конце концов, вставляет же он пробел перед "/" в "<br/>"). -- AVBtalk 21:06, 23 мая 2009 (UTC)

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

В очередной раз натолкнувшись на оторванные сноски, подумал, что всё же надо бы добавить в викификатор, во исполнение ВП:СН#Рекомендации по стилю (Ссылку на сноску следует ставить вплотную к предшествующему тексту, без предваряющего пробела), убирание пробелов перед <ref.

Также, возможно, стоило бы добавить убирание в том числе и разделителя строк (некоторые любят "для читабельности кода" ставить ref с новой строки), но тут придётся учитывать, что сноска может стоять на отдельной строке после заголовка.

Также, было бы неплохо, если бы викификатор заменял name="" на просто ref и добавлял кавычки вокруг аргументов name= там, где кавычек ещё нет. -- AVBtalk 22:57, 27 мая 2009 (UTC)

[править] температура в цельсиях

Пробуем викифицировать температуру:

  • 10°С (здесь русская Эс, а не латинская Це)
  • 1-2°С (тоже русская Эс)
  • 100-200°C

Результат:

  • 10 °C (латинская Це)
  • 1-2°С (осталась русская Эс)
  • 100—200°C

То есть викификатор не отрабатывает диапазоны температур: не всегда заменяет дефис на тире (см.: ВП:ОС#Диапазоны), не заменяет Эс на Це и не отделяет °C от диапазона. Как я понимаю, это потому, что викификатор начинает отрабатывать диапазон как года, и потому не подхватывает последующий знак °. Я не знаю, как сейчас в викификаторе отлавливается температура, но предполагаю, что патерн должен выглядеть как-то так (прошу считать меня коммунистом... в смысле, это только что-то вроде псевдокода, так что не бейте сильно за ошибки):

  • ([0-9]+)\s?[-—]\s?([0-9]+)\s?°[СC] → \1—\2 °C

-- AVBtalk 07:52, 1 июня 2009 (UTC)

[править] Год 2

Викификатор не хочет обрабатывать вот такую конструкцию: [[2000 год|2000]] года, а должен --Hazzik 05:16, 24 июня 2009 (UTC)

-- AVBtalk 22:57, 25 июня 2009 (UTC)

[править] "и т.д." 2

Конструкция вида (… и т.д.). не викифицируется. -- AVBtalk 22:59, 25 июня 2009 (UTC)

[править] Кавычки

В примере ООО «Рога и копыта», если после ООО стоит неразрывный пробел, после викификатора получается — ООО "Рога и копыта". Permjak 17:45, 29 июня 2009 (UTC)

Ещё пример с кавычками:

  • «Наиболее важные ссылки следует приводить в разделе ''«См. также»''»

В результате викификации получается:

  • «Наиболее важные ссылки следует приводить в разделе »См. также""

-- AVBtalk 20:06, 7 июля 2009 (UTC)

[править] &#124;

Викификатор заменяет &#124; на |, что, разумеется, портит шаблоны. Есть ли какая-нибудь возможность принудить его менять &#124; на {{!}}?--WindEwriX 11:58, 13 июля 2009 (UTC)

  • Используйте {{!}} напрямую, делов-то. PS: По хорошему, следовало бы, чтобы викификатор не обрабатывал &#124; внутри таблиц, если в результате получаются парные ||, а также внутри шаблонов. Но, с учётом того, что даже более простая задача - исключение содержимого шаблонов из викификации, если там есть вложенные шаблоны - давно не может решиться, ждать решения ещё и этой задачи (в ближайшее время) тоже не приходится. -- AVBtalk 12:24, 13 июля 2009 (UTC)