Files
s.zotov 718821fdd6 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
2026-04-13 11:36:39 +05:00

301 lines
15 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[
{
"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
}
]