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

Материал из МК14 | Space Station 14 Wiki
Нет описания правки
Нет описания правки
 
(не показано 28 промежуточных версий этого же участника)
Строка 1: Строка 1:
<includeonly>
<includeonly>
<div style="display:inline-flex; flex-direction:column; background:#222; border-radius:10px; box-shadow:8px 8px 12px rgba(0,0,0,0.4), inset 2px 2px 4px rgba(255,255,255,0.12), inset -2px -2px 4px rgba(0,0,0,0.5); overflow:hidden; color:#fff; font-family:Arial,sans-serif;">
<div style="
    display:inline-flex;
    vertical-align:top;
    flex-direction:column;
    background:#171B22;
    border:1px solid #FFFFFF;
    box-sizing:border-box;
    overflow:hidden;
    color:#FFFFFF;
    font-family:Arial,sans-serif;
    margin:4px;
    width:auto;
    max-width:350px;
">


<!-- НАЗВАНИЕ -->
<!-- НАЗВАНИЕ -->
<div style="background:#1b1b1b; min-height:42px; display:flex; align-items:center; justify-content:center; padding:0 20px; box-sizing:border-box; box-shadow:inset 0 1px 2px rgba(255,255,255,0.06), inset 0 -2px 3px rgba(0,0,0,0.45); border-bottom:1px solid rgba(255,255,255,0.04);">
<div style="
<div style="font-size:18px; font-weight:bold; color:#eee; text-align:center; line-height:22px;">
    min-height:28px;
{{{title|Рецепт}}}
    background:#202632;
</div>
    display:flex;
    align-items:center;
    justify-content:center;
    padding:3px 10px;
    box-sizing:border-box;
    border-bottom:1px solid #FFFFFF;
">
    <div style="
        font-size:14px;
        font-weight:bold;
        color:#FFFFFF;
        text-align:center;
        line-height:18px;
    ">{{{title|Рецепт}}}
    </div>
</div>
</div>


<!-- ОСНОВНАЯ ЧАСТЬ -->
<!-- ОСНОВНАЯ ЧАСТЬ -->
<div style="display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:12px 20px; box-sizing:border-box; flex-wrap:wrap;">
<div style="
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    padding:12px;
    box-sizing:border-box;
    flex-wrap:nowrap;
">


<!-- ИНГРЕДИЕНТЫ -->
<!-- ИНГРЕДИЕНТЫ -->
<div style="display:flex; align-items:flex-start; justify-content:center; gap:10px; flex-wrap:wrap;">
<div style="
    display:flex;
    align-items:flex-start;
    justify-content:center;
    gap:8px;
    flex-wrap:wrap;
    min-width:0;
    max-width:200px;
">


<!-- ИНГРЕДИЕНТ 1 -->
<!-- ИНГРЕДИЕНТ 1 -->
{{#if:{{{ingredient1_name|}}}|
{{#if:{{{ingredient1_name|}}}|
<div style="display:flex; flex-direction:column; align-items:center; width:75px;">
<div style="
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    display:flex;
[[File:{{{ingredient1_img}}}|40px]]
    flex-direction:column;
</div>
    align-items:center;
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
    width:70px;
{{{ingredient1_name}}}{{#if:{{{ingredient1_amount|}}}|&nbsp;[{{{ingredient1_amount}}}]|}}
">
</div>
    <div style="
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    ">[[File:{{{ingredient1_img}}}|46px]]
    </div>
    <div style="
        font-size:12px;
        color:#FFFFFF;
        text-align:center;
        margin-top:5px;
        line-height:16px;
    ">{{{ingredient1_name}}}{{#if:{{{ingredient1_amount|}}}|&nbsp;[{{{ingredient1_amount}}}]|}}
    </div>
</div>
</div>
|}}
|}}
Строка 29: Строка 88:
<!-- ИНГРЕДИЕНТ 2 -->
<!-- ИНГРЕДИЕНТ 2 -->
{{#if:{{{ingredient2_name|}}}|
{{#if:{{{ingredient2_name|}}}|
<div style="display:flex; flex-direction:column; align-items:center; width:75px;">
<div style="
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    display:flex;
[[File:{{{ingredient2_img}}}|40px]]
    flex-direction:column;
</div>
    align-items:center;
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
    width:70px;
{{{ingredient2_name}}}{{#if:{{{ingredient2_amount|}}}|&nbsp;[{{{ingredient2_amount}}}]|}}
">
</div>
    <div style="
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    ">[[File:{{{ingredient2_img}}}|46px]]
    </div>
    <div style="
        font-size:12px;
        color:#FFFFFF;
        text-align:center;
        margin-top:5px;
        line-height:16px;
    ">{{{ingredient2_name}}}{{#if:{{{ingredient2_amount|}}}|&nbsp;[{{{ingredient2_amount}}}]|}}
    </div>
</div>
</div>
|}}
|}}
Строка 41: Строка 116:
<!-- ИНГРЕДИЕНТ 3 -->
<!-- ИНГРЕДИЕНТ 3 -->
{{#if:{{{ingredient3_name|}}}|
{{#if:{{{ingredient3_name|}}}|
<div style="display:flex; flex-direction:column; align-items:center; width:75px;">
<div style="
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    display:flex;
[[File:{{{ingredient3_img}}}|40px]]
    flex-direction:column;
</div>
    align-items:center;
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
    width:70px;
{{{ingredient3_name}}}{{#if:{{{ingredient3_amount|}}}|&nbsp;[{{{ingredient3_amount}}}]|}}
">
</div>
    <div style="
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    ">[[File:{{{ingredient3_img}}}|46px]]
    </div>
    <div style="
        font-size:12px;
        color:#FFFFFF;
        text-align:center;
        margin-top:5px;
        line-height:16px;
    ">{{{ingredient3_name}}}{{#if:{{{ingredient3_amount|}}}|&nbsp;[{{{ingredient3_amount}}}]|}}
    </div>
</div>
</div>
|}}
|}}
Строка 53: Строка 144:
<!-- ИНГРЕДИЕНТ 4 -->
<!-- ИНГРЕДИЕНТ 4 -->
{{#if:{{{ingredient4_name|}}}|
{{#if:{{{ingredient4_name|}}}|
<div style="display:flex; flex-direction:column; align-items:center; width:75px;">
<div style="
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    display:flex;
[[File:{{{ingredient4_img}}}|40px]]
    flex-direction:column;
</div>
    align-items:center;
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
    width:70px;
{{{ingredient4_name}}}{{#if:{{{ingredient4_amount|}}}|&nbsp;[{{{ingredient4_amount}}}]|}}
">
</div>
    <div style="
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    ">[[File:{{{ingredient4_img}}}|46px]]
    </div>
    <div style="
        font-size:12px;
        color:#FFFFFF;
        text-align:center;
        margin-top:5px;
        line-height:16px;
    ">{{{ingredient4_name}}}{{#if:{{{ingredient4_amount|}}}|&nbsp;[{{{ingredient4_amount}}}]|}}
    </div>
</div>
</div>
|}}
|}}
Строка 65: Строка 172:
<!-- ИНГРЕДИЕНТ 5 -->
<!-- ИНГРЕДИЕНТ 5 -->
{{#if:{{{ingredient5_name|}}}|
{{#if:{{{ingredient5_name|}}}|
<div style="display:flex; flex-direction:column; align-items:center; width:75px;">
<div style="
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    display:flex;
[[File:{{{ingredient5_img}}}|40px]]
    flex-direction:column;
</div>
    align-items:center;
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
    width:70px;
{{{ingredient5_name}}}{{#if:{{{ingredient5_amount|}}}|&nbsp;[{{{ingredient5_amount}}}]|}}
">
</div>
    <div style="
        width:58px;
        height:58px;
        display:flex;
        align-items:center;
        justify-content:center;
        overflow:hidden;
    ">[[File:{{{ingredient5_img}}}|46px]]
    </div>
    <div style="
        font-size:12px;
        color:#FFFFFF;
        text-align:center;
        margin-top:5px;
        line-height:16px;
    ">{{{ingredient5_name}}}{{#if:{{{ingredient5_amount|}}}|&nbsp;[{{{ingredient5_amount}}}]|}}
    </div>
</div>
</div>
|}}
|}}
Строка 78: Строка 201:


<!-- СПОСОБ ПРИГОТОВЛЕНИЯ -->
<!-- СПОСОБ ПРИГОТОВЛЕНИЯ -->
<div style="display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; min-width:90px;">
<div style="
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    min-width:70px;
    border-left:1px solid #FFFFFF;
    padding-left:10px;
">


<div style="width:60px; height:60px; display:flex; align-items:center; justify-content:center; margin:3px 0;">
<!-- АВТОМАТИЧЕСКАЯ КАРТИНКА МЕТОДА (с fallback) -->
[[File:{{{method_img|Микроволновка.png}}}|56px]]
<div style="
    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
">{{#switch:{{{method_name|}}}
|Микроволновка={{#ifexist:File:Microwave.gif|[[File:Microwave.gif|60px]]|[[File:Microwave.png|60px]]}}
|Смешивание={{#ifexist:File:Beaker.png|[[File:Beaker.png|60px]]|[[File:Beaker.gif|60px]]}}
|Нож={{#ifexist:File:Knife.png|[[File:Knife.png|60px]]|[[File:Knife.gif|60px]]}}
|Скалка={{#ifexist:File:RollingPin.png|[[File:RollingPin.png|60px]]|[[File:RollingPin.gif|60px]]}}
|#default=[[File:Microwave.gif|60px]]
}}
</div>
</div>


<div style="font-size:17px; font-weight:bold; line-height:20px; text-align:center;">
<div style="
{{{method_name|Приготовление}}}{{#if:{{{method_time|}}}|<br>{{{method_time}}}|}}
    font-size:13px;
    font-weight:bold;
    line-height:17px;
    text-align:center;
    color:#FFFFFF;
    margin-top:4px;
">{{{method_name|Приготовление}}}{{#if:{{{method_time|}}}|<br>{{{method_time}}}|}}
</div>
</div>


Строка 91: Строка 242:


<!-- РЕЗУЛЬТАТ -->
<!-- РЕЗУЛЬТАТ -->
<div style="display:flex; align-items:flex-start; justify-content:center;">
<div style="
 
    display:flex;
<div style="display:flex; flex-direction:column; align-items:center; width:90px;">
    align-items:flex-start;
 
    justify-content:center;
<div style="width:63px; height:63px; background:#555; border-radius:8px; display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);">
    border-left:1px solid #FFFFFF;
[[File:{{{result_img}}}|40px]]
    padding-left:10px;
</div>
">
 
    <div style="
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;">
        display:flex;
{{{result_name|Результат}}}
        flex-direction:column;
</div>
        align-items:center;
 
        width:75px;
</div>
    ">
        <div style="
            width:58px;
            height:58px;
            display:flex;
            align-items:center;
            justify-content:center;
            overflow:hidden;
        ">[[File:{{{result_img}}}|46px]]
        </div>


        <div style="
            font-size:12px;
            color:#FFFFFF;
            text-align:center;
            margin-top:5px;
            line-height:16px;
        ">{{{result_name|Результат}}}
        </div>
    </div>
</div>
</div>


Строка 110: Строка 279:
</div>
</div>
</includeonly>
</includeonly>
<noinclude>
__NOTOC__
== Recipe — шаблон рецепта ==
Универсальный шаблон для отображения рецептов.
=== Параметры ===
{| class="wikitable"
! Параметр !! Описание !! Обязательный
|-
| <code>title</code> || Название рецепта || Да
|-
| <code>ingredient1_name</code> || Название первого ингредиента || Да
|-
| <code>ingredient1_img</code> || Изображение первого ингредиента || Да
|-
| <code>ingredient1_amount</code> || Количество первого ингредиента || Нет
|-
| <code>ingredient2_name</code> || Название второго ингредиента || Нет
|-
| <code>ingredient2_img</code> || Изображение второго ингредиента || Нет
|-
| <code>ingredient2_amount</code> || Количество второго ингредиента || Нет
|-
| <code>ingredient3_name</code> || Название третьего ингредиента || Нет
|-
| <code>ingredient3_img</code> || Изображение третьего ингредиента || Нет
|-
| <code>ingredient3_amount</code> || Количество третьего ингредиента || Нет
|-
| <code>ingredient4_name</code> || Название четвёртого ингредиента || Нет
|-
| <code>ingredient4_img</code> || Изображение четвёртого ингредиента || Нет
|-
| <code>ingredient4_amount</code> || Количество четвёртого ингредиента || Нет
|-
| <code>ingredient5_name</code> || Название пятого ингредиента || Нет
|-
| <code>ingredient5_img</code> || Изображение пятого ингредиента || Нет
|-
| <code>ingredient5_amount</code> || Количество пятого ингредиента || Нет
|-
| <code>method_name</code> || Способ приготовления || Да
|-
| <code>method_img</code> || Изображение способа приготовления || Нет
|-
| <code>method_time</code> || Время приготовления || Нет
|-
| <code>result_name</code> || Название результата || Да
|-
| <code>result_img</code> || Изображение результата || Да
|}
=== Пример ===
<pre>
{{Recipe
|title=Рёбрышки барбекю
|ingredient1_name=Мясо
|ingredient1_img=FoodMeat.png
|ingredient1_amount=3
|ingredient2_name=Соус барбекю
|ingredient2_img=FoodSauce.png
|ingredient2_amount=1
|ingredient3_name=Соль
|ingredient3_img=FoodSalt.png
|ingredient3_amount=1
|method_name=Микроволновка
|method_img=Микроволновка.png
|method_time=10 сек.
|result_name=Рёбрышки барбекю
|result_img=FoodMealRibs.png
}}
</pre>
Количество теперь отображается с неразрывным пробелом:
<code>Мясо [3]</code>
<code>Соус барбекю [1]</code>
<code>Соль [1]</code>
Если количество не указано, отображается только название ингредиента.
[[Категория:Шаблоны]]
</noinclude>

Текущая версия от 02:46, 14 августа 2026