Шаблон:ColorPaletteStyles: различия между версиями

мНет описания правки
мНет описания правки
 
(не показано 5 промежуточных версий этого же участника)
Строка 1: Строка 1:
<includeonly>{{#switch: {{{1}}}
<includeonly>{{#switch: {{{1}}}
| Civilian = style="
| Civilian =
   --{{{2|template}}}-opaque: var(--civilian-opaque);
   --tmp-100: var(--civilian-opaque);
   --{{{2|template}}}-primary: var(--civilian-primary);
   --tmp-75: var(--civilian-primary);
   --{{{2|template}}}-secondary: var(--civilian-secondary);
   --tmp-50: var(--civilian-secondary);
   --{{{2|template}}}-light: var(--civilian-light);
   --tmp-25: var(--civilian-light);
   --{{{2|template}}}-transparent: var(--civilian-transparent);
   --tmp-10: var(--civilian-transparent)
"
| Medical =
| Medical = style="
   --tmp-100: var(--medical-opaque);
   --{{{2|template}}}-opaque: var(--medical-opaque);
   --tmp-75: var(--medical-primary);
   --{{{2|template}}}-primary: var(--medical-primary);
   --tmp-50: var(--medical-secondary);
   --{{{2|template}}}-secondary: var(--medical-secondary);
   --tmp-25: var(--medical-light);
   --{{{2|template}}}-light: var(--medical-light);
   --tmp-10: var(--medical-transparent)
   --{{{2|template}}}-transparent: var(--medical-transparent);
| Supply =
"
   --tmp-100: var(--supply-opaque);
| Supply = style="
   --tmp-75: var(--supply-primary);
   --{{{2|template}}}-opaque: var(--supply-opaque);
   --tmp-50: var(--supply-secondary);
   --{{{2|template}}}-primary: var(--supply-primary);
   --tmp-25: var(--supply-light);
   --{{{2|template}}}-secondary: var(--supply-secondary);
   --tmp-10: var(--supply-transparent)
   --{{{2|template}}}-light: var(--supply-light);
| Science =
   --{{{2|template}}}-transparent: var(--supply-transparent);
   --tmp-100: var(--science-opaque);
"
   --tmp-75: var(--science-primary);
| Science = style="
   --tmp-50: var(--science-secondary);
   --{{{2|template}}}-opaque: var(--science-opaque);
   --tmp-25: var(--science-light);
   --{{{2|template}}}-primary: var(--science-primary);
   --tmp-10: var(--science-transparent)
   --{{{2|template}}}-secondary: var(--science-secondary);
| Engineering =
   --{{{2|template}}}-light: var(--science-light);
   --tmp-100: var(--engineer-opaque);
   --{{{2|template}}}-transparent: var(--science-transparent);
   --tmp-75: var(--engineer-primary);
"
   --tmp-50: var(--engineer-secondary);
| Engineering = style="
   --tmp-25: var(--engineer-light);
   --{{{2|template}}}-opaque: var(--engineer-opaque);
   --tmp-10: var(--engineer-transparent)
   --{{{2|template}}}-primary: var(--engineer-primary);
| Security =
   --{{{2|template}}}-secondary: var(--engineer-secondary);
   --tmp-100: var(--security-opaque);
   --{{{2|template}}}-light: var(--engineer-light);
   --tmp-75: var(--security-primary);
   --{{{2|template}}}-transparent: var(--engineer-transparent);
   --tmp-50: var(--security-secondary);
"
   --tmp-25: var(--security-light);
| Security = style="
   --tmp-10: var(--security-transparent)
   --{{{2|template}}}-opaque: var(--security-opaque);
| Antag =
   --{{{2|template}}}-primary: var(--security-primary);
   --tmp-100: var(--antag-opaque);
   --{{{2|template}}}-secondary: var(--security-secondary);
   --tmp-75: var(--antag-primary);
   --{{{2|template}}}-light: var(--security-light);
   --tmp-50: var(--antag-secondary);
   --{{{2|template}}}-transparent: var(--security-transparent);
   --tmp-25: var(--antag-light);
"
   --tmp-10: var(--antag-transparent)
| Antag = style="
| Legal =
   --{{{2|template}}}-opaque: var(--antag-opaque);
   --tmp-100: var(--legal-opaque);
   --{{{2|template}}}-primary: var(--antag-primary);
   --tmp-75: var(--legal-primary);
   --{{{2|template}}}-secondary: var(--antag-secondary);
   --tmp-50: var(--legal-secondary);
   --{{{2|template}}}-light: var(--antag-light);
   --tmp-25: var(--legal-light);
   --{{{2|template}}}-transparent: var(--antag-transparent);
   --tmp-10: var(--legal-transparent)
"
| Command =
| Legal = style="
   --tmp-100: var(--command-opaque);
   --{{{2|template}}}-opaque: var(--legal-opaque);
   --tmp-75: var(--command-primary);
   --{{{2|template}}}-primary: var(--legal-primary);
   --tmp-50: var(--command-secondary);
   --{{{2|template}}}-secondary: var(--legal-secondary);
   --tmp-25: var(--command-light);
   --{{{2|template}}}-light: var(--legal-light);
   --tmp-10: var(--command-transparent)
   --{{{2|template}}}-transparent: var(--legal-transparent);
| Synthetic =
"
   --tmp-100: var(--synthetic-opaque);
| Command = style="
   --tmp-75: var(--synthetic-primary);
   --{{{2|template}}}-opaque: var(--command-opaque);
   --tmp-50: var(--synthetic-secondary);
   --{{{2|template}}}-primary: var(--command-primary);
   --tmp-25: var(--synthetic-light);
   --{{{2|template}}}-secondary: var(--command-secondary);
   --tmp-10: var(--synthetic-transparent)
   --{{{2|template}}}-light: var(--command-light);
| CentCom =
   --{{{2|template}}}-transparent: var(--command-transparent);
   --tmp-100: var(--centcom-opaque);
"
   --tmp-75: var(--centcom-primary);
| Synthetic = style="
  --tmp-50: var(--centcom-secondary);
   --{{{2|template}}}-opaque: var(--synthetic-opaque);
   --tmp-25: var(--centcom-light);
   --{{{2|template}}}-primary: var(--synthetic-primary);
   --tmp-10: var(--centcom-transparent)
   --{{{2|template}}}-secondary: var(--synthetic-secondary);
| Special =
   --{{{2|template}}}-light: var(--synthetic-light);
   --tmp-100: var(--special-opaque);
   --{{{2|template}}}-transparent: var(--synthetic-transparent);
   --tmp-75: var(--special-primary);
"
   --tmp-50: var(--special-secondary);
| CentCom = style="
   --tmp-25: var(--special-light);
   --{{{2|template}}}-opaque: var(--centcom-opaque);
   --tmp-10: var(--special-transparent)
   --{{{2|template}}}-primary: var(--centcom-primary);
| Cyan =
   --tmp-100: var(--cyan-opaque);
 
   --tmp-75: var(--cyan-primary);
--{{{2|template}}}-secondary: var(--centcom-secondary);
   --tmp-50: var(--cyan-secondary);
   --{{{2|template}}}-light: var(--centcom-light);
   --tmp-25: var(--cyan-light);
   --{{{2|template}}}-transparent: var(--centcom-transparent);
   --tmp-10: var(--cyan-transparent)
"
| Blue =
| Special = style="
   --tmp-100: var(--blue-opaque);
   --{{{2|template}}}-opaque: var(--special-opaque);
   --tmp-75: var(--blue-primary);
   --{{{2|template}}}-primary: var(--special-primary);
   --tmp-50: var(--blue-secondary);
   --{{{2|template}}}-secondary: var(--special-secondary);
   --tmp-25: var(--blue-light);
   --{{{2|template}}}-light: var(--special-light);
   --tmp-10: var(--blue-transparent)
   --{{{2|template}}}-transparent: var(--special-transparent);
| Green =
"
   --tmp-100: var(--green-opaque);
| Cyan = style="
   --tmp-75: var(--green-primary);
   --{{{2|template}}}-opaque: var(--cyan-opaque);
   --tmp-50: var(--green-secondary);
   --{{{2|template}}}-primary: var(--cyan-primary);
   --tmp-25: var(--green-light);
   --{{{2|template}}}-secondary: var(--cyan-secondary);
   --tmp-10: var(--green-transparent)
   --{{{2|template}}}-light: var(--cyan-light);
| Yellow =
   --{{{2|template}}}-transparent: var(--cyan-transparent);
   --tmp-100: var(--yellow-opaque);
"
   --tmp-75: var(--yellow-primary);
| Blue = style="
   --tmp-50: var(--yellow-secondary);
   --{{{2|template}}}-opaque: var(--blue-opaque);
   --tmp-25: var(--yellow-light);
   --{{{2|template}}}-primary: var(--blue-primary);
   --tmp-10: var(--yellow-transparent)
   --{{{2|template}}}-secondary: var(--blue-secondary);
| Red =
   --{{{2|template}}}-light: var(--blue-light);
   --tmp-100: var(--red-opaque);
   --{{{2|template}}}-transparent: var(--blue-transparent);
   --tmp-75: var(--red-primary);
"
   --tmp-50: var(--red-secondary);
| Green = style="
   --tmp-25: var(--red-light);
   --{{{2|template}}}-opaque: var(--green-opaque);
   --tmp-10: var(--red-transparent)
   --{{{2|template}}}-primary: var(--green-primary);
| Pink =
   --{{{2|template}}}-secondary: var(--green-secondary);
   --tmp-100: var(--pink-opaque);
   --{{{2|template}}}-light: var(--green-light);
   --tmp-75: var(--pink-primary);
   --{{{2|template}}}-transparent: var(--green-transparent);
   --tmp-50: var(--pink-secondary);
"
   --tmp-25: var(--pink-light);
| Yellow = style="
   --tmp-10: var(--pink-transparent)
   --{{{2|template}}}-opaque: var(--yellow-opaque);
| Brown =
   --{{{2|template}}}-primary: var(--yellow-primary);
   --tmp-100: var(--brown-opaque);
   --{{{2|template}}}-secondary: var(--yellow-secondary);
   --tmp-75: var(--brown-primary);
   --{{{2|template}}}-light: var(--yellow-light);
   --tmp-50: var(--brown-secondary);
   --{{{2|template}}}-transparent: var(--yellow-transparent);
   --tmp-25: var(--brown-light);
"
   --tmp-10: var(--brown-transparent)
| Red = style="
| Lavaland =
   --{{{2|template}}}-opaque: var(--red-opaque);
   --tmp-100: var(--lavaland-opaque);
   --{{{2|template}}}-primary: var(--red-primary);
   --tmp-75: var(--lavaland-primary);
   --{{{2|template}}}-secondary: var(--red-secondary);
   --tmp-50: var(--lavaland-secondary);
   --{{{2|template}}}-light: var(--red-light);
   --tmp-25: var(--lavaland-light);
   --{{{2|template}}}-transparent: var(--red-transparent);
   --tmp-10: var(--lavaland-transparent)
"
| Cultist =
| Pink = style="
   --tmp-100: var(--cult-opaque);
   --{{{2|template}}}-opaque: var(--pink-opaque);
   --tmp-75: var(--cult-primary);
   --{{{2|template}}}-primary: var(--pink-primary);
   --tmp-50: var(--cult-secondary);
   --{{{2|template}}}-secondary: var(--pink-secondary);
   --tmp-25: var(--cult-light);
   --{{{2|template}}}-light: var(--pink-light);
   --tmp-10: var(--cult-transparent)
   --{{{2|template}}}-transparent: var(--pink-transparent);
| Ratvar =
"
   --tmp-100: var(--ratvar-opaque);
| Brown = style="
   --tmp-75: var(--ratvar-primary);
   --{{{2|template}}}-opaque: var(--brown-opaque);
   --tmp-50: var(--ratvar-secondary);
   --{{{2|template}}}-primary: var(--brown-primary);
   --tmp-25: var(--ratvar-light);
   --{{{2|template}}}-secondary: var(--brown-secondary);
   --tmp-10: var(--ratvar-transparent)
   --{{{2|template}}}-light: var(--brown-light);
| Wizard =
   --{{{2|template}}}-transparent: var(--brown-transparent);
   --tmp-100: var(--wizard-opaque);
"
   --tmp-75: var(--wizard-primary);
| Lavaland = style="
   --tmp-50: var(--wizard-secondary);
   --{{{2|template}}}-opaque: var(--lavaland-opaque);
   --tmp-25: var(--wizard-light);
   --{{{2|template}}}-primary: var(--lavaland-primary);
   --tmp-10: var(--wizard-transparent)
   --{{{2|template}}}-secondary: var(--lavaland-secondary);
| Black =
   --{{{2|template}}}-light: var(--lavaland-light);
   --tmp-100: var(--black-opaque);
   --{{{2|template}}}-transparent: var(--lavaland-transparent);
   --tmp-75: var(--black-primary);
"
   --tmp-50: var(--black-secondary);
| Cultist = style="
   --tmp-25: var(--black-light);
   --{{{2|template}}}-opaque: var(--cult-opaque);
   --tmp-10: var(--black-transparent)
   --{{{2|template}}}-primary: var(--cult-primary);
| Gray =
   --{{{2|template}}}-secondary: var(--cult-secondary);
   --tmp-100: var(--gray-opaque);
   --{{{2|template}}}-light: var(--cult-light);
   --tmp-75: var(--gray-primary);
   --{{{2|template}}}-transparent: var(--cult-transparent);
   --tmp-50: var(--gray-secondary);
"
   --tmp-25: var(--gray-light);
| Ratvar = style="
   --tmp-10: var(--gray-transparent)
   --{{{2|template}}}-opaque: var(--ratvar-opaque);
| #default =
   --{{{2|template}}}-primary: var(--ratvar-primary);
   --tmp-100: hsl(var(--primary-hue), 40%, var(--primary-lightness));
   --{{{2|template}}}-secondary: var(--ratvar-secondary);
   --tmp-75: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.75);
   --{{{2|template}}}-light: var(--ratvar-light);
   --tmp-50: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.5);
   --{{{2|template}}}-transparent: var(--ratvar-transparent);
   --tmp-25: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.25);
"
   --tmp-10: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.1)
| Wizard = style="
   --{{{2|template}}}-opaque: var(--wizard-opaque);
   --{{{2|template}}}-primary: var(--wizard-primary);
   --{{{2|template}}}-secondary: var(--wizard-secondary);
   --{{{2|template}}}-light: var(--wizard-light);
   --{{{2|template}}}-transparent: var(--wizard-transparent);
"
| Black = style="
   --{{{2|template}}}-opaque: var(--black-opaque);
   --{{{2|template}}}-primary: var(--black-primary);
   --{{{2|template}}}-secondary: var(--black-secondary);
   --{{{2|template}}}-light: var(--black-light);
   --{{{2|template}}}-transparent: var(--black-transparent);
"
| Gray = style="
   --{{{2|template}}}-opaque: var(--gray-opaque);
   --{{{2|template}}}-primary: var(--gray-primary);
   --{{{2|template}}}-secondary: var(--gray-secondary);
   --{{{2|template}}}-light: var(--gray-light);
   --{{{2|template}}}-transparent: var(--gray-transparent);
"
| style="
   --{{{2|template}}}-opaque: hsl(var(--primary-hue), 40%, var(--primary-lightness));
   --{{{2|template}}}-primary: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.75);
   --{{{2|template}}}-secondary: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.5);
   --{{{2|template}}}-light: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.25);
   --{{{2|template}}}-transparent: hsla(var(--primary-hue), 40%, var(--primary-lightness), 0.1);
"
}}</includeonly><noinclude>
}}</includeonly><noinclude>
= Что это? =
= Что это? =
Строка 193: Строка 165:


Например, вы делаете новый комплексный шаблон, и если вы не хотите захламлять HTML кучей инлайн стилей, достаточно использовать этот шаблон 1 раз и весь шаблон будет иметь доступ к необходимым цветам! <br>
Например, вы делаете новый комплексный шаблон, и если вы не хотите захламлять HTML кучей инлайн стилей, достаточно использовать этот шаблон 1 раз и весь шаблон будет иметь доступ к необходимым цветам! <br>
Использование <nowiki>{{ColorPalette|Civilian|example}}</nowiki><br>
Использование <nowiki>{{ColorPalette|Civilian}}</nowiki><br>
Вернёт следующий код:
Вернёт следующий код:
<pre>
<syntaxhighlight lang="html">
style="
--tmp-100: var(--civilian-opaque);
--example-opaque: var(--civilian-opaque);
--tmp-75: var(--civilian-primary);
--example-primary: var(--civilian-primary);
--tmp-50: var(--civilian-secondary);
--example-secondary: var(--civilian-secondary);
--tmp-25: var(--civilian-light);
--example-light: var(--civilian-light);
--tmp-10: var(--civilian-transparent)
--example-transparent: var(--civilian-transparent);
</syntaxhighlight>
"
 
</pre>
Эти CSS переменные вы увидете в DevTools которые открываются по нажатию кнопки F12, когда выберете элемент на котором вы использовали шаблон, а так же на всех элементах внутри него.<br>
Эти CSS переменные вы увидете в DevTools которые открываются по нажатию кнопки F12, когда выберете элемент на котором вы использовали шаблон, а так же на всех элементах внутри него.<br>
Благодаря этому, вы можете сохранять код шаблона в чистоте и читабельном состоянии, так как вся стилизация может делаться в styles.css шаблона (предпочтительно), либо в MediaWiki:Common.css
Благодаря этому, вы можете сохранять код шаблона в чистоте и читабельном состоянии, так как вся стилизация может делаться в styles.css шаблона (предпочтительно), либо в MediaWiki:Common.css
Строка 216: Строка 187:
=== Как использовать? ===
=== Как использовать? ===
При создании шаблона, просто используйте этот шаблон прямо внутри обёртки, внутри которой находятся остальные элементы:
При создании шаблона, просто используйте этот шаблон прямо внутри обёртки, внутри которой находятся остальные элементы:
<pre><nowiki>
<syntaxhighlight lang="html">
<div class="wrapper" {{ColorPaletteStyles|Civilian|example}}>
<div class="wrapper" style="{{ColorPaletteStyles|Civilian}};">
   <span class="example-text">Обычный текст</span>
   <span class="example-text">Обычный текст</span>
</div>
</div>
</nowiki></pre>
</syntaxhighlight>


Далее, давайте представим что мы создаём шаблон уведомления, он находится на условной странице <code>Шаблон:Notice</code><br>
Далее, давайте представим что мы создаём шаблон уведомления, он находится на условной странице <code>Шаблон:Notice</code><br>
Нам нужно создать страницу <code>Шаблон:Notice/styles.css</code>, это '''ОБЯЗАТЕЛЬНО'''<br>
Нам нужно создать страницу <code>Шаблон:Notice/styles.css</code>, это '''ОБЯЗАТЕЛЬНО'''<br>
После того как вы это сделаете, возвращаемся на страницу шаблона и делаем как на примере ниже:
После того как вы это сделаете, возвращаемся на страницу шаблона и делаем как на примере ниже:
<pre><nowiki>
<syntaxhighlight lang="html">
<templatestyles src="Notice/styles.css" />
<templatestyles src="Notice/styles.css" />
<div class="notice" {{ColorPaletteStyles|Cargo|notice}}>
<div class="notice" style="{{ColorPaletteStyles|Cargo}};">
   <span class="notice-text">Обычный текст</span>
   <span class="notice-text">Обычный текст</span>
</div>
</div>
</nowiki></pre>
</syntaxhighlight>


Что мы только что сделали? Мы включили в наш шаблон, ранее созданный CSS файл со стилями для него.<br>
Что мы только что сделали? Мы включили в наш шаблон, ранее созданный CSS файл со стилями для него.<br>
Теперь же, на странице стилей мы можем... стилизовать наш шаблон:
Теперь же, на странице стилей мы можем... стилизовать наш шаблон:
<pre><nowiki>
<syntaxhighlight lang="css">
.notice {
.notice {
   background-color: var(--notice-primary);
   background-color: var(--tmp-75);
   border: 1px solid var(--notice-light);
   border: 1px solid var(--tmp-25);
}
}


Строка 243: Строка 214:
   color: var(--color-text); /* Эта переменная создана в самом скине */
   color: var(--color-text); /* Эта переменная создана в самом скине */
}
}
</nowiki></pre>
</syntaxhighlight>


= Имеющиеся цвета =
= Имеющиеся цвета =
См. [[ColorPalette#Имеющиеся_цвета|ColorPalette]]
См. [[ColorPalette#Имеющиеся_цвета|ColorPalette]]

Текущая версия от 11:09, 2 июня 2025

Что это?

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

В чём её преимущество?

В отличии от ColorPalette, этот шаблон вставляет сразу набор CSS переменных сразу же обёрнутых в `style=""`, что минимизирует инлайн стили и позволяет лишь 1 раз использовать шаблон для указания цвета, вместо указания цвета для каждого CSS свойства.

Например, вы делаете новый комплексный шаблон, и если вы не хотите захламлять HTML кучей инлайн стилей, достаточно использовать этот шаблон 1 раз и весь шаблон будет иметь доступ к необходимым цветам!
Использование {{ColorPalette|Civilian}}
Вернёт следующий код:

--tmp-100: var(--civilian-opaque);
--tmp-75: var(--civilian-primary);
--tmp-50: var(--civilian-secondary);
--tmp-25: var(--civilian-light);
--tmp-10: var(--civilian-transparent)

Эти CSS переменные вы увидете в DevTools которые открываются по нажатию кнопки F12, когда выберете элемент на котором вы использовали шаблон, а так же на всех элементах внутри него.
Благодаря этому, вы можете сохранять код шаблона в чистоте и читабельном состоянии, так как вся стилизация может делаться в styles.css шаблона (предпочтительно), либо в MediaWiki:Common.css

С какой целью это сделано?

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

  • Держать вёрстку шаблона в чистоте
  • Тонко стилизовать шаблон с помощью TemplateStyles, так как все цвета доступны в виде переменных
  • Сохранять преимущества ColorPalette, позволяя делать шаблоны с возможностью смены цвета и сохраняя совместимость со светлой темой

Как использовать?

При создании шаблона, просто используйте этот шаблон прямо внутри обёртки, внутри которой находятся остальные элементы:

<div class="wrapper" style="{{ColorPaletteStyles|Civilian}};">
  <span class="example-text">Обычный текст</span>
</div>

Далее, давайте представим что мы создаём шаблон уведомления, он находится на условной странице Шаблон:Notice
Нам нужно создать страницу Шаблон:Notice/styles.css, это ОБЯЗАТЕЛЬНО
После того как вы это сделаете, возвращаемся на страницу шаблона и делаем как на примере ниже:

<templatestyles src="Notice/styles.css" />
<div class="notice" style="{{ColorPaletteStyles|Cargo}};">
  <span class="notice-text">Обычный текст</span>
</div>

Что мы только что сделали? Мы включили в наш шаблон, ранее созданный CSS файл со стилями для него.
Теперь же, на странице стилей мы можем... стилизовать наш шаблон:

.notice {
  background-color: var(--tmp-75);
  border: 1px solid var(--tmp-25);
}

.notice-text {
  color: var(--color-text); /* Эта переменная создана в самом скине */
}

Имеющиеся цвета

См. ColorPalette