Skip to content

Hide the I/O Puzzle 2025 project from project listings - #3

Merged
emscape merged 2 commits into
mainfrom
fix/hide-io-puzzle-project
Nov 5, 2026
Merged

emscape merged 2 commits into
mainfrom
fix/hide-io-puzzle-project

Conversation

@emscape

@emscape emscape commented Nov 5, 2026

Copy link
Copy Markdown
Owner

Summary

The I/O Puzzle 2025 project card linked to emilysueanderson.com/io-puzzle-2025-solutions. That domain now belongs to someone else, so the card sent visitors to an unrelated site.

  • prepareProjects() in js/project-loader.js now drops projects marked "hidden": true before sorting and limiting, so the home page still shows three cards.
  • The io-puzzle-2025 entry in projects/projects-data.json is marked hidden. Its data is kept, so removing the flag brings the card back.
  • Removed the /projects/io-puzzle-2025/ sitemap entry, which pointed at a folder that doesn't exist.
  • The "Solving I/O Puzzles 2025" blog post is unchanged; it doesn't link to the old domain.

Testing

  • New tests/project-loader.test.js:
    • hidden projects are left out on the projects page and the home page
    • the home page still fills three slots
    • projects with hidden false or absent still appear
    • no displayed project links to emilysueanderson.com
  • npm test (115 passing) and npm run blog:validate pass.
  • Checked on a local server: the card is gone from the projects page, and the home page still shows three projects.

WHY:
- The project's live link pointed at emilysueanderson.com, a domain
  that now belongs to someone else, so the card linked to an
  unrelated site.
- Its images and the sitemap's /projects/io-puzzle-2025/ URL point at
  a folder that does not exist.

EXPECTED:
- prepareProjects() drops projects with "hidden": true before sorting
  and limiting, so the home page still fills all three slots.
- io-puzzle-2025 is marked hidden; its data is kept for restoring.
- The dead /projects/io-puzzle-2025/ sitemap entry is removed.
- tests/project-loader.test.js passes: hidden projects omitted on both
  pages, visible projects kept, and no displayed project links to
  emilysueanderson.com.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The indexing script still includes the hidden project in generated search URLs, leaving an active moderate issue that must be fixed.

1 open issue
What changed in this PR

This pull request hides the obsolete I/O Puzzle 2025 project from rendered project listings while preserving its data, removes its stale sitemap entry, and adds regression tests.

Changes:

  • Filter projects marked hidden: true before sorting and limiting displayed projects.
  • Mark the I/O Puzzle 2025 project as hidden.
  • Remove the nonexistent project URL and image entry from the sitemap.
  • Add coverage for hidden projects, homepage capacity, visible projects, and stale links.

The indexing script still generates URLs for hidden projects, including the removed I/O Puzzle 2025 path. This pull request requires changes.

File Description
tests/​project-loader.test.js Adds regression coverage for hidden-project handling and displayed project links.
sitemap.xml Removes the obsolete I/O Puzzle project URL and image entry.
projects/​projects-data.json Marks the I/O Puzzle 2025 project as hidden.
js/​project-loader.js Excludes hidden projects before display ordering and limits are applied.

Review effort: Lite

Comment thread projects/projects-data.json Resolved
WHY:
- getProjectUrls() mapped every projects-data.json entry to a URL, so
  --projects/--all still submitted the hidden io-puzzle-2025 page to
  the Google Indexing API.
- Loading the script ran main(), which submits URLs, so it could not
  be tested without calling the API.

EXPECTED:
- projectUrls() drops entries with "hidden": true, matching
  js/project-loader.js.
- main() runs only when the script is executed directly.
- tests/index-all-content.test.js passes: hidden projects are skipped,
  visible ones kept, and io-puzzle-2025 is not submitted.
- `--projects --dry-run` lists 3 URLs, none for io-puzzle-2025.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues remain for the change, with hidden-project handling, sitemap cleanup, and regression coverage addressed.

1 open issue

Review effort: Lite

@emscape
emscape merged commit 77a671b into main Nov 5, 2026
4 checks passed
@emscape
emscape deleted the fix/hide-io-puzzle-project branch November 5, 2026 02:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants