From 9635859c2e4fe621fb4c6b526320e7bcfdc9badd Mon Sep 17 00:00:00 2001 From: Alex Assistant Date: Thu, 19 Feb 2026 17:42:10 +0300 Subject: [PATCH] Update README with sorting, admin flow, covers and cache-busting --- README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 9e0b37f..474148b 100644 --- a/README.md +++ b/README.md @@ -13,15 +13,16 @@ ```text photo-gallery/ ├─ index.php # основной скрипт: индексация + HTML -├─ style.css # стили (material-like, строгий) -├─ app.js # лайтбокс -├─ deploy.php # webhook-триггер деплоя -├─ admin.php # закрытая админка (папки + загрузка фото) -├─ deploy-config.php.example # пример конфига webhook -├─ photos/ # исходные фото по категориям (папкам) -├─ thumbs/ # автогенерируемые превью +├─ style.css # стили (material-like, строгий) +├─ app.js # лайтбокс + защита от простого скачивания +├─ deploy.php # webhook-триггер деплоя +├─ admin.php # закрытая админка (папки/фото/сортировка) +├─ deploy-config.php.example # пример конфига webhook +├─ photos/ # исходные фото по категориям (папкам) +├─ thumbs/ # автогенерируемые превью └─ data/ - └─ last_indexed.txt # timestamp последней индексации + ├─ last_indexed.txt # timestamp последней индексации + └─ sort.json # порядок категорий и фото ``` ## Как работает индексация @@ -37,6 +38,8 @@ photo-gallery/ Индексация выполняется **на каждом обращении к `index.php`**. +Также на публичной странице категории показываются с обложкой (берётся превью первой фотографии по текущей сортировке). + ## Требования - PHP 8.2+ (8.3 тоже ок) @@ -117,6 +120,8 @@ https://<домен>/admin.php?token=<твой_секрет> - максимум 3 МБ на файл, - MIME-тип и расширение проверяются на сервере. +Загрузка новых фото выполняется в секции выбранной категории (чтобы нельзя было загрузить в неправильную папку). + ## Удалённый запуск деплоя по ссылке (webhook) 1. На хостинге создай конфиг из примера: @@ -142,4 +147,5 @@ https://<домен>/deploy.php?token=<твой_секрет> - Превью генерируются в формате JPEG с качеством ~82. - При первом заходе на большую папку возможно небольшое ожидание (генерация превью). +- CSS/JS подключаются с cache-busting параметром `?v=`, чтобы после деплоя пользователю не приходилось чистить кеш вручную. - Для production обычно лучше вынести индексацию в cron/очередь, но для текущей задачи это intentionally on-request.