📟 Пуш своего сайта от А до Я UPDATED

Разворачиваем статический сайт на pages.git-kovcheg. Без CI, без боли — только Git и немного магии. Теперь с поддержкой ассетов (картинки, стили, скрипты) 🎉
🆕 Добавлено: Обновлена документация.
====================================================================================================================================== Реально круто бегущая строка ====================================================================================================================================== :-)
[Гайд] Минимальные требования к публикации
Публичный профиль Ваш профиль на Forgejo должен быть публичным.
Публичный репозиторий Создайте публичный репозиторий с точным именем: pages.
Структура в репо Есть два варианта:
  • Вариант 1 (с подпапкой): Внутри pages создайте папку с названием сайта и положите в неё минимум index.html. Пример доступа: https://pages.git-kovcheg.duckdns.org/{ВашUsername}/{Папка}
  • Вариант 2 (корневой сайт): Если положить index.html прямо в корень репозитория, сайт будет доступен по адресу: https://pages.git-kovcheg.duckdns.org/{ВашUsername}
Картинки, стили и скрипты можно хранить рядом с index.html или в подпапках (например, assets/).
[HowTo] Публикуем сайт шаг за шагом
1. Создайте репозиторий На Forgejo создайте публичный pages.
Адрес будет вида: https://pages.git-kovcheg.duckdns.org/<ВашUsername>/pages
2. Локально подготовьте файлы
mkdir -p pages/my-cool-site/assets
cd pages
echo "<link rel="stylesheet" href="https://pages.git-kovcheg.duckdns.org/{ВашUsername}/my-cool-site/assets/styles.css"><h1>Hello PagesHub!</h1><img src="https://pages.git-kovcheg.duckdns.org/{ВашUsername}/my-cool-site/asset.jpg" alt="pic">" > my-cool-site/index.html
echo "h1{font-family:system-ui,sans-serif}" > my-cool-site/assets/styles.css
# можно положить файл рядом с index.html:
echo "fake" > my-cool-site/asset.jpg
                
3. Инициализация и пуш
git init
git remote add origin https://pages.git-kovcheg.duckdns.org/<ВашUsername>/pages.git
git add .
git commit -m "Initial commit: my cool site with assets"
git branch -M main
git push -u origin main
                
4. Откройте ссылку После автоматической загрузки сайт будет доступен по адресу:
https://pages.git-kovcheg.duckdns.org/<ВашUsername>/my-cool-site

Если вы разместили index.html прямо в корне репозитория — используйте адрес: https://pages.git-kovcheg.duckdns.org/<ВашUsername>

🆕 Новая фича: ассеты (картинки, CSS, JS, и т.п.)

Ассеты отдаются по абсолютным ссылкам. Относительные пути в HTML не работают, потому что у сервера нет классической файловой системы для резолва.

  • Файл рядом с index.html:
    https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/logo.png
  • Файл в подпапке (например, assets/styles.css):
    https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/assets/styles.css

Подключение в разметке — только полные URL, например:

<link rel="stylesheet" href="https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/assets/main.css">
<img src="https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/logo.png" alt="logo">
<script src="https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/assets/app.js" defer></script>
        
🌐 Корневой сайт

Если вы хотите, чтобы ваш сайт открывался прямо по адресу https://pages.git-kovcheg.duckdns.org/{ВашUsername}, то положите index.html и все файлы сразу в корень репозитория pages.

Пример структуры:

pages/
 ├─ index.html
 ├─ style.css
 └─ assets/
     └─ logo.png
        

Важно: если в корне лежит сайт, а также папки с другими сайтами, то корневой сайт откроется по прямому адресу, а папки будут доступны по ссылкам вида: https://pages.git-kovcheg.duckdns.org/{ВашUsername}/{Папка}.

[FAQ] Частые вопросы / Траблшутинг
Сайт не открывается Проверьте:
  • Профиль публичный.
  • Репозиторий называется pages и он публичный.
  • Внутри есть index.html — либо в корне репо, либо в папке.
  • Подождали автоматическую загрузку (процесс идёт каждые 5 минут).
  • Путь в адресной строке совпадает с названием папки (если сайт не в корне).
Переходы внутри сайта Если хотите, чтобы по клику на ссылки открывались разные страницы:
  • Создавайте отдельные папки с собственным index.html.
  • Либо используйте хэш-ссылки #, чтобы всё оставалось в одном файле.

Важно: по умолчанию сервер автоматически открывает index.html в указанной папке. Если хотите открыть другой HTML-файл, нужно указать его имя явно в URL.
Пример:
https://pages.git-kovcheg.duckdns.org/Username/blog/post.html

Стили и картинки Ассеты доступны только по абсолютным URL — относительные пути не работают.
  • Формула URL: https://pages.git-kovcheg.duckdns.org/{Username}/{SiteFolder}/<путь_к_файлу>
  • Пример (рядом с index.html): .../{Username}/{SiteFolder}/logo.png
  • Пример (в подпапке): .../{Username}/{SiteFolder}/assets/styles.css
  • Подключение в <head>: <link rel="stylesheet" href=".../{Username}/{SiteFolder}/styles.css">
  • JS по ссылке: <script src=".../{Username}/{SiteFolder}/assets/app.js" defer></script>
  • Отладка: проверьте в DevTools → Network, что ссылка возвращает 200 и правильный Content-Type.