Initial commit: ASPEKTER — визуальный конструктор email-рассылок

- z51-pug-builder: Svelte 5 SPA, визуальный редактор Pug-писем
- email-gen: Node.js рендерер Pug→HTML через email-templates + Juice
- email-gen-api: HTTP сервер рендеринга (порт 8787)
- coin-scout: сервис подбора монет из фидов
- Docker Compose для dev/prod
- Nginx конфиг с SSL для app.aspekter.ru
This commit is contained in:
2026-04-13 11:36:39 +05:00
commit 718821fdd6
282 changed files with 64697 additions and 0 deletions

View File

@@ -0,0 +1,213 @@
//Заголовок зеленый
tr
td.paddingWrapperBig
+defaultTable("100%")
tr
td(align="center")
span.text.smallHeader.bold.greenText Конитива, герой!
//Заголовок серый
tr
td.paddingWrapperBig
+defaultTable("100%")
tr
td(align="center")
span.text.smallHeader.bold.groceryText Конитива, герой!
//Текст
tr
td.paddingWrapperBig
+defaultTable("100%")
tr
td
span.text.groceryText Пока одни вспоминают старую «Якудзу-3» с ее бесконечными блоками и симулятором няньки, студия Ryu Ga Gotoku Studio готовит полноценную революцию!
//Доп. текст
+spacerLine(20)
tr
td
span.text.groceryText <span style="font-weight: 700;">Минимальные</span> 1080p&nbsp;/ 30&nbsp;FPS (с&nbsp;FSR)<br>Проц: Intel i3-8100&nbsp;/ AMD Ryzen 3 2300X<br>Видяха: NVIDIA GTX 1650&nbsp;/ AMD&nbsp;RX 6400<br>Оперативочка: 8&nbsp;ГБ<br>
//Отступ 20
+spacerLine(20)
//Отступ 40
+spacerLine(40)
//3 товара в ряд
+products3inRow({
'144839': {
imageSrc: '',
name: 'BAD BUNNY',
category: 'Осторожно, этот кролик плохой)',
},
'142672': {
imageSrc: '',
name: 'MONARCH',
category: 'Ролекс среди кресел',
},
'140228': {
imageSrc: '',
name: 'Kitty Meow',
category: 'Кошечка делает мур-р-р!',
},
})
//Разделитель
+dividerZ(525, 2)
+spacerLine(40)
//Банер
tr
td(align="center")
a(href="https://z51.ru" target="_blank")
img(src="https://z51.ru/upload/email/newsletter-2026/20-01-2026/1.jpg" alt="pic" style="display: block" width="600")
//Кнопка
tr
td(align="center").paddingWrapper
+buttonRounded("Смотреть топовые ПК", "https://z51.ru/catalog/gaming-pc/", 525, 42, "#c9e905", 18, "#000000", 4, "#c9e905").bold.text
//Две кнопки
tr
td.paddingWrapper
+defaultTable("100%")
tr
td(width="250")
+defaultTable("250")
tr
td(align="center")
+buttonRounded("Игровые кресла", "https://z51.ru/catalog/kresla/", 240, 42, "#c9e905", 18, "#000000", 4, "#c9e905").bold.text
+tdFixed(36)
td(width="250")
+defaultTable("250")
tr
td(align="center")
+buttonRounded("Эргономичные кресла", "https://z51.ru/catalog/ergonomic-office-chairs/", 240, 42, "#c9e905", 18, "#000000", 4, "#c9e905", 4).bold.text
//Блок преимуществ
tr
td.paddingWrapperBig
+defaultTable("100%")
tr
td(align="center")
span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?
+spacerLine(40)
tr
td.paddingWrapper
+defaultTable("100%")
tr
td(width="250" valign="top")
+defaultTable("250")
//Unordered List
tr
td
+defaultTable("100%")
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="pic" width="12")
+tdFixed(10)
td
span.groceryText <span style="font-weight: 700; color: #DAFD04;">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары
+spacerLine(20)
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="pic" width="12")
+tdFixed(10)
td
span.groceryText <span style="font-weight: 700; color: #DAFD04;">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и <span style="text-decoration: line-through;">вроде как</span> безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения
+tdFixed(36)
td(width="250" valign="top")
+defaultTable("250")
tr
td
+defaultTable("100%")
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="pic" width="12")
+tdFixed(10)
td
span.groceryText <span style="font-weight: 700; color: #DAFD04;">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь
+spacerLine(20)
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="pic" width="12")
+tdFixed(10)
td
span.groceryText <span style="font-weight: 700; color: #DAFD04;">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы
+spacerLine(40)
tr
td(align="center").paddingWrapper
+buttonRounded("Залетай к нам!", "https://z51.ru/", 300, 42, "#c9e905", 18, "#000000", 4, "#c9e905").bold.text
//Нумерованный список
+spacerLine(20)
tr
td.paddingWrapper
+defaultTable("100%")
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/1.png" alt="" width="14")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего мира
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/2.png" alt="" width="14")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего мира
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/3.png" alt="" width="14")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/4.png" alt="" width="14")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего
//Маркированный список
+spacerLine(25)
tr
td.paddingWrapper
+defaultTable("100%")
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="" width="12")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего мира
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="" width="12")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего мира
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="" width="12")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего
tr
+tdFixed(12, "center", "top").markerPadding
img(src="https://z51.ru/upload/email/master-template/markers/marker.png" alt="" width="12")
+tdFixed(16)
td
span.text БРЕНД ZONE 51 результат работы профессионалов со всего

View File

@@ -0,0 +1,301 @@
[
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru/news/2026-gift/\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-06/1.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": false,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Привет, геймер!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText ZONE 51 приготовили для тебя двойной бонус:",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Как получить ARC Raiders бесплатно?",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 25
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText 1. Выбирай кресло <span style=\"font-weight: 700;\">без скидок и&nbsp;от&nbsp;24&nbsp;990&nbsp;рублей;</span><br>2. Кидай в&nbsp;корзину;<br>3. Промокод не&nbsp;трожь;<br>4. Видишь баннер о&nbsp;подарке? Готово&nbsp;&mdash; оформляй заказ!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Смотреть кресла\", \"https://z51.ru/catalog/ \", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText И на заметку:",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false
},
{
"name": "Маркированный список",
"content": "+spacerLine(25)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Ключи раздают пока есть;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Подарок придет на почту после оплаты;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Одно кресло = одна игра.\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText ",
"collapsed": false,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 21,
"itemIndex": 2,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 27,
"itemIndex": 3,
"removable": true
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '147316': {\n imageSrc: '',\n name: 'Arena Extreme 31 490 Р',\n category: 'Для экстремально потных каток',\n },\n '148494': {\n imageSrc: '',\n name: 'Citadel 33 490 Р',\n category: 'Твоя обитель комфорта',\n },\n '146741': {\n imageSrc: '',\n name: 'Rider 29 990 Р',\n category: 'Лучшая софа для отдыха',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '147316': {\n imageSrc: '',\n name: 'Arena Extreme',\n category: 'Для экстремально потных каток',\n },\n '148494': {\n imageSrc: '',\n name: 'Citadel',\n category: 'Твоя обитель комфорта',\n },\n '146741': {\n imageSrc: '',\n name: 'Rider',\n category: 'Лучшая софа для отдыха',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Две кнопки",
"content": "tr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Игровые кресла\", \"https://z51.ru/catalog/kresla/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text\n +tdFixed(36)\n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Эргономичные кресла\", \"https://z51.ru/catalog/ergonomic-office-chairs/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\", 4).bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 8,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 8,
"argIndex": 1
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 14,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 14,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Блок преимуществ",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?\n\n+spacerLine(40)\n\ntr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n //Unordered List\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и <span style=\"text-decoration: line-through;\">вроде как</span> безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения\n +tdFixed(36)\n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы\n+spacerLine(40)\n\ntr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залетай к нам!\", \"https://z51.ru/\", 300, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 21,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 24
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 28,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 31
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 40,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 43
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 47,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 50
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 55,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 55,
"argIndex": 1
}
],
"addSpacing": false
},
{
"name": "Нумерованный список",
"content": "+spacerLine(20)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/1.png\" alt=\"\" width=\"14\")\n +tdFixed(16)\n td \n span.text БРЕНД ZONE 51 результат работы профессионалов со всего мира\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/1.png\" alt=\"\" width=\"14\")\n +tdFixed(16)\n td \n span.text ",
"collapsed": false,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
}
],
"addSpacing": true
}
]

View File

@@ -0,0 +1,45 @@
{
"list": [
{
"id": "6e588907-e4b2-485c-bc00-f8e429980c31",
"name": "22-02-2026 ПОДАРКИ К 23 ФЕВРАЛЯ",
"title": ОДАРКИ К 23 ФЕВРАЛЯ",
"date": "2026-02-22",
"createdAt": "2026-02-19T10:11:28.406Z",
"updatedAt": "2026-02-19T10:13:40.028Z"
},
{
"id": "ced0b6a1-73ac-4c1e-bf68-2516b7641044",
"name": "19-02-2026 Winx Club",
"title": "Winx Club",
"date": "2026-02-19",
"createdAt": "2026-02-18T11:09:24.751Z",
"updatedAt": "2026-02-18T11:58:20.745Z"
},
{
"id": "aeec6267-cbab-4381-a6f9-ad3f19867dbd",
"name": "19-02-2026 Э-э-э, ты кто такой?",
"title": "Э-э-э, ты кто такой?",
"date": "2026-02-19",
"createdAt": "2026-02-16T15:28:03.855Z",
"updatedAt": "2026-02-18T11:08:57.426Z"
},
{
"id": "268ba760-2865-462f-bae5-a2979b4c0c91",
"name": "11-02-2026 Враги в чате?",
"title": "Враги в чате?",
"date": "2026-02-11",
"createdAt": "2026-02-09T16:38:15.918Z",
"updatedAt": "2026-02-16T15:27:35.771Z"
},
{
"id": "af27c4fc-6b78-489a-9b41-a6f9b42d6d5b",
"name": "10-02-2026 АКЦИЯ",
"title": "АКЦИЯ",
"date": "2026-02-10",
"createdAt": "2026-02-08T08:33:50.787Z",
"updatedAt": "2026-02-09T16:37:56.404Z"
}
],
"currentId": "6e588907-e4b2-485c-bc00-f8e429980c31"
}

View File

@@ -0,0 +1,302 @@
{
"id": "268ba760-2865-462f-bae5-a2979b4c0c91",
"name": "11-02-2026 Враги в чате?",
"title": "Враги в чате?",
"date": "2026-02-11",
"createdAt": "2026-02-09T16:38:15.918Z",
"updatedAt": "2026-02-16T15:27:35.771Z",
"blocks": [
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru/news/2026-gift/\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-06/1.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": true,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Привет, геймер!",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText ZONE 51 приготовили для тебя двойной бонус:",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false,
"spacing": 20
},
{
"name": "Маркированный список",
"content": "+spacerLine(25)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Кресло мечты, чтобы играть с комфортом;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText ARC Raiders, чтобы отправиться в эпичный рейд.",
"collapsed": true,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Как получить ARC Raiders бесплатно?",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 25
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText 1. Выбирай кресло <span style=\"font-weight: 700;\">без скидок и&nbsp;от&nbsp;24&nbsp;990&nbsp;рублей;</span><br>2. Кидай в&nbsp;корзину;<br>3. Промокод не&nbsp;трожь;<br>4. Видишь баннер о&nbsp;подарке? Готово&nbsp;&mdash; оформляй заказ!",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Смотреть кресла\", \"https://z51.ru/catalog/ \", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": true,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText И на заметку:",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false
},
{
"name": "Маркированный список",
"content": "+spacerLine(25)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Ключи раздают пока есть;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Подарок придет на почту после оплаты;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Одно кресло = одна игра.",
"collapsed": true,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 21,
"itemIndex": 2,
"removable": true
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '142511': {\n imageSrc: '',\n name: 'Freelancer W8',\n category: 'Эталон в мире кресел',\n },\n '150677': {\n imageSrc: '',\n name: 'Freelancer K5',\n category: 'Топчик по балансу',\n },\n '147210': {\n imageSrc: '',\n name: 'Freelancer X7',\n category: 'Имба для удаленки',\n },\n})",
"collapsed": true,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '147316': {\n imageSrc: '',\n name: 'Arena Extreme',\n category: 'Для экстремально потных каток',\n },\n '148494': {\n imageSrc: '',\n name: 'Citadel',\n category: 'Твоя обитель комфорта',\n },\n '146741': {\n imageSrc: '',\n name: 'Rider',\n category: 'Лучшая софа для отдыха',\n },\n})",
"collapsed": true,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Две кнопки",
"content": "tr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Игровые кресла\", \"https://z51.ru/catalog/kresla/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text\n +tdFixed(36)\n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Эргономичные кресла\", \"https://z51.ru/catalog/ergonomic-office-chairs/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\", 4).bold.text",
"collapsed": true,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 8,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 8,
"argIndex": 1
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 14,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 14,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Блок преимуществ",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?\n\n+spacerLine(40)\n\ntr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n //Unordered List\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и <span style=\"text-decoration: line-through;\">вроде как</span> безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения\n +tdFixed(36)\n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы\n+spacerLine(40)\n\ntr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залетай к нам!\", \"https://z51.ru/\", 300, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 21,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 24
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 28,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 31
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 40,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 43
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 47,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 50
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 55,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 55,
"argIndex": 1
}
],
"addSpacing": false
}
]
}

View File

@@ -0,0 +1,80 @@
{
"id": "6e588907-e4b2-485c-bc00-f8e429980c31",
"name": "22-02-2026 ПОДАРКИ К 23 ФЕВРАЛЯ",
"title": ОДАРКИ К 23 ФЕВРАЛЯ",
"date": "2026-02-22",
"createdAt": "2026-02-19T10:11:28.406Z",
"updatedAt": "2026-02-19T10:13:40.028Z",
"blocks": [
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Настоящие мужчины, а также<br>их прекрасные женщины!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Думаете, подарки к&nbsp;23&nbsp;февраля&nbsp;&mdash; это носки и&nbsp;пены для бритья? Ха! Мы&nbsp;приготовили кое-что поинтереснее!\n +spacerLine(20)\n tr\n td\n span.text.groceryText Специально к&nbsp;празднику Баззи запускает суперакцию со&nbsp;скидками до&nbsp;60% на&nbsp;всё для организации игрового и&nbsp;рабочего пространства.\n +spacerLine(20)\n tr\n td\n span.text.groceryText Акция действует до&nbsp;27&nbsp;февраля включительно. Оплата частями, официальная гарантия и&nbsp;доставка по&nbsp;всей России.",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
},
{
"type": "text",
"label": "Текст",
"lineIndex": 13,
"paragraphIndex": 3,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"За подарками!\", \"https://z51.ru/lands/23/\", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
}
]
}

View File

@@ -0,0 +1,416 @@
{
"id": "aeec6267-cbab-4381-a6f9-ad3f19867dbd",
"name": "19-02-2026 Э-э-э, ты кто такой?",
"title": "Э-э-э, ты кто такой?",
"date": "2026-02-19",
"createdAt": "2026-02-16T15:28:03.855Z",
"updatedAt": "2026-02-18T11:08:57.426Z",
"blocks": [
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Здаров, легенда!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Ситуация: ты&nbsp;опять забрал MVP раунда, законтрил сложнейший мув или поднялся на&nbsp;новый ранг, а&nbsp;в&nbsp;голове вместо &laquo;красава, я&nbsp;крут&raquo;&nbsp;&mdash; &laquo;Повезло&raquo;, &laquo;Я&nbsp;тут случайно&raquo; и&nbsp;т.д. Знакомо?",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-19/1.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": false,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Поздравляю! Ты&nbsp;не&nbsp;кривой и&nbsp;косой нуб, хотя... Нет! У&nbsp;тебя синдром самозванца, и&nbsp;сегодня папочка Баззи его вылечит!\n +spacerLine(20)\n tr\n td\n span.text.groceryText А&nbsp;ты&nbsp;пока креслица глянь, я&nbsp;старался:",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Кресла чееек!\", \"https://z51.ru/catalog/\", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '148688': {\n imageSrc: '',\n name: 'ARENA PRO',\n category: 'Только для ПРО',\n oldprice: '25990',\n price: '20012',\n discount: '23',\n },\n '143807': {\n imageSrc: '',\n name: 'ARMADA Royal',\n category: 'Для настоящих ценителей',\n oldprice: '30990',\n price: '24792',\n discount: '20',\n },\n '143771': {\n imageSrc: '',\n name: 'BASTION',\n category: 'Мягкое и приятное',\n oldprice: '24490',\n price: '18857',\n discount: '23',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Для начала",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Если ты узнаешь себя в этих ситуациях:\n",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Маркированный список",
"content": "\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText <span style=\"font-weight: 700;\">&laquo;Мне просто повезло&raquo;</span><br>Ты&nbsp;выиграл клатч 1v3, но&nbsp;искренне считаешь, что противники были &laquo;слепыми&raquo; или у&nbsp;них лаги, и&nbsp;твой скилл тут вообще ни&nbsp;при чем.\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText <span style=\"font-weight: 700;\">&laquo;Я&nbsp;не&nbsp;заслужил этот ранг&raquo;</span><br>Ты&nbsp;поднялся на&nbsp;новый уровень, но&nbsp;каждую игру ждешь, что &laquo;вот сейчас все поймут, что я&nbsp;тут случайно&raquo;, и&nbsp;каждая ошибка воспринимается как доказательство.\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText <span style=\"font-weight: 700;\">&laquo;Они просто меня переоценивают&raquo;</span><br>Тиммейты хвалят, друзья зовут в&nbsp;пати, но&nbsp;внутри&nbsp;&mdash; страх, что ты&nbsp;их&nbsp;подведешь, и&nbsp;они увидят &laquo;настоящего тебя&raquo;.",
"collapsed": false,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 21,
"itemIndex": 2,
"removable": true
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Мой друг, в&nbsp;таких случаях ты&nbsp;имеешь дело с&nbsp;синдромом самозванца. Хорошая новость: с&nbsp;ним можно и&nbsp;нужно бороться!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-19/2.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": false,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Инструменты",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Вот тебе советы от&nbsp;Баззи, чтобы перестать себя недооценивать.\n +spacerLine(20)\n tr\n td\n span.text.groceryText 1. После каждой игры (даже проигранной!) запиши ОДНО конкретное действие, которое ты&nbsp;сделал хорошо. Через неделю перечитай&nbsp;&mdash; это твой реальный скилл-лист.\n +spacerLine(20)\n tr\n td\n span.text.groceryText 2. Пересмотри свой проигрыш, но&nbsp;не&nbsp;с&nbsp;позиции &laquo;где я&nbsp;облажался?&raquo;, а&nbsp;&laquo;что я&nbsp;пытался сделать, и&nbsp;почему это не&nbsp;сработало?&raquo;. Самый частый ответ: не&nbsp;&laquo;я&nbsp;тупой&raquo;, а&nbsp;&laquo;я&nbsp;рискнул, но&nbsp;соперник сыграл лучше&raquo;.\n +spacerLine(20)\n tr\n td\n span.text.groceryText 3. Забудь фразы: &laquo;мне повезло&raquo;, &laquo;я&nbsp;случайно&raquo;, &laquo;это не&nbsp;считается&raquo;, &laquo;они просто слабые&raquo;. Замени их&nbsp;на: &laquo;я&nbsp;справился&raquo;, &laquo;я&nbsp;выбрал правильно&raquo;, &laquo;я&nbsp;готов к&nbsp;следующему вызову&raquo;. Это изменит твою менталку, вот увидишь!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
},
{
"type": "text",
"label": "Текст",
"lineIndex": 13,
"paragraphIndex": 3,
"removable": true
},
{
"type": "text",
"label": "Текст",
"lineIndex": 17,
"paragraphIndex": 4,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Ну вот!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Стало лучше? Задышалось легче? Потому что мы&nbsp;избавились от&nbsp;главного душнилы!\n +spacerLine(20)\n tr\n td\n span.text.groceryText А&nbsp;в&nbsp;награду твоему зеленому психологу кресла глянь:",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"одним глазком...\", \"https://z51.ru/catalog/\", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '146596': {\n imageSrc: '',\n name: 'Monarch X-Weave',\n category: '№1 по стилю',\n },\n '141259': {\n imageSrc: '',\n name: 'CORE Light X-Weave',\n category: 'Базовый уровень комфорта',\n oldprice: '19990',\n price: '15392',\n discount: '23',\n },\n '142511': {\n imageSrc: '',\n name: 'FREELANCER W8',\n category: 'Флагманский уровень комфорта',\n oldprice: '69990',\n price: '53892',\n discount: '23',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Блок преимуществ",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?\n\n+spacerLine(40)\n\ntr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n //Unordered List\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения\n +tdFixed(36)\n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы\n+spacerLine(40)\n\ntr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залетай к нам!\", \"https://z51.ru/\", 300, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 21,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 24
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 28,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 31
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 40,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 43
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 47,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 50
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 55,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 55,
"argIndex": 1
}
],
"addSpacing": false
}
]
}

View File

@@ -0,0 +1,9 @@
{
"id": "af27c4fc-6b78-489a-9b41-a6f9b42d6d5b",
"name": "10-02-2026 АКЦИЯ",
"title": "АКЦИЯ",
"date": "2026-02-10",
"createdAt": "2026-02-08T08:33:50.787Z",
"updatedAt": "2026-02-09T16:37:56.404Z",
"blocks": []
}

View File

@@ -0,0 +1,498 @@
{
"id": "ced0b6a1-73ac-4c1e-bf68-2516b7641044",
"name": "19-02-2026 Winx Club",
"title": "Winx Club",
"date": "2026-02-19",
"createdAt": "2026-02-18T11:09:24.751Z",
"updatedAt": "2026-02-18T11:58:20.745Z",
"blocks": [
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Привет, колдун!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Помнишь те&nbsp;времена, когда ты&nbsp;возвращался из&nbsp;школы и&nbsp;включал телевизор? Давай честно, ты&nbsp;тоже залипал на&nbsp;приключения фей из&nbsp;Алфеи! Даже я&nbsp;на&nbsp;своей планетке подрубался к&nbsp;стриму с&nbsp;Земли...",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 40
},
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru/\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-18/1.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": true,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Так вот, студия Iron Frog и&nbsp;издатель Maximum Entertainment решили, что пора, и&nbsp;анонсировали Winx Club: The Magic is&nbsp;Back. Игра выходит на&nbsp;ПК и&nbsp;консолях уже в&nbsp;апреле 2026&nbsp;года!\n +spacerLine(20)\n tr\n td\n span.text.groceryText Ностальгия в&nbsp;глаз попала? Отвлекись на&nbsp;кресла, там тоже есть на&nbsp;что залипнуть:",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
}
],
"addSpacing": true,
"spacing": 25
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залипнуть\", \"https://z51.ru/catalog/\", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '145105': {\n imageSrc: '',\n name: 'Imperial Royal',\n category: 'Королевский трон у тебя дома',\n },\n '144171': {\n imageSrc: '',\n name: 'Cardinal',\n category: 'Для настоящих кардиналов',\n },\n '142097': {\n imageSrc: '',\n name: 'Cyberpunk Limited',\n category: 'Только для потных каток!',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Две кнопки",
"content": "tr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Игровые кресла\", \"https://z51.ru/catalog/kresla/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text\n +tdFixed(36)\n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Эргономичные кресла\", \"https://z51.ru/catalog/ergonomic-office-chairs/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\", 4).bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 8,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 8,
"argIndex": 1
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 14,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 14,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText ЭНЧАНТИКС!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Разрабы обещают вернуть дух оригинального сериала, но&nbsp;в&nbsp;современной оболочке. Что нас ждет:",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Маркированный список",
"content": "\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Магические бои&nbsp;&mdash; да, пострелять заклинаниями все-таки дадут.\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Головоломки — без них никуда, Алфея не терпит тупых!\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Кооператив — причем локальный на двоих. Можно позвать друга и наконец-то выяснить, кто из вас помнит имена всех фей.",
"collapsed": false,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 21,
"itemIndex": 2,
"removable": true
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Управлять можно всеми шестью феями оригинального состава: Блум, Стеллой, Флорой, Музой, Текной и&nbsp;Лейлой (вот тебе все имена, если вдруг подзабыл).",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-18/2.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": false,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Где колдуем?",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Карта локаций обещает быть сочной и&nbsp;прямиком из&nbsp;детства:\n",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 30
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText 1. Школа Алфея;<br>2. Зачарованный лес;<br>3. Прибрежные утесы;<br>4. Красный Фонтан (это где беловолосые мужики тусовались).",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Игрокам предстоит отражать атаки фантастических тварей, прокачивать заклинания и&nbsp;становиться сильнее. Всё как мы&nbsp;любим: и&nbsp;фан, и&nbsp;фарма.",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText ЖДЕШЬ?!",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Не&nbsp;знаю, как&nbsp;ты, а&nbsp;я&nbsp;прям вдохновился... Понятно, что это все рофл, но&nbsp;все-таки я&nbsp;хочу, чтобы игруля вышла достойной и&nbsp;не&nbsp;опозорила честь школы волшебниц!\n +spacerLine(20)\n tr\n td\n span.text.groceryText А&nbsp;вот кто всегда держит марку, так это мои кресла (иначе я&nbsp;их&nbsp;сжигаю, ха-ха-ха):",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
},
{
"type": "text",
"label": "Текст",
"lineIndex": 9,
"paragraphIndex": 2,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Чекнуть\", \"https://z51.ru/catalog/\", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '144270': {\n imageSrc: '',\n name: 'Tanuki',\n category: 'Удача всегда с тобой',\n },\n '144839': {\n imageSrc: '',\n name: 'Bad Bunny',\n category: 'Осторожно, кролик плохой!',\n },\n '141580': {\n imageSrc: '',\n name: 'Aniki',\n category: 'Дэнжн-мастер',\n },\n})",
"collapsed": false,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Две кнопки",
"content": "tr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Игровые кресла\", \"https://z51.ru/catalog/kresla/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text\n +tdFixed(36)\n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Эргономичные кресла\", \"https://z51.ru/catalog/ergonomic-office-chairs/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\", 4).bold.text",
"collapsed": false,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 8,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 8,
"argIndex": 1
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 14,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 14,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Разделитель",
"content": "+dividerZ(525, 2)\n+spacerLine(40)",
"collapsed": false,
"schema": [],
"addSpacing": true
},
{
"name": "Блок преимуществ",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?\n\n+spacerLine(40)\n\ntr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n //Unordered List\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения\n +tdFixed(36)\n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы\n+spacerLine(40)\n\ntr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залетай к нам!\", \"https://z51.ru/\", 300, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": false,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 21,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 24
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 28,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 31
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 40,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 43
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 47,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 50
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 55,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 55,
"argIndex": 1
}
],
"addSpacing": false
}
]
}

View File

@@ -0,0 +1,3 @@
{
"sourceName": "Block.pug"
}

View File

@@ -0,0 +1,301 @@
[
{
"id": "2a5f5c63-6a25-4dd6-b7f7-c39c2edb3e4f",
"name": "Сходим в рейд?",
"savedAt": "2026-02-05T11:41:15.011Z",
"blocks": [
{
"name": "Банер",
"content": "tr \n td(align=\"center\") \n a(href=\"https://z51.ru/news/2026-gift/\" target=\"_blank\")\n img(src=\"https://z51.ru/upload/email/newsletter-2026/02-06/1.png\" alt=\"pic\" style=\"display: block\" width=\"600\")",
"collapsed": true,
"schema": [
{
"type": "href",
"label": "Ссылка",
"lineIndex": 2,
"occurrence": 0
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 3,
"occurrence": 0
}
],
"addSpacing": true
},
{
"name": "Заголовок зеленый",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Привет, геймер!",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText ZONE 51 приготовили для тебя двойной бонус:",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false,
"spacing": 20
},
{
"name": "Маркированный список",
"content": "+spacerLine(25)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Кресло мечты, чтобы играть с комфортом;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText ARC Raiders, чтобы отправиться в эпичный рейд.",
"collapsed": true,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText Как получить ARC Raiders бесплатно?",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true,
"spacing": 25
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText 1. Выбирай кресло <span style=\"font-weight: 700;\">без скидок и&nbsp;от&nbsp;24&nbsp;990&nbsp;рублей;</span><br>2. Кидай в&nbsp;корзину;<br>3. Промокод не&nbsp;трожь;<br>4. Видишь баннер о&nbsp;подарке? Готово&nbsp;&mdash; оформляй заказ!",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": true
},
{
"name": "Кнопка",
"content": "tr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Смотреть кресла\", \"https://z51.ru/catalog/ \", 525, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": true,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 2,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 2,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Текст",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td \n span.text.groceryText И на заметку:",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5,
"paragraphIndex": 1,
"removable": false
}
],
"addSpacing": false
},
{
"name": "Маркированный список",
"content": "+spacerLine(25)\ntr \n td.paddingWrapper\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Ключи раздают пока есть;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Подарок придет на почту после оплаты;\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"\" width=\"12\")\n +tdFixed(16)\n td \n span.text.groceryText Одно кресло = одна игра.",
"collapsed": true,
"schema": [
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 9,
"itemIndex": 0,
"removable": false
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 15,
"itemIndex": 1,
"removable": true
},
{
"type": "list-item",
"label": "Пункт",
"lineIndex": 21,
"itemIndex": 2,
"removable": true
}
],
"addSpacing": true
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '142511': {\n imageSrc: '',\n name: 'Freelancer W8',\n category: 'Эталон в мире кресел',\n },\n '150677': {\n imageSrc: '',\n name: 'Freelancer K5',\n category: 'Топчик по балансу',\n },\n '147210': {\n imageSrc: '',\n name: 'Freelancer X7',\n category: 'Имба для удаленки',\n },\n})",
"collapsed": true,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true,
"spacing": 20
},
{
"name": "3 товара в ряд",
"content": "+products3inRow({\n '147316': {\n imageSrc: '',\n name: 'Arena Extreme',\n category: 'Для экстремально потных каток',\n },\n '148494': {\n imageSrc: '',\n name: 'Citadel',\n category: 'Твоя обитель комфорта',\n },\n '146741': {\n imageSrc: '',\n name: 'Rider',\n category: 'Лучшая софа для отдыха',\n },\n})",
"collapsed": true,
"schema": [
{
"type": "raw",
"label": "Код блока"
}
],
"addSpacing": true
},
{
"name": "Две кнопки",
"content": "tr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Игровые кресла\", \"https://z51.ru/catalog/kresla/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text\n +tdFixed(36)\n td(width=\"250\")\n +defaultTable(\"250\")\n tr \n td(align=\"center\")\n +buttonRounded(\"Эргономичные кресла\", \"https://z51.ru/catalog/ergonomic-office-chairs/\", 240, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\", 4).bold.text",
"collapsed": true,
"schema": [
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 8,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 8,
"argIndex": 1
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 14,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 14,
"argIndex": 1
}
],
"addSpacing": true
},
{
"name": "Блок преимуществ",
"content": "tr \n td.paddingWrapperBig\n +defaultTable(\"100%\")\n tr \n td(align=\"center\")\n span.text.smallHeader.bold.greenText Почему выбирают товары у Баззи?\n\n+spacerLine(40)\n\ntr \n td.paddingWrapper \n +defaultTable(\"100%\")\n tr \n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n //Unordered List\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Официальный магазин</span><br />В наличии всё самое вкусное от ZONE&nbsp;51 — кресла, столы, периферия и аксессуары\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Первоклассные и&nbsp;надежные продукты</span><br />Из качественных, инопланетных и <span style=\"text-decoration: line-through;\">вроде как</span> безопасных материалов для себя, родных и&nbsp;друзей. Не&nbsp;понравилось? Можешь вернуть в&nbsp;течение 28 дней с&nbsp;даты приобретения\n +tdFixed(36)\n td(width=\"250\" valign=\"top\")\n +defaultTable(\"250\")\n tr \n td\n +defaultTable(\"100%\")\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Новинки и эксклюзивы</span><br />Я постоянно потею над&nbsp;новыми товарами, которые можно приобрести только здесь\n +spacerLine(20)\n tr \n +tdFixed(12, \"center\", \"top\").markerPadding\n img(src=\"https://z51.ru/upload/email/master-template/markers/marker.png\" alt=\"pic\" width=\"12\")\n +tdFixed(10)\n td \n span.groceryText <span style=\"font-weight: 700; color: #DAFD04;\">Клиенто-ориентированность</span><br />Даю до 3 лет гарантии на&nbsp;свой товар +1 год за&nbsp;покупку в&nbsp;фирменном магазине ZONE&nbsp;51 (онлайн и&nbsp;офлайн), а&nbsp;человеки у&nbsp;трубки помогут быстро обкашлять любые вопросы\n+spacerLine(40)\n\ntr \n td(align=\"center\").paddingWrapper \n +buttonRounded(\"Залетай к нам!\", \"https://z51.ru/\", 300, 42, \"#c9e905\", 18, \"#000000\", 4, \"#c9e905\").bold.text",
"collapsed": true,
"schema": [
{
"type": "text",
"label": "Текст",
"lineIndex": 5
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 21,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 24
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 28,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 31
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 40,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 43
},
{
"type": "src",
"label": "Картинка",
"lineIndex": 47,
"occurrence": 0
},
{
"type": "text",
"label": "Текст",
"lineIndex": 50
},
{
"type": "mixin-text",
"label": "Текст кнопки",
"lineIndex": 55,
"argIndex": 0
},
{
"type": "mixin-href",
"label": "Ссылка кнопки",
"lineIndex": 55,
"argIndex": 1
}
],
"addSpacing": false
}
]
}
]

File diff suppressed because one or more lines are too long