Repository navigation
Hide the I/O Puzzle 2025 project from project listings - #3
Merged
Merged
Conversation
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.
There was a problem hiding this comment.
🟡 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: truebefore 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
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

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()injs/project-loader.jsnow drops projects marked"hidden": truebefore sorting and limiting, so the home page still shows three cards.io-puzzle-2025entry inprojects/projects-data.jsonis marked hidden. Its data is kept, so removing the flag brings the card back./projects/io-puzzle-2025/sitemap entry, which pointed at a folder that doesn't exist.Testing
tests/project-loader.test.js:hiddenfalse or absent still appearemilysueanderson.comnpm test(115 passing) andnpm run blog:validatepass.