GitHub Pages publishes the whole repo: dev files and stray Jekyll pages

Abierto Apto para principiantes
#75 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
github
Área
devops

Línea de trabajo

El problema es que la compilación de GitHub Pages publica todos los archivos rastreados. Empieza en la raíz del repositorio, donde iría un _config.yml, y revisa sw.js para ver la lista de archivos que necesita el juego antes de excluir nada. Lee la sección Deployment de README.md y confirma que index.html es la única página que debe servirse. Está terminado cuando las rutas de los criterios de aceptación (package.json, tests/unit/ai.test.js, README.md, CHANGELOG.html) devuelven 404 en el sitio en vivo, el juego y cada archivo de sw.js siguen devolviendo 200 y el juego sigue funcionando sin conexión.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement good first issue severity: low

Summary

GitHub Pages builds the site from the root of main with Jekyll, so every tracked file is published, not only the game. Dev files are served, and each Markdown file becomes an unlinked, GitHub-themed page titled "Static_Chess" that search engines can index next to the game.

Where

  • Pages settings: source main / (root), legacy (Jekyll) build
  • No _config.yml and no .nojekyll in the repository root
  • index.html:1 (the only page that is meant to be the site)

Details

Checked on the live site at 0144de7. All of these return 200:

URL path What it is
/package.json, /package-lock.json (203 KB), /eslint.config.mjs dev tooling
/tests/unit/ai.test.js, /tests/helpers/load-game.js (and the rest of tests/) test suite
/README.md, /CHANGELOG.md, /docs/ARCHITECTURE.md raw Markdown
/CHANGELOG.html, /docs/ARCHITECTURE.html, /docs/ROADMAP.html, /docs/RELEASE.html, /releases/, /releases/RELEASE_NOTES_v0.1.0.html, /releases/RELEASE_NOTES_v0.2.0.html, /releases/RELEASE_GUIDE_v0.1.0.html Jekyll-rendered pages

The rendered pages use GitHub's default theme, not the game's styles. Their heading is the repository name Static_Chess, their <title> ends in | Static_Chess, and each one requests /Static_Chess/favicon.ico, which is a 404. Nothing on the game page links to them.

Nothing sensitive is exposed: the repository is public and these files are the same ones visible on GitHub.

Impact

  • Search engines can index eight off-brand pages and the raw Markdown as part of the site.
  • Every push to main runs a Jekyll build over files that are not part of the game.
  • Anything added to the repository later is published automatically, whether or not it was meant to be.

Steps to reproduce

  1. Open https://tmhsdigital.github.io/Static_Chess/CHANGELOG.html.
  2. Open https://tmhsdigital.github.io/Static_Chess/package-lock.json.

Suggested fix

Smallest change: add a _config.yml at the repository root that excludes everything that is not the game, for example:

exclude:
  - README.md
  - CHANGELOG.md
  - docs
  - releases
  - tests
  - package.json
  - package-lock.json
  - eslint.config.mjs

Alternative: deploy with a GitHub Actions workflow that uploads only index.html, css/, js/, assets/, manifest.webmanifest and sw.js, and switch the Pages source to "GitHub Actions". This is more work and needs a settings change by a maintainer, but it publishes an explicit list instead of an exclusion list.

Acceptance criteria

  • /package.json, /package-lock.json, /tests/unit/ai.test.js, /README.md and /CHANGELOG.html return 404 on the live site
  • The game at / and every file listed in sw.js still return 200
  • The game still installs and opens offline

Getting started

  • Relevant files: index.html, sw.js (the list of files the game needs), README.md (Deployment section)
  • How to run tests: npm test, npm run lint, npm run format
  • Related docs: GitHub Pages documentation on configuring Jekyll and on custom workflows

Filed by repo-audit/pages-audit at 0144de7. Severity: low. Effort: S. audit-key: enhancement|index.html|pages-published-files

Lenguaje dominante
JavaScript
Estrellas
4
Forks
2
Merge medio
4 h 8 min
PR fusionados (30 d)
1

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de TMHSDigital/Static_Chess

Todos los issues de TMHSDigital/Static_Chess

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.