Сделайте демонстрацию из трёх файлов
demo/
offers.csv # две вымышленные карточки
generate.py # локально создаёт docs/index.html
docs/index.html # публичный статический результат
В таблице оставьте slug, название и краткое описание. Для генератора используйте стандартный CSV-парсер, который читает кавычки, а данные экранируйте перед вставкой в HTML. Если в названии встречается знак меньше, он должен отобразиться текстом, а не стать разметкой. Не помещайте в публичные файлы токены, реальные заявки, приватные цены и рабочие выгрузки.
Проверьте, что генератор всегда создаёт один и тот же HTML из одного файла. Для сортировки используйте стабильный порядок строк. Если карточка пустая или ID повторяется, лучше остановить генерацию с понятной ошибкой, чем опубликовать неполный список.
Опубликуйте статический результат
В инструкции по GitHub Pages проверьте допустимый источник публикации. Для простой демонстрации выберите ветку и папку /docs, если ваш репозиторий использует публикацию из ветки. В этой папке должен лежать index.html. Для CSS и изображений используйте относительные пути: у сайта проекта адрес может содержать имя репозитория, поэтому путь от корня домена не всегда указывает на нужную папку.
Не добавляйте реальные партнёрские кнопки в учебную версию. Для демонстрации достаточно пометки «пример карточки» и описания будущего перехода. Коммерческий вариант можно собрать тем же генератором и выложить на подходящий хостинг с собственным доменом и проверенными правилами.
Проверьте публикацию и перенос
Откройте адрес сайта из настроек Pages. Сверьте обе карточки и мобильный вид. Измените одну строку, пересоберите HTML и убедитесь, что после публикации меняется только её описание. Если CSS пропал, проверьте путь в сетевом журнале и имя файла. Если показывается старый список, проверьте выбранную ветку, папку и статус выкладки. Для рабочего проекта добавьте контроль ответов сервера, метаданные и проверку ссылок до смены публичной версии.
Перед переносом на рабочий хостинг замените учебные строки проверенными карточками только в предназначенном для этого окружении. Сначала проверьте пути и собственные адреса страниц. Затем добавьте реальные ссылки через разрешённый инструмент сети, а тестовые файлы оставьте отдельным проектом. Это упрощает проверку и исключает случайное смешение данных.