# tubev — Per-Site Architecture Що де лежить у `/home/nosfortube/frontend_/` і яка зона безпечна для редагування. ## Folder map ``` /home/nosfortube/frontend_/ ├── views/ ← НАША зона │ ├── *.etlua templates (layout, video page, list, footer, ...) │ ├── modules/ reusable module includes │ ├── css/ etlua-rendered CSS chunks (часто critical inline) │ └── static/ ← public-served assets │ ├── css/ deferred CSS files │ ├── js/ │ │ ├── lib/ ← SHARED (НЕ редагувати для one-off!) │ │ ├── lib2/ ← SHARED (НЕ редагувати для one-off!) │ │ ├── c2.js, auth.js, comment.js, profile_index.js, main.js, ... │ │ └── *.min.js │ └── videojs-v10/ video player ├── lib/ │ └── / │ └── var.lua ← per-site config змінні (потребує kor reboot!) └── (інше) ← НЕ чіпаємо ``` ## Site name → port `/home/nosfortube/orest/site-name-routing.csv`: ```csv site name;id;url-pattern;new-url-pattern atube.sex;8082;/video/;/video/hold/ hdmmovies.xxx;8083;/video/;/video/offline/ ... ``` Лукап: `grep ';8083;' /home/nosfortube/orest/site-name-routing.csv` → site name. ## SHARED vs per-site **SHARED (зміни → всі сайти):** - `views/static/js/lib/` — основний shared, активно використовується звичайними скриптами - `views/static/js/lib2/` — другий shared bucket. Юзер каже: "в цілому сайти що юзають звичайні скрипти то ніби ніколи не бачив що тянуть щось з lib2, тільки lib". **Реальне використання lib2 — рідкісне** (можливо historical / specific subset). **Правило:** якщо щось правиш у `lib/` або `lib2/` — зміна поширюється на ВСІ сайти. Per-site fix робити НЕ можна тут. Винести у per-site файл або параметризувати через `var.lua`. **Per-site (editable безпечно):** - `views/*.etlua` (всі templates) - `views/modules/`, `views/css/` - `views/static/css/`, `views/static/js/.js` ## Config — `lib//var.lua` - Lua-таблиця змінних доступних у templates через kor runtime - **Зміни applied тільки після kor reboot** — це блокер для interactive flow - Додавати нові змінні → пишеш у `var.lua` → просиш Адміна reboot → змінна стає доступна ## Open questions - [ ] `lib/` vs `lib2/` — функціональна різниця історична / структурна / випадкова? (lib2 рідко вживається — можливо deprecated subset?) - [ ] Що ще лежить у `frontend_/` поза `views/` + `lib/`? (services/, conf/, scripts/?) — `ls` коли матимем доступ - [ ] kor reboot — manual через Адміна, нема self-service API