Шаблон:recipe
| Строка 1: | Строка 1: | ||
<includeonly> | <includeonly> | ||
<div style=" | <div style="width:100%; margin:20px 0; box-sizing:border-box; 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=" | <div style="width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; padding:10px 20px; box-sizing:border-box; background:#1b1b1b; 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="font-size: | <div style="font-size:22px; font-weight:bold; color:#eee; text-align:center; line-height:26px;"> | ||
{{{title|Рецепт}}} | {{{title|Рецепт}}} | ||
</div> | </div> | ||
| Строка 12: | Строка 12: | ||
<!-- ОСНОВНАЯ ЧАСТЬ --> | <!-- ОСНОВНАЯ ЧАСТЬ --> | ||
<div style=" | <div style="width:100%; padding:20px; box-sizing:border-box;"> | ||
<!-- ИНГРЕДИЕНТЫ --> | <!-- ИНГРЕДИЕНТЫ --> | ||
<div style="display:flex; align-items:flex-start; justify-content:center; gap: | <div style="display:flex; flex-wrap:wrap; align-items:flex-start; justify-content:center; gap:16px;"> | ||
<!-- ИНГРЕДИЕНТ 1 --> | <!-- ИНГРЕДИЕНТ 1 --> | ||
{{#if:{{{ingredient1_name|}}}| | {{#if:{{{ingredient1_name|}}}| | ||
<div style="display:flex; flex-direction:column; align-items:center | <div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | ||
<div style="width:68px; height:68px; 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);"> | |||
<div style="width: | [[File:{{{ingredient1_img}}}|44px]] | ||
[[File:{{{ingredient1_img}}}| | |||
</div> | </div> | ||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | <div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | ||
{{{ingredient1_name}}}{{#if:{{{ingredient1_amount|}}}| [{{{ingredient1_amount}}}]|}} | {{{ingredient1_name}}}{{#if:{{{ingredient1_amount|}}}| [{{{ingredient1_amount}}}]|}} | ||
</div> | </div> | ||
</div> | </div> | ||
|}} | |}} | ||
| Строка 34: | Строка 31: | ||
<!-- ИНГРЕДИЕНТ 2 --> | <!-- ИНГРЕДИЕНТ 2 --> | ||
{{#if:{{{ingredient2_name|}}}| | {{#if:{{{ingredient2_name|}}}| | ||
<div style="display:flex; flex-direction:column; align-items:center | <div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | ||
<div style="width:68px; height:68px; 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);"> | |||
<div style="width: | [[File:{{{ingredient2_img}}}|44px]] | ||
[[File:{{{ingredient2_img}}}| | |||
</div> | </div> | ||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | <div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | ||
{{{ingredient2_name}}}{{#if:{{{ingredient2_amount|}}}| [{{{ingredient2_amount}}}]|}} | {{{ingredient2_name}}}{{#if:{{{ingredient2_amount|}}}| [{{{ingredient2_amount}}}]|}} | ||
</div> | </div> | ||
</div> | </div> | ||
|}} | |}} | ||
| Строка 49: | Строка 43: | ||
<!-- ИНГРЕДИЕНТ 3 --> | <!-- ИНГРЕДИЕНТ 3 --> | ||
{{#if:{{{ingredient3_name|}}}| | {{#if:{{{ingredient3_name|}}}| | ||
<div style="display:flex; flex-direction:column; align-items:center | <div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | ||
<div style="width:68px; height:68px; 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);"> | |||
<div style="width: | [[File:{{{ingredient3_img}}}|44px]] | ||
[[File:{{{ingredient3_img}}}| | |||
</div> | </div> | ||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | <div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | ||
{{{ingredient3_name}}}{{#if:{{{ingredient3_amount|}}}| [{{{ingredient3_amount}}}]|}} | {{{ingredient3_name}}}{{#if:{{{ingredient3_amount|}}}| [{{{ingredient3_amount}}}]|}} | ||
</div> | </div> | ||
</div> | </div> | ||
|}} | |}} | ||
| Строка 64: | Строка 55: | ||
<!-- ИНГРЕДИЕНТ 4 --> | <!-- ИНГРЕДИЕНТ 4 --> | ||
{{#if:{{{ingredient4_name|}}}| | {{#if:{{{ingredient4_name|}}}| | ||
<div style="display:flex; flex-direction:column; align-items:center | <div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | ||
<div style="width:68px; height:68px; 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);"> | |||
<div style="width: | [[File:{{{ingredient4_img}}}|44px]] | ||
[[File:{{{ingredient4_img}}}| | |||
</div> | </div> | ||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | <div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | ||
{{{ingredient4_name}}}{{#if:{{{ingredient4_amount|}}}| [{{{ingredient4_amount}}}]|}} | {{{ingredient4_name}}}{{#if:{{{ingredient4_amount|}}}| [{{{ingredient4_amount}}}]|}} | ||
</div> | </div> | ||
</div> | </div> | ||
|}} | |}} | ||
| Строка 79: | Строка 67: | ||
<!-- ИНГРЕДИЕНТ 5 --> | <!-- ИНГРЕДИЕНТ 5 --> | ||
{{#if:{{{ingredient5_name|}}}| | {{#if:{{{ingredient5_name|}}}| | ||
<div style="display:flex; flex-direction:column; align-items:center; width:75px;"> | <div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | ||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient5_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | |||
{{{ingredient5_name}}}{{#if:{{{ingredient5_amount|}}}| [{{{ingredient5_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- ИНГРЕДИЕНТ 6 --> | |||
{{#if:{{{ingredient6_name|}}}| | |||
<div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | |||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient6_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | |||
{{{ingredient6_name}}}{{#if:{{{ingredient6_amount|}}}| [{{{ingredient6_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- ИНГРЕДИЕНТ 7 --> | |||
{{#if:{{{ingredient7_name|}}}| | |||
<div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | |||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient7_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | |||
{{{ingredient7_name}}}{{#if:{{{ingredient7_amount|}}}| [{{{ingredient7_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<div style="width: | <!-- ИНГРЕДИЕНТ 8 --> | ||
[[File:{{{ | {{#if:{{{ingredient8_name|}}}| | ||
<div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | |||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient8_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | |||
{{{ingredient8_name}}}{{#if:{{{ingredient8_amount|}}}| [{{{ingredient8_amount}}}]|}} | |||
</div> | </div> | ||
</div> | |||
|}} | |||
<!-- ИНГРЕДИЕНТ 9 --> | |||
{{#if:{{{ingredient9_name|}}}| | |||
<div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | |||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient9_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | <div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | ||
{{{ | {{{ingredient9_name}}}{{#if:{{{ingredient9_amount|}}}| [{{{ingredient9_amount}}}]|}} | ||
</div> | |||
</div> | </div> | ||
|}} | |||
<!-- ИНГРЕДИЕНТ 10 --> | |||
{{#if:{{{ingredient10_name|}}}| | |||
<div style="flex:0 1 85px; width:85px; min-width:75px; display:flex; flex-direction:column; align-items:center;"> | |||
<div style="width:68px; height:68px; 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);"> | |||
[[File:{{{ingredient10_img}}}|44px]] | |||
</div> | |||
<div style="font-size:14px; color:#ddd; text-align:center; margin-top:8px; line-height:18px;"> | |||
{{{ingredient10_name}}}{{#if:{{{ingredient10_amount|}}}| [{{{ingredient10_amount}}}]|}} | |||
</div> | |||
</div> | </div> | ||
|}} | |}} | ||
</div> | </div> | ||
<!-- РАЗДЕЛИТЕЛЬ --> | |||
<div style="margin:20px 0; border-top:1px solid rgba(255,255,255,0.08);"></div> | |||
<!-- СПОСОБ ПРИГОТОВЛЕНИЯ --> | <!-- СПОСОБ ПРИГОТОВЛЕНИЯ --> | ||
<div style="display:flex; flex- | <div style="display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:20px; margin-bottom:20px;"> | ||
<div style=" | <div style="display:flex; align-items:center; justify-content:center; flex-shrink:0; width:72px; height:72px; background:#333; border-radius:10px; overflow:hidden; box-shadow:inset 2px 2px 3px rgba(255,255,255,0.08), inset -2px -2px 3px rgba(0,0,0,0.35);"> | ||
[[File:{{{method_img|Microwave.gif}}}|64px]] | [[File:{{{method_img|Microwave.gif}}}|64px]] | ||
| Строка 103: | Строка 151: | ||
</div> | </div> | ||
<div style="font-size: | <div style="text-align:center;"> | ||
{{{method_name|Приготовление}}}{{#if:{{{method_time|}}}|< | <div style="font-size:18px; font-weight:bold; color:#eee; line-height:22px;"> | ||
{{{method_name|Приготовление}}} | |||
</div> | |||
{{#if:{{{method_time|}}}| | |||
<div style="font-size:14px; color:#aaa; margin-top:4px;"> | |||
{{{method_time}}} | |||
</div> | |||
|}} | |||
</div> | |||
</div> | </div> | ||
<!-- РЕАГЕНТЫ --> | |||
{{#if:{{{reagent1_name|}}}| | |||
<div style="margin-bottom:20px;"> | |||
<div style="font-size:17px; font-weight:bold; color:#eee; text-align:center; margin-bottom:12px;"> | |||
Реагенты | |||
</div> | </div> | ||
<div style="display:flex; flex-wrap:wrap; justify-content:center; gap:12px;"> | |||
<!-- РЕАГЕНТ 1 --> | |||
{{#if:{{{reagent1_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent1_img|}}}|[[File:{{{reagent1_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent1_name}}}{{#if:{{{reagent1_amount|}}}| [{{{reagent1_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕАГЕНТ 2 --> | |||
{{#if:{{{reagent2_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent2_img|}}}|[[File:{{{reagent2_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent2_name}}}{{#if:{{{reagent2_amount|}}}| [{{{reagent2_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕАГЕНТ 3 --> | |||
{{#if:{{{reagent3_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent3_img|}}}|[[File:{{{reagent3_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent3_name}}}{{#if:{{{reagent3_amount|}}}| [{{{reagent3_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕАГЕНТ 4 --> | |||
{{#if:{{{reagent4_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent4_img|}}}|[[File:{{{reagent4_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent4_name}}}{{#if:{{{reagent4_amount|}}}| [{{{reagent4_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕАГЕНТ 5 --> | |||
{{#if:{{{reagent5_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent5_img|}}}|[[File:{{{reagent5_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent5_name}}}{{#if:{{{reagent5_amount|}}}| [{{{reagent5_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕАГЕНТ 6 --> | |||
{{#if:{{{reagent6_name|}}}| | |||
<div style="display:flex; align-items:center; gap:8px; background:#333; padding:8px 12px; border-radius:8px;"> | |||
{{#if:{{{reagent6_img|}}}|[[File:{{{reagent6_img}}}|28px]]|}} | |||
<div style="font-size:14px; color:#ddd;"> | |||
{{{reagent6_name}}}{{#if:{{{reagent6_amount|}}}| [{{{reagent6_amount}}}]|}} | |||
</div> | |||
</div> | |||
|}} | |||
</div> | |||
</div> | |||
|}} | |||
<!-- РЕЗУЛЬТАТ --> | <!-- РЕЗУЛЬТАТ --> | ||
<div style="display:flex; align-items: | <div style="display:flex; flex-direction:column; align-items:center; justify-content:center; margin-top:10px;"> | ||
<div style="font-size:17px; font-weight:bold; color:#eee; margin-bottom:10px;"> | |||
Результат | |||
</div> | |||
<div style="display:flex; | <div style="width:78px; height:78px; background:#555; border-radius:10px; 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);"> | ||
[[File:{{{result_img}}}|50px]] | |||
</div> | </div> | ||
<div style="font-size: | <div style="font-size:15px; color:#ddd; text-align:center; margin-top:8px; line-height:19px; font-weight:bold;"> | ||
{{{result_name|Результат}}} | {{{result_name|Результат}}} | ||
</div> | </div> | ||
| Строка 136: | Строка 269: | ||
Универсальный шаблон для отображения рецептов. | Универсальный шаблон для отображения рецептов. | ||
=== Особенности === | |||
* Рецепт занимает всю доступную ширину страницы. | |||
* Ингредиенты автоматически переносятся на новые строки. | |||
* Поддерживается до '''10 твёрдых ингредиентов'''. | |||
* Поддерживается до '''6 реагентов'''. | |||
* Изображения и названия ингредиентов автоматически выстраиваются в сетку. | |||
* На узких экранах элементы переносятся автоматически. | |||
* Если <code>method_img</code> не указан, используется <code>Microwave.gif</code>. | |||
=== Параметры === | === Параметры === | ||
| Строка 144: | Строка 287: | ||
| <code>title</code> || Название рецепта || Да | | <code>title</code> || Название рецепта || Да | ||
|- | |- | ||
| <code>ingredient1_name</code> | | <code>ingredient1_name</code> — <code>ingredient10_name</code> || Название ингредиента || Нет | ||
|- | |- | ||
| <code> | | <code>ingredient1_img</code> — <code>ingredient10_img</code> || Изображение ингредиента || Нет | ||
|- | |- | ||
| <code> | | <code>ingredient1_amount</code> — <code>ingredient10_amount</code> || Количество ингредиента || Нет | ||
|- | |- | ||
| <code> | | <code>reagent1_name</code> — <code>reagent6_name</code> || Название реагента || Нет | ||
|- | |- | ||
| <code> | | <code>reagent1_img</code> — <code>reagent6_img</code> || Изображение реагента || Нет | ||
|- | |- | ||
| <code> | | <code>reagent1_amount</code> — <code>reagent6_amount</code> || Количество реагента || Нет | ||
|- | |- | ||
| <code>method_name</code> || Способ приготовления || Да | | <code>method_name</code> || Способ приготовления || Да | ||
| Строка 185: | Строка 310: | ||
|} | |} | ||
=== | === Пример === | ||
<pre> | <pre> | ||
{{Recipe | |||
| | |title=Безумный бургер | ||
|ingredient1_name=Булочка | |||
|ingredient1_img=FoodBreadBun.png | |||
|ingredient1_amount=1 | |||
|ingredient2_name=Мясо | |||
| | |ingredient2_img=FoodMeat.png | ||
| | |ingredient2_amount=2 | ||
|ingredient3_name=Сыр | |||
|ingredient3_img=FoodCheeseSlice.png | |||
|ingredient3_amount=2 | |||
|ingredient4_name=Перец чили | |||
| | |ingredient4_img=FoodChiliPepper.png | ||
| | |ingredient4_amount=1 | ||
|ingredient5_name=Капуста | |||
|ingredient5_img=FoodCabbage.png | |||
| | |ingredient5_amount=1 | ||
| | |ingredient6_name=Зелёный мелок | ||
| | |ingredient6_img=CrayonGreen.png | ||
| | |ingredient6_amount=1 | ||
| | |ingredient7_name=Фальшфейер | ||
| | |ingredient7_img=Flare.png | ||
| | |ingredient7_amount=1 | ||
| | |reagent1_name=Оливковое масло | ||
| | |reagent1_amount=15 | ||
|method_name=Микроволновка | |method_name=Микроволновка | ||
|method_time= | |method_time=15 сек. | ||
|result_name= | |result_name=Безумный бургер | ||
|result_img= | |result_img=FoodBurgerCrazy.png | ||
}} | }} | ||
</pre> | </pre> | ||
</noinclude> | </noinclude> | ||