From 9e9d586d6d6383a1791683e544d3b61bb46b21b5 Mon Sep 17 00:00:00 2001
From: Ruslan Vasilyev
Date: Wed, 13 May 2026 12:35:42 +0300
Subject: [PATCH] =?UTF-8?q?refresh:=202026-05-13=20=E2=80=94=2010=20files?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/deploy-pages.yml | 32 ++++
.gitignore | 5 +
README.md | 29 ++++
dashboard.html | 36 +++++
index.html | 17 ++
reports/ELNY_PowerQuery_template.xlsx | Bin 0 -> 13164 bytes
reports/ELNY_ai_visibility_report.pdf | Bin 0 -> 273037 bytes
reports/ELNY_brand_voice_guidelines.pdf | Bin 0 -> 4183442 bytes
reports/ELNY_competitive_analysis_v2.docx | Bin 0 -> 1193681 bytes
reports/ELNY_competitive_analysis_v2.pdf | Bin 0 -> 4174724 bytes
reports/ELNY_executive_deck.pptx | Bin 0 -> 1555975 bytes
reports/ELNY_seo_audit.pdf | Bin 0 -> 4161208 bytes
reports/brand_voice.xlsx | Bin 0 -> 20693 bytes
status.html | 183 ++++++++++++++++++++++
14 files changed, 302 insertions(+)
create mode 100644 .github/workflows/deploy-pages.yml
create mode 100644 .gitignore
create mode 100644 README.md
create mode 100644 dashboard.html
create mode 100644 index.html
create mode 100644 reports/ELNY_PowerQuery_template.xlsx
create mode 100644 reports/ELNY_ai_visibility_report.pdf
create mode 100644 reports/ELNY_brand_voice_guidelines.pdf
create mode 100644 reports/ELNY_competitive_analysis_v2.docx
create mode 100644 reports/ELNY_competitive_analysis_v2.pdf
create mode 100644 reports/ELNY_executive_deck.pptx
create mode 100644 reports/ELNY_seo_audit.pdf
create mode 100644 reports/brand_voice.xlsx
create mode 100644 status.html
diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml
new file mode 100644
index 0000000..962a537
--- /dev/null
+++ b/.github/workflows/deploy-pages.yml
@@ -0,0 +1,32 @@
+# Deploys the entire repo root to GitHub Pages on every push to master.
+# Pattern copied from wasrusgen/zov-tech (which serves the ZOV MiniApp).
+name: Deploy ELNY Analytics to GitHub Pages
+
+on:
+ push:
+ branches: [master, main]
+ workflow_dispatch:
+
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+concurrency:
+ group: pages
+ cancel-in-progress: false
+
+jobs:
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/configure-pages@v5
+ - uses: actions/upload-pages-artifact@v3
+ with:
+ path: .
+ - id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..1f7bf03
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+# Big binary artifacts that don't belong in git
+*.parquet
+*.zip
+.DS_Store
+Thumbs.db
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..cfba6b8
--- /dev/null
+++ b/README.md
@@ -0,0 +1,29 @@
+# ELNY · Аналитика — публичные отчёты
+
+Статический сайт, который GitHub Pages автоматически собирает из этого репо при каждом пуше в `master`.
+
+**Живая ссылка:** https://wasrusgen.github.io/elny-analytics/
+
+## Что внутри
+
+| Файл | Что это |
+|---|---|
+| `index.html` | Главная — редирект на `status.html` |
+| `status.html` | Дашборд статуса пайплайна парсинга (real-time состояние данных) |
+| `dashboard.html` | Аналитический дашборд по 6 брендам (ELNY + 5 конкурентов) |
+| `reports/*.pdf` | Сгенерированные отчёты (конкурентный анализ, brand voice, SEO, AI visibility) |
+| `reports/*.xlsx` | Excel-выгрузки (master, brand_voice, Power Query template) |
+
+## Источник данных
+
+Файлы публикуются скриптом `scripts/publish_to_gh_pages.py` из основного проекта парсинга:
+`D:\! Рабочий стол\ELNY\ПАРСИНГ\`
+
+Скрипт копирует свежие `exports/*.html` и выбранные отчёты в этот репо, делает `git commit + push` —
+GitHub Pages деплоит в течение 1–2 минут.
+
+## Сырые данные (Parquet)
+
+Parquet-файлы (master, matches, embeddings, и т.д.) **не** хранятся здесь — они опубликованы на
+Yandex.Диске в `/ELNY-Аналитика/data/`. Публичные ссылки на каждый файл —
+в `config/share_links.yaml` основного проекта.
diff --git a/dashboard.html b/dashboard.html
new file mode 100644
index 0000000..66c2644
--- /dev/null
+++ b/dashboard.html
@@ -0,0 +1,36 @@
+
+
+
+
+ ELNY — конкурентная аналитика fashion-сайтов
+
Сводка по 6 интернет-магазинам женской одежды. Снапшот от 2026-05-11. Всего позиций: 7,290.
+| Сайт | Всего | В наличии | Распродано | Мин ₽ | Медиана ₽ | Макс ₽ | % со скидкой |
|---|---|---|---|---|---|---|---|
| 12storeez | 2,040 | 1,991 | 17 | 700 ₽ | 19,000 ₽ | 270,000 ₽ | 0.0% |
| annapekun | 349 | 349 | 0 | 440 ₽ | 2,990 ₽ | 10,980 ₽ | 99.7% |
| elis | 1,028 | 1,019 | 0 | 799 ₽ | 5,999 ₽ | 20,999 ₽ | 0.0% |
| elny | 1,375 | 742 | 633 | 1,799 ₽ | 6,000 ₽ | 19,889 ₽ | 54.0% |
| emkashop | 1,053 | 931 | 122 | 1,390 ₽ | 9,990 ₽ | 50,990 ₽ | 50.0% |
| pompa | 1,445 | 1,445 | 0 | 790 ₽ | 3,690 ₽ | 27,890 ₽ | 33.9% |
Если переадресация не сработала — откройте status.html.
+ + diff --git a/reports/ELNY_PowerQuery_template.xlsx b/reports/ELNY_PowerQuery_template.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..230171a40c3012d698fe7e1cd2b29efa6086d684 GIT binary patch literal 13164 zcmZ|01ymf{@;y9waCZw1!QBb2!QDMLgS)$XaF@Z|CAdRych}%ffc&}lt>1Uw%lF>Q zboZLIruOtXr@D4^)oukD2uKV70Pq2TtXZieJ|rvo?fu)2_YLKJGXWYaH~{S&84d01 z7~E{EWhZ6fdzlcRx4M*En$seP3Xw$lBeFXt8JvTgXl#O>FU}x8+q%0C)wnMOqe!S-CW^
z;Ht_9Fpk~)<{eR=2-^NtomnX+t7|^#(vq48!QhrFU5`np&iZ6{sU3fieeTqpRG=Fi
zDf6ai4`gD*{^0q78sftpmf_RlF7?@A#$fjOJn{+mr(*L1p-oM}StAf}t74*$*e-7u
zLab(ur7G>n5??J@CG%%ph+bk*D|5`F?C%6Mld(H*;CNr2mxxSLWqs!&Jwo{@ds0_l
zEk^MxRR5z EuTm>#>
z&6py}-l*Y?Jzxa+rw`yi2Rg0_EGz;80IuFc2=c$e$6pE{BOuV~?`$-2Qkp;rWl+E9
zxP79{Hi#|;o8pr>sp9 k+We&TTrGMy=%derB
zJT&%cM;jKExR#OQE}3e4nT5ZR4!z5#31uZQ&A{agCeQ2VTOExj&oX7X+y!fq QfZTU%|^1r=7r&PR)}YlLBL{@_nu==
zJKwmD#FGClYk@o1SIDJ;l8zR>I5MGkw5?bo}$7W##1$3N**IB$&UO
z>)YT8)0;}_sw#w&F2>C_`w+@S!$-Z^aN+Ve#YwJsK&Gl@c@nRjO}n~
zdcG@pwdfNLcUt;N%eP7CybqsU1nOcfyld&!#q{PnsJHt%@?Bu2mA3pv1<@XjX@9VBkPdlV=KwUn%}pNYtBxu
z>iaGTu0io0*PyEw{4HO1z#gHlzXllrKG~+-f0-|jk$QfG;}0I`#WXFnTJH83lV}{w
z(~hQfzkMU~u3|Ofh)}h!nJKcmJ-O`b^JFb<7h#b~$-OKu*Z#T7a-tclvZA^*p>jYu
z={p&WrAh4L8z2blU+UfrW){QPHilMn^F%#2qt32et%=B?AHC48T5rgp^!FXw(PZP|
zRJacb_E|}%tc82Te{<#S%pYvW64^>CfB}}t
&*(9Z8i=y
z;v3@cz=WT8X1s)oJ>QY}k!VOZ*Ik4E(UHEPAi+fS6Sk+1wor9
H%8QV(QZGQTY=y{QD1|HfyCG@BoAvCQ7~4bQBEeh^5s*fZ{GIK;^s;Krd<
zs8J}WOpo|fX;KP`
z$~i0>^)nyypOt48&RV+>>FK|!`bNC3btg>R
P6m_^gkR|RpB0?rR$~p{
zun)8Yc76lf#Soz1