Обсуждение Википедии:Викификатор/Архив2

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Здесь находятся завершившиеся обсуждения. Просьба не вносить изменений.

Сюда перенесены неактуальные или закрытые темы из Обсуждение Википедии:Викификатор

Значок для иллюстраций-иконок и другое

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

При вставлении иллюстраций постоянно приходится вспоминать шаблон для картинок в формате thumb: [Изображение:xxx.jpg|300px|thumb|right|Подпись к картинке]. Нельзя ли добавить сoответствующий значок в панели над окном редактирования? Там есть значок для картинок, но в урезанном формате.

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

Вопрос: есть ли простой метод разместить две картинки (справа и слева), но чтобы текст не встревал между ними?

Последнее замечание: приходится постоянно работать курсором, двигая окно редактирования вверх-вниз, потому что на экране не умещаются одновременно окно и список команд. Неплохо бы иметь возможность схлапывать строки с абзацем: "Пожалуйста, убедитесь, что ваши добавления..." --Vissarion 06:43, 31 января 2007 (UTC)[ответить]

Последнее можно сделать через monobook.css, см. например Участник:Paul Pogonyshev/monobook.css. Продве картинки:
картинка 1
 
картинка 2

Не очень просто, правда. — doublep 10:23, 31 января 2007 (UTC)[ответить]

Спасибо, опробую в деле --Vissarion 11:41, 31 января 2007 (UTC)[ответить]

Не похоже, чтобы кто-нибудь вообще занимался Виификатором, но всё же: Викификатор не должен трогать текст внутри тега <code>, в частности, заменять там ASCII-кавычки на типографские. Также, наверное стоить запретить обработку внутри тега <tt>, он иногда (неверно) используется для кода. — doublep 14:35, 10 января 2007 (UTC)[ответить]

Занимаемся мы потихоньку, только времени мало. Сделал <code>. --CodeMonk 18:16, 14 января 2007 (UTC)[ответить]
Спасибо. — doublep 13:49, 22 января 2007 (UTC)[ответить]

Пустые строки в программном коде

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

Викификатор убивает пустые строки в программном коде, что разбивает его <pre> на несколько блоков. Предлагаю изменение: не убирать один пробел (вариант: вообще не трогать пробелы) если до и после строки стоят строки, начинающиеся с пробелов и содержащие хотя бы один непробел. Пример страницы, где это важно: PyGTK. — doublep 17:00, 7 декабря 2006 (UTC)[ответить]

А пример где убиваются пустые строки можно? --CodeMonk 23:27, 12 декабря 2006 (UTC)[ответить]
«Пример страницы, где это важно: PyGTK»doublep 23:34, 12 декабря 2006 (UTC)[ответить]
Вижу. Хотя правильнее оформлять код через <code><pre>…</pre></code>. --CodeMonk 02:12, 13 декабря 2006 (UTC)[ответить]
В HTML 4.01 <code> - inline тег, <pre> - блочный. Блочный тег запрещено вкладывать в inline. Браузеры, поддерживающие стандарт, такую последовательность <code><pre>…</pre></code> превратят в <code></code><pre>…</pre> --Oleg Marchuk 07:46, 13 декабря 2006 (UTC)[ответить]
Ну тогда правильнее <pre><code>…</code></pre>. Впрочем, браузер вряд ли совершит вышеуказанное перестроение — это, пожалуй, не в его компетенции. --CodeMonk 01:23, 15 декабря 2006 (UTC)[ответить]
Браузер firefox вышеуказанные перестроения делает с молодости.

before code code

code+pre

after pre after all

--Oleg Marchuk 14:23, 18 декабря 2006 (UTC)[ответить]
Впрочем, как и Internet Explorer --Oleg Marchuk 14:23, 18 декабря 2006 (UTC)[ответить]
Нет, никакой браузер самовольно не переставляет теги местами. То, что в Firefox исчез цвет фона «code» после вложенного «pre» - это просто баг в отображении, но это не свидетельствует о какой-либо перестановке тегов. А в IE такого бага нет. --CodeMonk 22:45, 18 декабря 2006 (UTC)[ответить]
Это не баг. Обработка неправильного HTML не может быть глючной или нет — неправильный ввод не даёт гарантированного результата. А вообще, это имеет мало отношения к теме обсуждения, не так? — doublep 22:49, 18 декабря 2006 (UTC)[ответить]
Это действительно не баг. В firefox это видно с помощью DOM-инспектора, в IE можно написать джаваскрипт для обхода дерева --Oleg Marchuk 07:54, 19 декабря 2006 (UTC)[ответить]
Это именно что баг. --CodeMonk 04:45, 25 декабря 2006 (UTC)[ответить]
Вы ошибаетесь: такое поведения браузера отвечает спецификации w3c Please consult the SGML standard for information about rules governing elements (e.g., they must be properly nested, an end tag closes, back to the matching start tag, all unclosed intervening start tags with omitted end tags (section 7.5.1), etc.)., Generally, block-level elements begin on new lines, inline elements do not., SGML Syntax Summary. См. также HTML Tidy
Исчезновение цвета фона — это очевиднейший баг, такого быть не должно. По правилам разметки, атрибуты внешнего тега распространяются на все вложенные теги. Если Вы утверждаете, что этот баг предусмотрен каким-то пунктом спецификации — то укажите конкретно на этот пункт. Ссылки, которые Вы привели, к делу совершенно не относятся. --CodeMonk 10:50, 25 декабря 2006 (UTC)[ответить]
В приведенныъ мной документах объясняется, что блочные теги не должны включатся в символьные теги и указана спецификация SGML, которая описывает, что должен делать браузер, если блочный тег находится внутри символьного. В этой спецификации сказано, что браузер, встетив открывающий тег блочного тега внутри символьного, должен немедленно закрыть символьный елемент. То есть, в спецификации SGML описано, что код [code][pre][/pre][/code] превращается сначало в [code][/code][pre][/pre][/code], потом же закрывающий тег игнорируется и получается [code][/code][pre][/pre]. И уже после преобразования текста в валидный HTML отрабатывает рендер, который рисует картинку в данном случае. --Oleg Marchuk 07:41, 26 декабря 2006 (UTC)[ответить]
Не вижу такого в спецификации. Более того, спецификация SGML вообще не разделяет элементы на block и inline. Пожалуйста, место покажите конкретное. --CodeMonk 03:00, 30 декабря 2006 (UTC)[ответить]

Добавка знаков

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

Почему бы не сделать конвертацию для .. (гор[изонтальное]-2-еточие?) и 3-йных восклицательного/вопросительного знаков в соотв. 1 знак, как это сделано для много/от-точия? И заодно добавить их в сообщение вики-движка/проца под окном редактирования. Не хочу дублировать запрос в ВП:ЗКА. — Тжа0.

Баг в викификаторе

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

В статье 7-Eleven викификатор изменяет $10.882 billion на 120.882 billion. Здорово! Хочу, чтобы он обрабатывал и мой банковский счёт :-). Только по моим кредитам его не запускайте! --Obersachse 05:38, 30 ноября 2006 (UTC)[ответить]


Ломает тэги и сл.

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

<small></small>: конвертирует их в барахло/мусор.
Если заголовок секции не обрамлён пробелами, то он не вставляет их для старых секций. — Тжа.

Про теги: Участник:AlefZet предложил привести теги размера шрифта в соответствие с правилами XHTML. Про заголовки не понял. --CodeMonk 23:42, 30 октября 2006 (UTC)[ответить]
Что тут понимать-то: вот секция ==Байка/побасёнка==. Я кликаю/щёлкаю на фикатор в надежде получить == Байка/побасёнка ==. Результат 0-евой. Очевиднейший баг.
Как это будет выглядеть? На указанной с-це про замену <small> я ничегошеньки не нашёл. — Тжа.

auto_comment

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

может быть логично объявить var auto_comment=0;--_ ©АКраш?! 12:45, 27 октября 2006 (UTC) здесь, а в личных скриптах только присваивать ей единицу?[ответить]

Уже так и сделано... Только переменная определяется в глобальномом монобуке. --Morpheios Melas 12:57, 27 октября 2006 (UTC)[ответить]

Викификатор пропал

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

А у меня с некоторых пор кнопка викификатора в окне редактирования пропала. Пользуюсь Opera9 в FreeBSD и WinXP. В файрфоксе вроде тоже. A.M.D.F. 14:42, 11 октября 2006 (UTC)[ответить]

Теперь кнопка Викификатора — это вторая слева кнопка над окошком редактирования. Там ещё пиктограмма со стрелочкой. --CodeMonk 22:00, 12 октября 2006 (UTC)[ответить]
Не работает сегодня. _ ©АКраш?! 09:07, 27 октября 2006 (UTC)[ответить]
Я пока закомментировал нерабочий фрагмент - нужно будет потом разобраться. --ajvol 10:53, 27 октября 2006 (UTC)[ответить]

Приходится использовать викификатор дважды...

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

...чтобы викифицировать эту страницу. В первый раз удаляется лишний пробел перед дефисом, и только во второй раз дефис превращается в тире. --aml 02:47, 24 сентября 2006 (UTC)[ответить]

Поправил пока в экспериментальном режиме. --CodeMonk 22:29, 24 сентября 2006 (UTC)[ответить]

Яндекс. Карты

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

В шаблоне {{Населённый пункт}} есть параметр "Яндекс.Карты". Викификатор его разрывает на "Яндекс. Карты" и в результате параметр не работает. Выходит, нельзя викифицировать статьи с {{Населённый пункт}}-ом, а то карты пропадают... — csman 20:03, 13 сентября 2006 (UTC)[ответить]

Может лучше параметр изменить согласно правилам русского языка?--Ctac (Стас Козловский) 07:59, 14 сентября 2006 (UTC)[ответить]
Можно, но тогда надо будет (1) менять все N десятков статей, что ещё ничего, но (2) сколько таких ещё шаблонов и как сделать так, чтобы люди в будущем не делали таких параметров, и знали, что их викификатор сломает? — csman 08:48, 14 сентября 2006 (UTC)[ответить]
Параметр я назвал так потому что Яндекс именно так называет, без пробела (программисты его делают :). Сейчас переделаю параметр на "ЯндексКарты". MaxiMaxiMax 08:52, 14 сентября 2006 (UTC)[ответить]
Очень оперативно, спасибо. — csman 09:03, 14 сентября 2006 (UTC)[ответить]

Финт с 3 кв. скобками

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

На стр. ОС я хотел обрамить предложение {ISO/IEC 9945; свежая версия принята Международной организацией стандартизации (ИСО) в 2003 г.}. кв. ск. (чтобы избежать повтора кр. ск.), однако вификатор не конвертировал выр. ISO/IEC 9945 в линк. Пришлось прибегнуть к фигурным. Баг надо фикснуть. 65.54.154.114

Насколько я понял, это не Викификатор. Викификатор ничего в ссылки не превращает и запускается только после нажатия соответствующей кнопки. —ajvol 07:56, 5 сентября 2006 (UTC)[ответить]
  • А что же тогда? Этот баг я встретил при нажатии кн. "При/евью"? Пришлось делать через одно место с тэгом <1nowiki>. 65.54.154.114
Замечу также, что использование квадратных скобок в данном случае ничем не оправдано. Правила оформления скобок и использования кавычек регламентируютмя ВП:ОС. --Kaganer 09:28, 5 сентября 2006 (UTC)[ответить]
  • Перечёл правила. Смотрится как-то дико: вопреки матправилам {[()]}. Интересно, специально задуман инвертированный порядок?

Спасибо за "скорые" ответы обоим. И килогода не прошло. ;^) 65.54.154.114

Konqueror 3.5.4 и 3.5.4

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

Не хочет викифицировать и выдаёт следующие ошибки:

SyntaxError Invalid regular expression

на строках 178, 122, 86, 72. stassats 15:30, 3 августа 2006 (UTC)[ответить]

Куда деваются наши доллары?

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

Что викификатор делает со значком доллара в выражениях типа $1? Вернее, зачем убирает этот значок? Al Silonov 21:04, 11 июля 2006 (UTC)[ответить]

Такого вроде не было предусмотрено. Можно пример где викификатор убирает этот значок? —CodeMonk 00:14, 12 июля 2006 (UTC)[ответить]
Я заметил, редактируя статью Румынский лей. В шаблоне Шаблон:Валюта один из параметров — валюта, указываемая в соотношении курсов. Ставлю этот несчастный один доллар, нажимаю Викификатор — получается просто единица. Рядом стоит €1, с этим ничего не происходит. В обычном контексте с долларом тоже ничего не происходит. Только в этом шаблоне :((. Al Silonov 08:38, 12 июля 2006 (UTC)[ответить]
Действительно, очень странно. Хотя обработки внутри шаблонов вообще быть не должно. Видимо, с исключением шаблонов что-то тоже испортилось. Будем разбираться. --CodeMonk 23:19, 14 июля 2006 (UTC)[ответить]

Отбивка процентов

[править код]
Даже если принять рекомендацию ГОСТ об отбивке процента пробелом (если честно, в глубине души я против, и ни в одном издательстве, где я работал, включая гигантов вроде СК Пресс и Independent Media, такие пробелы не ставятся), следует все-таки запретить такую отбивку в форматных скобках HTML. В выражениях типа
 <div style="margin:30%">
вставка пробелов убивает синтаксис. В той же конструкции, кстати, не нужно ставить пробел и после двоеточия. Al Silonov 19:03, 7 июля 2006 (UTC)[ответить]
Проценты, конечно, нужно отбивать только в тексте. LoKi 11:17, 8 июля 2006 (UTC)[ответить]

Кстати, Викификатор раньше игнорировал стили, а сейчас снова начал отбивать проценты и ставить кавычки-ёлочки :( LoKi 11:17, 8 июля 2006 (UTC)[ответить]

Всё вроде вернулось в норму. --CodeMonk 16:39, 25 июля 2006 (UTC)[ответить]

Снова огорчил викификатор, и снова в связи с процентами. Как все законопослушные граждане, я полагал, что, отбивая знак процента от цифры, в-ор вставляет неразрывный пробел. Но оказалось, что пробел самый обыкновенный. Но это же неграмотно! Когда наконец эта проклятая машина придет к нормальному виду и в таком положении замрёт, перестанет меняться дальше? ;)) Al Silonov 09:21, 25 июля 2006 (UTC)[ответить]

Ничего подобного, там ставится неразрывный пробел. Просто у Вас, наверное, браузер FireFox, который невидимые неразрывные пробелы убивает. --CodeMonk 16:39, 25 июля 2006 (UTC)[ответить]
Да, FireFox, но убивает он пробелы не везде, а только там, где здешний в-ор их проставляет. В Викисловаре викификатор ставит устойчивые неразрывные пробелы, значок &nbsp, который здесь внизу, тоже вроде не убивается. Так, может, все-таки в «консерватории» надо чего-нибудь подправить? Al Silonov 07:34, 26 июля 2006 (UTC)[ответить]

Чистка от старья

[править код]
  1. Почистить от старых версий браузэров.
  2. «Дефис, минус и тире» заменить на "Дефис, минус, кор(откое)тире и тире" и под это почистить правила секции. — ТЖА.
Короткое тире в русской типографике не употребляется вообще. --CodeMonk 20:10, 25 апреля 2006 (UTC)[ответить]
Я считал, что короткое тире в русской типографике употребляется при обозначении численного диапазона или между годами, например 5–10, 1985–1999. --  maXXIcum 23:26, 14 июля 2006 (UTC)[ответить]
Действительно сейчас начало употребляться, но традиционным нормам русской типографики не соответствует. --CodeMonk 01:06, 15 июля 2006 (UTC)[ответить]
Это идёт из английской типографики. В русской традиции есть только одно тире. — doublep 11:49, 25 июля 2006 (UTC)[ответить]

Процент

[править код]
Удаляется пробел после цифры, если за ней следует знак процента (%) или промилле (‰). Так, «5 % и 16,7 ‰» будут преобразованы в «5 % и 16,7 ‰».

По действующему ГОСТ 8.417—2002 знак процента требуется отбивать от предстоящего числа как обозначение единицы измерения (кроме случаев, когда это часть сокращения: 5%-йпятипроцентный). —Solon 08:00, 10 января 2006 (UTC)[ответить]

Поправил. —CodeMonk 19:29, 10 января 2006 (UTC)[ответить]
Вообще-то требования ГОСТ носят рекомендательный характер и в отношении знака процента как правило не соблюдаются, в том числе гос. органами (см., например, Госкомстат, ЦИК), по крайней мере, мне не удалось найти ни одного сайта, последовательно отбивающего знак процента. На мой взгляд, Википедии нет никакого смысла лезть вперед батьки в пекло. См. также Отбивка знака процента от предшествующей цифры.—Decemberster 16:41, 17 января 2006 (UTC)[ответить]
Ваше мнение по этому вопросу известно и понятно. Вопрос уже обсуждался, и вряд ли имеет смысл возобновлять обсуждение (тем более здесь). А требования ГОСТ — это требования, а не рекомендации, кстати. —Solon 18:21, 17 января 2006 (UTC)[ответить]
В самом деле, здесь этой дискуссии не место, но раз уж вы начали, то вот вам выдержка из статьи 12 Федерального закона о техническом регулировании:
Стандартизация осуществляется в соответствии с принципами: добровольного применения стандартов; …. —Decemberster 19:58, 17 января 2006 (UTC)[ответить]

Пробел после точки

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

Ошибочно вставляется пробел после точки в названиях доменов, если они названы русскими буквами. Например, Яндекс. Ru, Лента. Ru, Гезета. Ру — превратяться в Яндекс. Ru, Лента. Ru, Гезета. Ру. Можно сделать исключения:

  • не ставить пробел, после «ввв.» и «www.»
  • не ставить пробел, если после точки идут слова написанные латинскими буквами.
  • не ставить пробел, если после точки идут слова «Ру», «Ком», «Орг», «Нет».
  • не ставить пробел, если слово у ближайшего слева пробела начинается с http://, ftp://, mailto://

Ctac (Стас Козловский) 09:13, 18 января 2006 (UTC)[ответить]

Кроме доменов подобные ошибки могут возникать и при обработке имён файлов.—Ctac (Стас Козловский) 11:22, 20 января 2006 (UTC)[ответить]
В общем, чтобы не заморачиваться, надо просто исключить из обработки гиперссылки, а также не ставить пробел после точки, если за ней следуют латинские буквы или сочетание «ру[ \.,;\»]".—Ctac (Стас Козловский) 12:03, 20 января 2006 (UTC)[ответить]

Снова градусы

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

Викификатор перестал добавлять пробел между числом и градусами Цельсия и Фаренгейта, то есть 123 °C больше не заменяется на 123 °C. —Solon 11:08, 18 января 2006 (UTC)[ответить]

Викификатор заменяет теги <br> на <br />. Это сделано специально? —Solon 11:26, 18 января 2006 (UTC)[ответить]

В принципе логично — <br /> соответствует XHTML. MaxiMaxiMax 11:27, 18 января 2006 (UTC)[ответить]
Движок Википедии сам заменяет <br> на <br /> при выдаче страницы, поэтому это излишне. — Monedula 11:34, 18 января 2006 (UTC)[ответить]
Хорошо. Просто <br> вроде выглядит немного покомпактнее. —Solon 11:52, 18 января 2006 (UTC)[ответить]
Приучаем людей к культуре. :-)) —CodeMonk 20:36, 18 января 2006 (UTC)[ответить]

Моноширинный текст

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

Можно ли добавить кнопку для добавления Моноширинного текста?

У себя локально я просто добавил в Summary код:

<A href="javascript:insertTags('\<tt\>','\</tt\>','Текст');" 
style="text-decoration: none;color:#000" title="Моноширинный шрифт">tt</a> 

--MaratL 11:34, 26 января 2006 (UTC)[ответить]

Это не есть хорошо, потому что в большинстве случаев нужен другой тэг: <code>. Разница в том, что <tt> никакого смысла сам по себе не имеет (чистое оформление), а <code> несёт определённую семантическую нагрузку. Если я правильно помню, <tt> вообще deprecated в HTML. Поэтому, если и добавлять кнопку, то для тэга <code>. — doublep 19:25, 14 февраля 2006 (UTC)[ответить]
Иногда никакой дополнительной семантики и не нужно. в таком случае можно сделать так:
/* В monobook.css */
.tt {
     fot-family: monospace;
}

<span class="tt"> //открывающий тег
<span> //закрывающий тег

--AlefZet 12:49, 3 сентября 2006 (UTC)[ответить]

Запретить подписываться в статьях

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

Можно локально сделать так, чтобы перед отправкой правки в основном пространстве имён подпись либо выкидывалась, либо участника спрашивали, действительно ли он хочет подписаться в статье? Поможет новичкам, имхо. MaxSemtalk 17:18, 14 февраля 2006 (UTC)[ответить]

Проблема викификации в статьях, название которых содержит текст в круглых скобках

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

Если название стать содержит текст в круглых скобках (Например - "Статья (философия)", то попытка викификации любого термина (выделение слова и нажатие кнопки "[[|]]") после сохранения дает следующий результат: пример --> пример. --Poa 14:24, 25 апреля 2006 (UTC)[ответить]

Поясните, пожалуйста, вопрос. Кнопка "[[|]]" не является кнопкой викификации: она вставляет указанные на ней символы (т. е. болванку для ссылки). LoKi 15:02, 25 апреля 2006 (UTC)[ответить]
Возможно я неправильно использовал термин. Описанная проблема появляется при использовании кнопки "[[|]]". Последовательность действии, приводящая к проблемной ситуации:
  • Перейти на статью Порт-Рояль (монастырь)
  • Войти в режим редактирования
  • Выделить слово монастырь
  • Нажать кнопку "[[|]]"
  • Записать страницу
  • Вернуться в режим редактирования и проверить результат. (Я получаю [[монастырь (монастырь)|монастырь]])
Эта кнопка предназначена для сложных ссылок типа [[Менделеев, Дмитрий Иванович|Менделеев]]. Для простых ссылок используйте кнопку Ab над окном редактирования. --CodeMonk 20:06, 25 апреля 2006 (UTC)[ответить]
Спасибо за помощь.--Poa 21:15, 25 апреля 2006 (UTC)[ответить]

Ну надо же. Никогда с таким произволом не сталкивался. А откуда берутся эти скобки? раньше было все равно, есть ли | в середине - ссылка была нормальная. Кто прокомментирует? _ ©АКраш?! 07:21, 22 июня 2006 (UTC)[ответить]

Это очень удобно, например: «[[Терминатор (фильм)|]]» -> «Терминатор». --CodeMonk 00:52, 31 октября 2006 (UTC)[ответить]
Об этом рассказывалось в каком-то типе/совете денька. — Тжа.
до
после

Этот скрипт добавляет пробел в настройках оформления таблицы, что есть плохо. —valodzka 09:43, 7 мая 2006 (UTC)

Все значения атрибутов, по правилам HTML и XHTML, должны писаться в кавычках: width="100%". Тогда всё будет нормально. —CodeMonk 16:25, 7 мая 2006 (UTC)[ответить]
Проблема в том если где-то в большой статье есть таблица не совсем по правилам, и кто-то обработает её викификатором, то результат будет плачевный. —valodzka 16:37, 7 мая 2006 (UTC)
Ну не такой уж плачевный. --CodeMonk 17:20, 7 мая 2006 (UTC)[ответить]

Пользователи не приняли программу. Пришлось всех уничтожить.

--valodzka 17:27, 7 мая 2006 (UTC)
:-)) Есть две вещи, которые нельзя не принимать: это русская грамматика и синтаксис XML. ;-)) --CodeMonk 17:50, 7 мая 2006 (UTC)[ответить]

Дальнейшее развитие Викификатора

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

В процессе довольно основательной переработки кода, результат которой можно наблюдать на Мете либо здесь, у меня появилось несколько предложений:

  • Перенести сообщения Викификатора, типографику и фукнцию addWkikifPanel() в отдельный файл
  • Расширить список преобразуемых HTML-тэгов (table, ul, ol ...)
  • Переработать код для того чтобы избавиться от глобальной переменной txt (пусть функции принимают текст в качестве параметра и возвращают результат). Это позволит использовать Викификатор в качестве html2wiki конвертера на стороне клиента.

PS. Краткое описание изменений в коде:

  • Имена функций переведены на английский язык
  • Комментарии теперь также на английском
  • Текст сообщений хранится в переменных, расположенных в шапке файла
  • Обработка типографики вынесена в отдельную функцию ProcessTypography()
  • Для html2wiki преобразований также создана новая функция Wiki2html()
  • Обработка стандартных пространств имён созданна функция ProcessNS(..)
  • Добавлено 3 функции:
  1. ReplaceTags(..) - для преобразования тэгов (nowiki, pre, math, gallery).
  2. ReplaceElements(..) - для преобразования прочих элементов по регулярному выражению.
  3. RestoreElements(..) - для обратного преобразования элементов по имеющемуся массиву замещающих строк.

PPS. Имно необходимо заменить

addLoadEvent(addWkikifPanel);

на

addOnloadHook(addWkikifPanel);

Замечания, предложения и дополнения приветствуются!

Пока я подробно не смотрел, но сразу возникли 2 вопроса: 1) У нас всё-таки русскоязычная Википедия, и у нас принято всё переводить. Поэтому я думаю, будет логично вернуть комментарии на русском языке. 2) Почему функция, выполняющая html-в-wiki-операции называется «Wiki2html»? :-) --CodeMonk 01:09, 29 июня 2006 (UTC)[ответить]
Это попытка интернеционализировать викификатор, чтоб его можно было использовать в иноязычных проектах. --ajvol 02:24, 29 июня 2006 (UTC)[ответить]
Может быть повнимательнее посмотреть на файл http://ru.wikipedia.org/skins-1.5/common/wikibits.js и использовать какие-то функции по работе с выделенным текстом оттуда? --ajvol 02:24, 29 июня 2006 (UTC)[ответить]
По-моему там всякая мелкая всячина в этот файл свалена. Какие функции ты имел в виду? --CodeMonk 23:51, 29 июня 2006 (UTC)[ответить]

Викификация в обработке процента параметрах таблицы и тегов

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

Наглядный пример:

Ячейка с 90 процентным шрифтом до
Ячейка с 90 процентным шрифтом после

Any questions? :) --winterheart 19:06, 7 июля 2006 (UTC)[ответить]

При перекомпоновке скрипта исчезли некоторые исключения. Будем разбираться. --CodeMonk 20:16, 7 июля 2006 (UTC)[ответить]
А можно ли посмотреть на этот список. Дело в том, что оптимизация кода - это моя идея. И она продолжает развиваться (см. ниже)... Данный недостаток я постараюсь устранить в ближайшее время.
Исчезло исключение тегов и атрибутов тегов. Сейчас я это восстановил. Кроме того, я внёс в код ещё несколько важных исправлений — посмотрите историю. А вот использовать коды с meta.wikimedia.org мы, наверное, не будем, поскольку туда имеют доступ не только администраторы — вандализм там может вызвать сбой работы всего проекта, и мы не сразу поймём, в чём дело. Сорри. --CodeMonk 00:40, 9 июля 2006 (UTC)[ответить]
Вы правы. Изменения и впрямь значительные. В том числе и по переводу. Непременно внесу эти изменения в код на Мете. Насчёт вандализма я тоже с Вами согласен. Я думал об этом и решил, что при выходе новой версии можно будет обновлять локальную копию(конечно, если администраторы Википедии сочтут это нужным).
К слову, в третьей бете наблюдаются не меньшие изменения...
Кстати, об изменениях... Насколько я понимаю, Вы являетесь автором Викификатора и посему отлично представляете что именно делают регулярные выражения из раздела типографики и почему замены должны происходить именно в этом порядке. Было бы здорово, если бы всё это было задокументированно (если нужно могу взять это на себя, если Вы сможете поделиться своими знаниями в этой области). Например:
  • Почему для замены текста между тэгами используется "(.|\r\n)+?" а не "(.|\s)*" ?
  • Почему строки, начинающиеся с пробела, обрабатываются до шаблонов и внутренних ссылок?
  • Почему вообще необходимо заменять эти строки на "безопасные" символы со счётчиком?
Это сделано чтобы не обрабатывать типографику в этих строках?
  • Почему HTML2Wiki() выполняется после исключения тэгов?

PS. По моему скромному мнению, документирование только поможет развитию Викификатора --Shtriter 12:41, 9 июля 2006 (UTC)[ответить]

Я только один из авторов Викификатора, не преувеличивайте мои заслуги. :-) На вопросы сейчас отвечу:
  • Во-первых, надо обязательно брать по минимуму (на конце +?), чтобы не пропустить пространство между парами тегов. Например, <math>…</math>'''вот здесь'''<math>…</math>. А исключать тег без содержимого (*) смысла нет. Выражение (.|\s) полностью эквивалентно (.|\r|\n).
Да... Вот ведь как положения знака вопроса может влиять на смысл... Но насчёт пустого тэга я с Вами теперь согласен (в чём собственно вопрос и заключался)...
  • Строки, начинающиеся с пробелов, обозначают преформатированный текст, который по-моему не следует обрабатывать вообще. Я, например, вот даже так и так его использовал.
Это понятно, но разве в нём не может содержаться нечто, что можно типографить?
  • HTML2Wiki() я просто забыл перенести. Она, конечно, должна выполняться до исключения тегов.
  • А какое документирование Вы имели в виду? И описание ведь есть, и комментарии к коду. --CodeMonk 02:16, 10 июля 2006 (UTC)[ответить]
Я имел ввиду как раз описание самых сложных шаблонов. С уважением, --Shtriter 12:58, 11 июля 2006 (UTC)[ответить]
Внутри преформатированного текста, конечно, может содержаться нечто, что можно обработать. Но чаще там обработка всё-таки вредна, как в приведённых примерах. Описание сложных шаблонов составлять слишком долго и нудно, поскольку придётся приводить кучу примеров для каждого. --CodeMonk 00:14, 12 июля 2006 (UTC)[ответить]

Использование Викификатора в других проектах

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

Здравствуйте. Скажите, возможно ли использование кода викификатора и панели в других проектах, никак не относящимся к википедии. В случае положительного ответа (а он очень вероятен, т.к. GFDL), нельзя ли привести небольшую инструкцию по его установке? P.S. Можно ли установить викификатор, не будучи администратором? Просто добавив вызов

document.write('<script type="text/javascript" src="' 
              + 'http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js' 
              + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

в юезрский js файл скина, будет ли он работать, если проект не википедия вовсе? :) Swix 00:19, 9 июля 2006 (UTC)[ответить]

Вообще код программы формально не подпадает под действие GNU FDL. Как правильно предлагал Ajvol, надо бы всем разработчикам где-то написать разрешение на распространение этого кода под лицензиями GNU GPL или MIT. Но пока мы все соберёмся, боюсь, пройдёт немалое время. Пока же, я полагаю, никто не будет возражать, если Вы этим кодом воспользуетесь. --CodeMonk 01:55, 9 июля 2006 (UTC)[ответить]
Да, должен работать внешний внешний вызов кода из Википедии без его переноса. --ajvol 07:24, 9 июля 2006 (UTC)[ответить]

Я бы хотел использовать викификатор при работе в http://incubator.wikimedia.org Подскажите как это можно сделать. Пробовал скопировать код в свой monobook.js как предлагали выше по обсуждению, но это не помогло. --Redline 16:52, 30 августа 2006 (UTC)[ответить]

Викификатор ломает ISBN, вставляя тире вместо дефисов. Наблюдается, если первая группа состоит из 3 цифр

Maxim Razin 08:21, 26 июля 2006 (UTC)[ответить]

Исправил. Осталось только две свободные пары скобок, надо что-то делать! Maxim Razin 08:34, 26 июля 2006 (UTC)[ответить]
Нам больше и исключать особо нечего. --CodeMonk 23:52, 26 июля 2006 (UTC)[ответить]
А даже если и нужно... Насколько я помню код, для того, чтобы спрятать подстроку, которую не нужно обрабатывать, используется 2 безопасных (не используемых при наборе текста, непечатаемых) символа. Причём на данный момент пары не перекрываются, т.е. для одного типа подстрок мы используем "\x01" и "\x02", для другого "\x03" и "\x04". И так далее. Но ведь нам никто не запрещает использовать "\x01" и "\x03", "\x01" и "\x04", "\x02" и "\x03".Я полагаю идея понятна.
Более того, принципиально мы можем использовать перестановки: "\x01" - "\x02" и "\x02" - "\x01" (хотя это потенциально опасно - <pre>...</pre>1<nowiki>...</nowiki>). Если брать их в расчёт, то говоря языком комбинаторики мы имеем соединение из 24 элементов (поправьте меня, если я не прав), взятых по 2 - т.е. 552 варианта!
Но, даже если не брать в расчёт возможность перестановки (т.е. используются только варианты типа "\x01" - "\x02", но не "\x02" - "\x01") - получим аналогичное сочетание - всего 276 вариантов. Правда, этот вариант, тоже не совсем безопасен на вышеприведённом примере. Вот если условиться, что первый символ - с нечётным порядковым номером, а второй с чётным - тогда даже рядом стоящие исключаемые подстроки, разделённые числами, не получится обработать по ошибке. Итого получим 12 вариантов соединений безопасных пар для каждого из 12 "нечётных" символов (\x01-\x02, \x01-\x04, \x01-\x06 ... \x03-\x02, \x03-\x04 ... \x1F-\x02, \x1F-\x04, ... \x1F-\x1E ). Причём нечётными должны быть не обязательно те символы, которые имеют нечётный порядковый номер в таблице ASCII, а просто те, которые стоят на нечётных номерах в нашем списке "безопасных".
Если мои расчёты веры, мы обладаем по крайней мере 144 вариантами, а не 24 как предполагалось ранее (опять, же если я совершил арифметический огрех - не обессудьте - имхо, гораздо важнее сама идея). Так что можно без особого страха исключать из обработки новые шаблоны строки. Но по правила использования безопасных символов надо установить единые. --Shtriter 05:58, 27 июля 2006 (UTC)[ответить]

Ещё вариант с проблем с ISBN: [1]©АКраш?! 06:59, 4 августа 2006 (UTC)[ответить]

Ленин мог пострадать

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

Хорошо, вовремя заметил:

  • == "Пломбированный вагон" ==

при наличии перед заголовком пустой строки заменяется на

  • = = "Пломбированный вагон" =

Ильич спасён, а Викификатор требует коррекции. --Panther 15:42, 10 августа 2006 (UTC)[ответить]

Кавычки и скобки

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

Хочется чтобы такая конструкция

" * [[*|"*"]] * "

приводилась к такому виду

« * [[*|«*»]] * »

а не такому

« * [[*|»*"]] * "

И соответственно для несколькох вложений

" * [[*|"*"]] * [[*|"*"]] * "

Ну и наконец, чтобы все кавычки менялись. А то надоедает подчищать за любителями викификатора.
Или так не сделать? --putnik 17:15, 2 сентября 2006 (UTC)[ответить]

Там уже фиг знает что наворочено с этими кавычками. Попробуем. --CodeMonk 22:23, 2 сентября 2006 (UTC)[ответить]


Неверная викификация вложенных кавычек и выделения:

   "бла-бла "бла" бла" => "бла-бла «бла» бла"

doublep 20:15, 7 сентября 2006 (UTC)[ответить]

Ping. Кто-нибудь может это исправить? — doublep 11:40, 19 ноября 2006 (UTC)[ответить]

Организация процесса

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

Насколько я понимаю, было бы проще как-то «убирать» выделение, ссылки и т. п. и оставлять только текст (разумеется, с возможностью возврата разметки). Это бы упростило анализ, резко сократив количество случаев. Не знаю, правда, насколько это реально с помощью JavaScript… — doublep 20:23, 7 сентября 2006 (UTC)[ответить]

Шаблоны справа

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

Не уверен, что это та страница, но предлагаю добавить справа шаблоны: дизамбиг, нет интервики, нет иллюстраций. --Не А 02:24, 23 сентября 2006 (UTC)[ответить]

Еще один баг (апостроф)

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

Заменяет простой апостроф на типографский не только в тексте, но и в шаблонах, при этом умирают, например, ссылки на изображения. См. статью О’Салливан, Ронни --Volkov (?!) 08:05, 25 сентября 2006 (UTC)[ответить]

В данном случае самая первая строка начиналась с пробела, поэтому не сработало исключение шаблона из обрабоки. Отсюда мораль — не начинать строку с пробела без необходимости, так как для вики это признак преформатированного текста. --CodeMonk 22:43, 25 сентября 2006 (UTC)[ответить]

Викификатор неправильно обрабатывает ISBN. См. [2]. --Zserghei 11:27, 30 сентября 2006 (UTC)[ответить]

+1: [3]. --Владимир Волохонский 05:09, 26 октября 2006 (UTC)[ответить]

Замена апострофов в ссылках

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

Отвикифицируйте страницу Вики. [http://www.celer.spb.ru/wiki/IzKomp'juterry/SamyjjWiki Самый Вики] заменяется на [http://www.celer.spb.ru/wiki/IzKomp’juterry/SamyjjWiki Самый Вики]. Надо бы пофиксить. --putnik @ 09:22, 30 октября 2006 (UTC)[ответить]

Кто не понял, знак дюйма заменяется на апостроф. --putnik @ 09:23, 30 октября 2006 (UTC)[ответить]
У меня по-моему кэш заглючило — не могу проверить. Сейчас заменяется апостроф в ссылках? --CodeMonk 01:16, 31 октября 2006 (UTC)[ответить]

Добавление викификатора

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

Нигде не нашел описания, так что, извините, спрошу здесь. Как добавить викификатор на собственную вики? Поставил кнопочку и добавил скрипт викификатора, а как их теперь связать? И ещё, могу я использовать изображение Button-wikifikator.png или оно тоже под копирайтом? — Александр Крайнов 21:26, 14 ноября 2006 (UTC)[ответить]

Я планирую скоро написать об этом инструкцию: Википедия:Викификатор/Инструкция по установке. --CodeMonk 04:40, 19 ноября 2006 (UTC)[ответить]
Владимир, у меня не получилось также подвязать. Я на мыло написал подробнее ошибку. Если можно, продублируйте ответ на мой email в Википедии. Спасибо. Кирилл Краснов 20:03, 20 ноября 2006 (UTC)
Будем разбираться. --CodeMonk 22:41, 22 ноября 2006 (UTC)[ответить]
Разобрался. Ругался на auto_comment. Присвоил по умолчанию auto_comment = 1; Заработало. Спасибо User:.:Ajvol:. за время на объяснения, которое оно потратил на меня. Кирилл Краснов
:) Спасибо большое. -- Александр Крайнов 19:06, 22 ноября 2006 (UTC)[ответить]

&nbsp и процент

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

Раз уж добавляет пробел между цифрой и процентом, то почему бы не добавлять (и заменять на) неразрывный пробел. --valodzka 01:26, 19 ноября 2006 (UTC)

Там и добавляется неразрывный пробел. --CodeMonk 04:40, 19 ноября 2006 (UTC)[ответить]
А почему бы не только добавлять, но и заменять? --valodzka 11:56, 19 ноября 2006 (UTC)
Там и заменяется тоже. --CodeMonk 20:59, 27 ноября 2006 (UTC)[ответить]

<sup>2</sup>

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

Почему бы не заменять 2 и 3 на ² и ³ соотвественно? --FHen 13:41, 17 декабря 2006 (UTC)[ответить]

Лучше не надо. В моём браузере они выглядят весьма по-разному и соседство, скажем <sup>5</sup> и ² будет смотреться странно. — doublep 13:44, 17 декабря 2006 (UTC)[ответить]