На этой странице обсуждения обсуждаются улучшения в шаблоне Infobox . |
|
Архивы : 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 |
Информационные окна WikiProject | |
Архивы | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||
Обсуждения старше 30 дней могут быть автоматически заархивированы с помощью Sigmabot III в нижнем регистре . |
Проблема с именем по умолчанию
Информационное окно | |
---|---|
Место расположения | |
Бирмингем |
Ник | Фред |
---|
Как видно из приведенных выше примеров ({{ Infobox school }}; {{ Infobox organization }}, респект), ожидаемое {{PAGENAME}}
поведение "по умолчанию , если не предусмотрено" для |name=
не работает. Я не смог определить причину. Энди Маббетт ( Свиноядное крыло ); Поговорите с Энди ; Редакции Энди 15:22, 14 мая 2021 г. (UTC)
- Исправлено в {{ Infobox school }} с этим редактированием . Я не знаю, почему именно, но резервный синтаксис не работает, когда параметр определен, но пуст, но похоже, что проблема MediaWiki, а не проблема {{ Infobox }}. Замена резервного синтаксиса на {{ Если пусто }}, похоже, работает. ProcrastinatingReader ( разговор ) 15:34, 14 мая 2021 (UTC)
- Действительно, именно так MW имеет дело с параметрами. Хотя
|name=
может и не иметь контента, тот факт, что он вызывается, означает, что он запускает эту часть| title = {{{name | {{{название_организации | {{{Non-profit_name | {{PAGENAMEBASE}}}}}}}}}}
- и, таким образом, это означает, что он никогда не попадает в PAGENAMEBASE. Действительно, если вы хотите гарантировать, что непустые параметры будут проигнорированы, вы делаете изменение, подобное тому, которое было сделано PR по ссылке выше. Primefac ( разговор ) 17:59, 14 мая 2021 (UTC)
- Кстати, поскольку {{ PAGENAMEBASE }} - это шаблон, а не волшебное слово, его поведение можно изменить. В своей версии huwiki, я ввел в
|felülír=
параметр ( «переопределить»), который решает эту проблему с немного еще более кратким , чем решением {{ если пусто }}: вместо того , можно записать . Не стесняйтесь использовать его, если считаете, что он полезен и для enwiki. - Таксипачи ( разговор ) 21:07, 14 мая 2021 г. (UTC){{if empty|{{{param|}}}|{{PAGENAMEBASE}}}}
{{PAGENAMEBASE|override={{{param|}}}}}
- Интересная идея, Tacsipacsi, однако большинство известных мне шаблонов используют прямое PAGENAME, которое является волшебным словом и, следовательно, не может быть «взломано» таким образом. Primefac ( разговорное ) 10:49, 15 мая 2021 (UTC)
- Тогда, вероятно, большинство из них следует изменить, чтобы использовать шаблон. Конечно, есть исключения, когда значение неоднозначности официально или неофициально является частью имени (например, Halle (Заале) или Нью-Йорк, Нью-Йорк ), но обычно это только внутренняя техническая сторона Википедии и не должна присутствовать в информационном окне. - Таксипачи ( разговор ) 11:37, 15 мая 2021 г. (UTC)
- Интересная идея, Tacsipacsi, однако большинство известных мне шаблонов используют прямое PAGENAME, которое является волшебным словом и, следовательно, не может быть «взломано» таким образом. Primefac ( разговорное ) 10:49, 15 мая 2021 (UTC)
- Кстати, поскольку {{ PAGENAMEBASE }} - это шаблон, а не волшебное слово, его поведение можно изменить. В своей версии huwiki, я ввел в
- Действительно, именно так MW имеет дело с параметрами. Хотя
Раньше это не было проблемой. Нужна ли нам программа для применения исправления ко всем информационным окнам (или, по крайней мере, к тем, которые основаны на {{ Infobox }})? Или можно применить общее исправление вверх по течению? Энди Маббетт ( Свиноядное крыло ); Поговорите с Энди ; Редакции Энди 09:56, 15 мая 2021 г. (UTC)
- Насколько мне известно, парсер викитекста всегда (или, по крайней мере, с тех пор, как я присоединился к Википедии девять лет назад) работал таким образом. Есть также много шаблонов, использующих эту разницу с такими кодами, как
{{#ifeq: {{{1 | a}}} | {{{1 | b}}} | | }}
- ломать их было бы неудачно. - Таксипачи ( разговор ) 11:37, 15 мая 2021 г. (UTC)
Рассмотрите возможность оптимизации просмотра вложенных ящиков в информационном окне
В скине MinervaNeue обычно используется display:block;
свойство для элементов
width:100%
свойство. Чтобы решить эту проблему, я предлагаю добавить следующие правила для исправления:тело . скин-минерва . таблица инфобокса { display : table ; } тело . скин-минерва . заголовок информационного окна { отображение : заголовок таблицы ; }
Это можно либо добавить в Template: Infobox / styles.css, либо сообщить в Phabricator. - Великая Яркая Звезда ( разговор ) 14:17, 18 мая 2021 (UTC)
- Пожалуйста, не начинайте то же обсуждение, которое вы начали на лекции MediaWiki: Common.css # Рассмотрите возможность оптимизации просмотра вложенных ящиков в информационном окне . См. WP: MULTI . Изно ( разговорное ) 23:19, 18 мая 2021 (UTC)
- Кроме того, поскольку ветка, упомянутая Изно, была отмечена , применяется WP: OTHERPARENT, а также WP: MULTI. - Red rose64 🌹 ( разговор ) 07:00, 19 мая 2021 (UTC)
{{not done}}
Размер шрифта над / заголовка в мобильных инфобоксах Minerva
Сегодня я внес несколько изменений локально в инфобоксы, чтобы исправить отсутствие стиля размера шрифта, применяемого по умолчанию к указанному выше заголовку в мобильной Minerva (например, [1] и [2] ). Я поговорил об этом с пользователем: Jonesey95 на моей странице обсуждения ( см. Здесь ), и они посоветовали мне, что может быть более простой способ установить для этого значения по умолчанию, используя здесь TemplateStyles, поэтому я хотел начать обсуждение. - Гозей ( разговорное ) 05:47, 26 мая 2021 г. (UTC)
- Пожалуйста остановись. Когда мы перейдем к TemplateStyles, их нужно будет поменять местами. Я сказал вам, что это то, с чем мы должны жить уже вне вики. Изно ( разговорное ) 06:42, 26 мая 2021 (UTC)
Полусерьезный вопрос об устаревании
В последние несколько недель я заметил, что GKFX очень много редактирует, заменяя {{Infobox
звонки {{#invoke:infobox|infoboxTemplate
звонками от имени WP: PEIS . Я не обязательно здесь, чтобы оспаривать их прошлые изменения, но это заставило меня задуматься: этот шаблон в значительной степени используется непосредственно только шаблонами-оболочками; Было бы разумно отказаться от {{ infobox }} и потребовать, чтобы пользователи, создающие новые шаблоны {{ infobox X }}, напрямую вызывали модуль? Это избавит редакторов, таких как GKFX, от необходимости потенциально изменять тысячи шаблонов информационных ящиков по мере их создания и интенсивного использования. С другой стороны, конечно, мы потеряем довольно ценный / doc в этом шаблоне, и нам, вероятно, придется переместить его в какое-нибудь достаточно заметное место, чтобы оно все еще было полезно (возможно, даже просто превратите Template: Infobox в перенаправление на WP: справочная страница?).
Как я уже сказал, это лишь полусерьезный вопрос, но если я чему-то научился, будучи педагогом, если у одного человека есть вопрос, есть как минимум двое других, у которых такой же вопрос. Primefac ( обсуждение ) 14:00, 1 июня 2021 (UTC)
- Это напоминает мне недавнее обсуждение того, где следует использовать версии шаблонов, и я думаю, именно поэтому GKFX делает это.
- Тем не менее, действительно шаблоны становятся более эффективными с пропущенным вызовом (PEIS - это одно, скорость рендеринга - другое), и что первоначальное намерение (по крайней мере, из уст Time S. мета-шаблоны. Существует "сырое" использование в пространстве статьи и в других местах за пределами пространства шаблона, которое по-прежнему должно поддерживаться этим шаблоном, запрещая очистку для использования некоторого шаблона Infobox X. (Это не то, что я собираюсь убирать, у меня есть рыба побольше.)
- В таком мире документация должна жить здесь, учитывая это вторичное использование. Модуль: документация Infobox должна быть расширена, чтобы указать, как вызывать его как шаблон и модуль, а затем указать здесь для документации параметров / аргументов.
- У нас есть по крайней мере одна потеря, а именно то, что шаблон предоставляет удобную точку абстракции на случай, если мы когда-нибудь захотим изменить базовое имя функции (Lua легко поддерживает рефакторинг с определенной идиомой, которую вы можете увидеть в подмодулях CS1 ).
- Лично я бы предпочел более вики-идиоматическое имя для вызова функции, например, require: Infobox | infobox.
- Все это, если мы действительно хотим пойти по этому пути. (В последнее время я думал, что мы должны это рассмотреть.) Изно ( разговор ) 14:16, 1 июня 2021 года (UTC)
- Что касается красивого именования функций, то, что я сделал в Module: Infobox3cols , установил имя функции в пустую строку. Это означает, что вы можете кратко называть его из wikitext как {{#invoke: infobox3cols || args ...}}, что выглядит достаточно красиво и позволяет избежать необходимости запоминать собственное имя. Пользователь: GKFX talk 17:49, 1 июня 2021 г. (UTC)
- Это ... нет, из-за этого невозможно найти применение. Пожалуйста, отмените ваше изменение. GKFX
Izno ( обсуждение ) 17:52, 1 июня 2021 (UTC)
- Уверены ли вы? Каким образом невозможно найти применение? Вы можете
insource:"invoke:infobox3cols"
довольно легко искать . Пользователь: GKFX talk 18:14, 1 июня 2021 г. (UTC)- Да, а потом вы вводите новую функцию, и тогда случается что-то плохое.
- Пожалуйста, исправьте. Основным условием хорошей разработки программного обеспечения является то, что ваши API-интерфейсы должны иметь имя. Изно ( разговор ) 18:51, 1 июня 2021 (UTC)
- Изно, я собираюсь рассматривать это как действительный конкурс на СЛЕДУЮЩИЕ изменения. К сожалению, GKFX означает, что мне нужно отправить вам несколько десятков уведомлений об откате, потому что это единственный способ убедиться, что ничего не сломается, пока мы разбираемся с этим, извинения за беспорядок в ваших уведомлениях. Primefac ( обсуждение ) 12:40, 2 июня 2021 (UTC)
- Мои плохие уведомления! В любом случае, здесь есть три основных варианта, учитывая устоявшееся использование:
- #invoke: infobox3cols | infobox3cols | ...
- #invoke: infobox3cols | main | ...
- #invoke: infobox3cols || ...
- Кажется, что первое из них повторяется без особой причины. Второй вариант хорош, но достаточно общий; зачем указывать имя функции для вызова единственной полезной функции, экспортируемой модулем? (Как здесь.) Третий, чтобы ответить на продолжение Изно, может быть однозначно найден при поиске с помощью
insource:/infobox3cols\| *\|/
. Хотя имена, безусловно, важны, я думаю, что достаточно один раз сказать «infobox3cols»; слово «основная» не содержит более полезной информации, чем пустая строка. Пользователь: GKFX talk 12:59, 2 июня 2021 г. (UTC)- Почему нам нужно менять то, что уже существует? {{ infobox3cols }} уже имеет {{#invoke: Infobox3cols | infobox}}, что означает, что у нас уже есть рабочее имя.
- Небольшое замечание: если мы откажемся от вызова шаблона, мы потеряем его проверку параметров. Primefac ( обсуждение ) 13:04, 2 июня 2021 (UTC)
- Похоже на большое, а не второстепенное замечание: ^). Что именно ты имеешь ввиду? Изно ( разговорное ) 16:10, 2 июня 2021 (UTC)
- {{ infobox3cols }} (i3c) имеет вызов основного модуля, но также имеет вызов проверки неизвестных параметров, чтобы убедиться, что не используются недопустимые параметры. Я полагаю , мы могли бы включить это в сам модуль I3c, но, похоже , это может быть на самом деле более дорогим. Primefac ( разговорное ) 16:19, 2 июня 2021 (UTC)
- Я думаю, я мог бы считать антипаттерном выполнение проверки параметров в мета-шаблоне с использованием модуля, а не его собственного (если на самом деле это вообще необходимо)? Тем не менее, вы просто вызываете
_check
модуль вместо вызоваcheck
шаблона. Изно ( разговорное ) 16:47, 2 июня 2021 (UTC)- Хороший вопрос (и это единственная мета шаблон я видел , что есть параметр проверка). Primefac ( разговор ) 17:16, 2 июня 2021 (UTC)
- Я намеревался перенести эту проверку в модуль точно так, как описано Primefac выше. Просто я еще не дошел до этого. Пользователь: GKFX talk 17:47, 2 июня 2021 г. (UTC)
- Хороший вопрос (и это единственная мета шаблон я видел , что есть параметр проверка). Primefac ( разговор ) 17:16, 2 июня 2021 (UTC)
- Я думаю, я мог бы считать антипаттерном выполнение проверки параметров в мета-шаблоне с использованием модуля, а не его собственного (если на самом деле это вообще необходимо)? Тем не менее, вы просто вызываете
- {{ infobox3cols }} (i3c) имеет вызов основного модуля, но также имеет вызов проверки неизвестных параметров, чтобы убедиться, что не используются недопустимые параметры. Я полагаю , мы могли бы включить это в сам модуль I3c, но, похоже , это может быть на самом деле более дорогим. Primefac ( разговорное ) 16:19, 2 июня 2021 (UTC)
- Похоже на большое, а не второстепенное замечание: ^). Что именно ты имеешь ввиду? Изно ( разговорное ) 16:10, 2 июня 2021 (UTC)
- Сможем ли вы или я найти это однозначно, на самом деле не имеет значения. Это вредит новым участникам, когда они не понимают, что происходит, и это просто волшебный рендеринг. Черт возьми, я даже не знал, что вы можете использовать пустую строку в качестве допустимого имени функции, и у меня есть половина ума перейти к Phab и запретить практику на технической стороне, вот как меня раздражает эта идея.
- Либо имя функции infobox, либо имя функции main подходят мне, и если имя в настоящее время работает с infobox, это меня устраивает.
- Пожалуйста, будьте менее смелыми в будущем. Вы уже являетесь (желанным) положительным участником в пространстве шаблонов и делаете глупые вещи, такие как полное удаление имени функции, просто меня ошеломляет. Изно ( разговорное ) 16:06, 2 июня 2021 (UTC)
- Кажется, что в вышесказанное закралось небольшое недоразумение. Невозможно было вызвать {{ #invoke: infobox3cols | infobox | args ...}}, поэтому я не удалял и не переименовывал какие-либо функции, которые уже существовали. Эту функцию можно использовать только с родительскими аргументами. Я создал новую полезную функцию и назвал ее "", что вы, очевидно, думаете ужасно, но это ваше мнение, а не то, о чем я мог знать заранее. Как параллель с другой технологией, git stash в принципе называется as
git stash
, но в наиболее частом случае разрешается опускать подкоманду. Я делаю здесь то же самое, ИМО.args... - Относительно немногие участники будут заботиться о том, как работают модули; если вы напишете страницу документа (и я это сделал!), где
{{#invoke:infobox3cols||args...}}
продемонстрирована работа, я уверен, что люди просто скопируют и вставят ее и не будут беспокоиться о том, что означает дополнительная вертикальная полоса. Авторы, которые хотят внести свой вклад в пространство Lua, могут быть немного удивлены, увидев пустую строку, используемую в качестве имени функции, но это не непонятно для таких людей, поскольку они, вероятно, хотя бы бегло просмотрели документацию Lua и знают, что должно быть в ней. этот слот вызова #invoke. Пользователь: GKFX talk 17:46, 2 июня 2021 г. (UTC)
- Кажется, что в вышесказанное закралось небольшое недоразумение. Невозможно было вызвать {{ #invoke: infobox3cols | infobox | args ...}}, поэтому я не удалял и не переименовывал какие-либо функции, которые уже существовали. Эту функцию можно использовать только с родительскими аргументами. Я создал новую полезную функцию и назвал ее "", что вы, очевидно, думаете ужасно, но это ваше мнение, а не то, о чем я мог знать заранее. Как параллель с другой технологией, git stash в принципе называется as
- Мои плохие уведомления! В любом случае, здесь есть три основных варианта, учитывая устоявшееся использование:
- Изно, я собираюсь рассматривать это как действительный конкурс на СЛЕДУЮЩИЕ изменения. К сожалению, GKFX означает, что мне нужно отправить вам несколько десятков уведомлений об откате, потому что это единственный способ убедиться, что ничего не сломается, пока мы разбираемся с этим, извинения за беспорядок в ваших уведомлениях. Primefac ( обсуждение ) 12:40, 2 июня 2021 (UTC)
- Уверены ли вы? Каким образом невозможно найти применение? Вы можете
- Это ... нет, из-за этого невозможно найти применение. Пожалуйста, отмените ваше изменение. GKFX
Izno ( обсуждение ) 17:52, 1 июня 2021 (UTC)
- Что касается красивого именования функций, то, что я сделал в Module: Infobox3cols , установил имя функции в пустую строку. Это означает, что вы можете кратко называть его из wikitext как {{#invoke: infobox3cols || args ...}}, что выглядит достаточно красиво и позволяет избежать необходимости запоминать собственное имя. Пользователь: GKFX talk 17:49, 1 июня 2021 г. (UTC)
Курсив и китайский в инфобоксах
Многие информационные блоки имеют биты, которые автоматически выделяются курсивом или жирным шрифтом, например курсив для названий художественных произведений. Для заголовков, написанных нелатинским шрифтом , это неверно для MOS: BADITALICS (это также может сделать текст очень трудным для чтения, даже если вы знаете сценарий). Я шел вокруг , пытаясь исправить некоторые китайский некорректных MOS: NOBOLD или курсив, которые либо должно быть сделаны с использованием кодой языка параметр или в дополнительном пешеходном пути использования {{ noitalic }} или {{ nobold }}, но у меня нет хорошего способа найти все эти нарушения. GKFX предположил, что это можно сделать, используя соответствующую кодировку Lua.
Должен / мог и инфобоксы
- (а) автоматически отображать китайский шрифт нобужирным / ноитальным шрифтом
- (б) иметь категорию отслеживания для китайского текста, в которой отсутствует параметр "код языка" или оболочка {{ lang }}.
- (c) сделать и то, и другое? чтобы они отображались правильно и привлекали редактирование гномов, чтобы убедиться, что все правильно помечено?
Конечно, эта проблема затрагивает и другие скрипты, но для китайского языка она особенно заметна, и может потребоваться некоторая ручная работа, чтобы заметить, является ли текст упрощенным или традиционным китайским, японским или даже корейским. - Кусма ( разговор ) 12:58, 2 июня 2021 (UTC)
{{infobox book}}
делает (а) - только курсивом - для значения в|title_orig=
до тех пор, пока оно есть|orig_lang_code=
.- - Монах-траппист ( разговор ) 13:23, 2 июня 2021 г. (UTC)
- То , что я хочу сделать , это обнаружить infoboxes где - то , как
|orig_lang_code=
это пропавший . «Автоматически» будет «на основе используемого блока юникода, не используйте курсив». - Кусма ( разговор ) 14:39, 2 июня 2021 (UTC)- Вам нужно будет сканировать текст, проверяя каждый символ индивидуально по значениям нижней и верхней границ соответствующего блока Unicode; если совпадение найдено, прервите цикл и запретите выделение жирным шрифтом / курсивом, в противном случае перейдите к следующему символу. Звучит и медленно, и дорого.
- Неавтоматические методы намного лучше: если текст заключен, например,
...
можно создать правило CSS, которое использует:lang
псевдокласс, чтобы обнаружить это и заставитьb
элемент использовать объявление,font-weight:normal;
аi
элемент - использовать объявление.font-style:normal;
. - Red rose64 🌹 ( обсуждение ) 12:08, 3 июня 2021 (UTC)- Теперь мне просто нужен способ найти текст, который должен быть заключен в такой промежуток, но не ... - Кусма ( разговор ) 21:24, 3 июня 2021 (UTC)
- Вот Категория: шаблоны инфобоксов . Вот поиск Cirrus, который ищет шаблоны с параметрами, значения которых содержат унифицированные идеограммы CJK (U + 4E00 – U + 9FFF). Для каждого вероятного шаблона в категории повторите поиск для каждого шаблона.
{{Infobox book}}
- Вот альтернативный поиск, который не ограничен
{{Infobox book}}
. Но время истекает ... - Эти поиски являются поисками циррусов, поэтому они ограничены. Если вы преданы делу, вы можете использовать первый поиск, чтобы проработать категорию, чтобы определить, какие информационные блоки могут иметь параметры с помощью унифицированных идеографов CJK. Затем вы, возможно, сможете изменить эти информационные блоки, чтобы выделить категорию.
- - Монах-траппист ( разговор ) 22:14, 3 июня 2021 г. (UTC)
- Спасибо, это здорово! Мне действительно нужно узнать, что наша функция поиска может делать в наши дни. В поиске книг всего 127 записей, я могу просмотреть их в дождливый день. - Кусма ( разговор ) 09:47, 4 июня 2021 г. (UTC)
- Вот Категория: шаблоны инфобоксов . Вот поиск Cirrus, который ищет шаблоны с параметрами, значения которых содержат унифицированные идеограммы CJK (U + 4E00 – U + 9FFF). Для каждого вероятного шаблона в категории повторите поиск для каждого шаблона.
- Теперь мне просто нужен способ найти текст, который должен быть заключен в такой промежуток, но не ... - Кусма ( разговор ) 21:24, 3 июня 2021 (UTC)
- То , что я хочу сделать , это обнаружить infoboxes где - то , как
- Возможны оба варианта. Думаю, я бы предпочел только категорию отслеживания. Я не уверен, что поместил бы связанную функцию в этот модуль, а не в шаблоны, которые поддерживают перенос языковой информации в языковой код. Не все информационные окна сегодня имеют язык или заботятся о нем. (Я не уверен, хорошо это или плохо.) Изно ( разговор ) 16:10, 2 июня 2021 г. (UTC)
- Я был бы счастлив с категорией отслеживания, так как при ее исправлении часто потребуются другие изменения. Я нашел примеры с использованием {{ Infobox book }}, {{ Infobox military installation }}, {{ Infobox music festival }}, некоторые из которых заботятся, а некоторые не заботятся о языке. Так что просто наличия категории отслеживания для «имеет,
|title_orig=
но нет|orig_lang_code=
» было бы недостаточно, чтобы это исправить. Альтернативой может быть массовый запуск бота, который просматривает HTML-код всех статей и составляет список тех, у кого что-либо в китайских блоках Unicode выделено жирным шрифтом или курсивом, но я тоже не знаю, как это сделать, и поэтому я был бы признателен за любую помощь более квалифицированных людей в решении этой проблемы. - Кусма ( разговор ) 10:24, 3 июня 2021 г. (UTC)
- Я был бы счастлив с категорией отслеживания, так как при ее исправлении часто потребуются другие изменения. Я нашел примеры с использованием {{ Infobox book }}, {{ Infobox military installation }}, {{ Infobox music festival }}, некоторые из которых заботятся, а некоторые не заботятся о языке. Так что просто наличия категории отслеживания для «имеет,