Обсуждение участника:Крылатое Нечто/меташаблон

Материал из Lurkmore
Перейти к навигации Перейти к поиску
{{Игры}} — что на этот счёт? Алсо, напрягает «править» на том месте, где я ожидаю «показать».
Править можно сделать как раньше, это вопрос вкуса. Про игры: Кострукция шаблона модульная, вместо Участник:Крылатое Нечто/меташаблон/группа в содержимое параметра "группы" можно вставить другой субшаблон. Для игр, видимо, придется писать такой в виде вложенной таблицы.


{{Участник:Крылатое Нечто/меташаблон/группа
| заголовок ={{Башорг/frame| Вордстрим}}
| содержимое = [[Вордстримовские войны]] • [[Плюсообмен]] • [[Проверочка]]
| стиль_содержимого = background-color: #f3f3f3; border: 1px dotted #AAAAAA; }}
Выделенное у большинства шаблонов повторяется для каждой из групп, и является синтаксическим овернехом, не так ли?

Я не нашел как задавать переменные (или аналог #define из С) в языке викиразметки. А так, задается переменная и вперед.
Переменных нет. Совсем-совсем нет. Ну то есть, есть такое расширение, которое в принципе могло бы быть установлено, но переменные не разделяются между разными шаблонами.
Тогда делаецца интерфейс к Списку (как Шаблон:Список/Старый), в котором есть параметры типа "стиль групп" и "стиль заголовков групп". Похоже на сегодняшнюю группу с ghcolor и ghbgcolor. Но тогда кастомные стили как в Шаблон:Секс уже не сделаешь.
Башорг/frame тоже можно таким образом убрать, но делать интерфейс для этого как-то overkill.
В шаблон можно передать имя другого шаблона. См как работает Обсуждение участника:Bk/хуита.
Если честно, я щас уже не очень соображаю, завтра к вечеру посмотрю.
Посмотрел, клёво, но не понял как сюда применить. Да, можно сделать вместо переменных шаблоны и вместо background-color: #f3f3f3; border: 1px dotted #AAAAAA; подставлять что-то типа {{{Шаблон:башорг/стиль_групп}}}, так же как в башорге заголовки оформлены. Равно как можно подставлять просто имя стилевого шаблона - но тогда нужно менять код группы, что нежелательно, ибо модульность.
Олсо, копипасте полностью искоренить в шаблонах нельзя, ибо в вики нету ни контенеров для данных, ни средств их обхода. То есть, в Цпп, например, такой шаблон реализоваывался бы:
  • Объектом с каким-нибудь контейнером для хранения групп (группа тоже объект) - благо STL и все дела.
  • Функцией с переменным количеством аргументов - как printf, только передаются туда группы.
  • Каким-нибудь хитрым макросом, но это voodoo-style. Как пример, в MFC список виндовых событий есть как раз такой список макросов.
  • Адепты лямбда-исчисления и буста тоже сюда чёнить припишут.
Но в вики-разметке таки шаблоны только, поэтому можно юзать вложенность и ее вариант с интерфейсом (в них еще subst можно заюзать для уменьшения нагрузки на вику), кетайский код aka копипасте, индусский код aka старые шаблоны, больше не придумываецца. Или поставить экстеншн с переменными и задавать стиль в начале страницы, а потом подставлять его везде — это ведь внутри одного шаблона?
Вообще, пора переползать в обсуждение шаблончега уже, а то посетители глагне будут пугацца непонятных многабукаф.
Хз как ты вычислил, что я бустаёб и сторонник методов Александреску :-)
Эволюция Цппшника ;)
Суть в том, что если пытаться сделать оверхед для использования Шаблон:группа минимальным, то окажется, что в самом шаблоне нужен именно такой совершенно дикий индокод, как там сейчас.
Для этого концепция интерфейсов, чтобы не делать сразу дофига параметров для всего. Надо - наваял интерфейс и на его основе пару навигационных шаблонов. Йа таки системный программист, поэтому Список - это какбы kernel.
Ну или копипасте, если влом занимацца коденгом. Жили же как-то вообще с голыми шаблонами, полными многабукаф и css.
Обсуждение участника:Oal#Ещё про шаблоноспискоёбство я как бы тоже против копипаста на самом деле.
Да, читал. Мне тоже это не нравилось, хотел сделать еще в группе либо через цикл какой-нить, либо так, встроенными шаблонами. Но циклов оказалось нема.
Циклы только такие :-(