diff --git a/.github/workflows/deploy-pages.yml b/.github/workflows/deploy-pages.yml index f7f391b..ec38ac7 100644 --- a/.github/workflows/deploy-pages.yml +++ b/.github/workflows/deploy-pages.yml @@ -8,28 +8,52 @@ jobs: build-and-deploy: runs-on: ubuntu-latest steps: - - name: Checkout repository + - name: Checkout repository (main) uses: actions/checkout@v4 + # --- дополнительный checkout ветки gh-pages в подпапку gh-pages --- + - name: Checkout gh-pages branch (read-only copy) + uses: actions/checkout@v4 + with: + ref: gh-pages + path: gh-pages + fetch-depth: 0 + - name: Prepare site run: | set -e rm -rf site mkdir -p site - # Копируем docs (включая скрытые файлы) в корень site + # Если в текущей ветке есть docs/ — используем его (удобно, если позже перенесёте в main) if [ -d "docs" ]; then + echo "Using docs/ from current branch" cp -a docs/. site/ + fi + + # Если в gh-pages есть docs/ — используем приоритетно (ваш случай сейчас) + if [ -d "gh-pages/docs" ]; then + echo "Using docs/ from gh-pages branch" + cp -a gh-pages/docs/. site/ else - echo "Warning: docs/ directory not found in repository." + echo "Warning: gh-pages/docs not found" fi - # Копируем content в site/content, не трогая исходный content/ + # Копируем content (если есть) в site/content if [ -d "content" ]; then mkdir -p site/content cp -a content/. site/content/ + elif [ -d "gh-pages/content" ]; then + mkdir -p site/content + cp -a gh-pages/content/. site/content/ else - echo "Warning: content/ directory not found in repository." + echo "Warning: content/ not found in either branch" + fi + + # Отключаем Jekyll и добавляем SPA fallback (404) + touch site/.nojekyll + if [ -f "site/index.html" ]; then + cp site/index.html site/404.html || true fi - name: Show site contents (for debug) @@ -38,6 +62,8 @@ jobs: ls -la echo "Docs (repo):" ls -la docs || true + echo "Docs (gh-pages):" + ls -la gh-pages/docs || true echo "Content (repo):" ls -la content || true echo "Site (to be published):" diff --git a/docs/404.html b/docs/404.html new file mode 100644 index 0000000..d0c5304 --- /dev/null +++ b/docs/404.html @@ -0,0 +1,27 @@ + + +
+ + +