Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Aug 12, 2025

This PR addresses the request to check all links in the repository and identify any broken ones.

What was done

I created a comprehensive link analysis system that scans all markdown, HTML, and configuration files in the repository to extract and validate links. The analysis found:

  • 26 files scanned (markdown, HTML, YAML)
  • 215 external links across 60+ domains including YouTube, GitHub, Washington Post, iTunes, Google Play Store
  • 1 internal link found
  • 1 broken internal link identified

Broken link found

The analysis identified one broken internal link:

  • File: _includes/howto.md (line 93)
  • Broken link: news.html
  • Context: Referenced as "will automatically be displayed on the news page"
  • Issue: The news.html file does not exist in the repository

Files added

  1. broken_links_report.md - Human-readable comprehensive report with findings and recommendations
  2. link_analysis_report.json - Machine-readable detailed inventory of all links found
  3. comprehensive_link_analyzer.py - Python script for future link checking (can be run with python3 comprehensive_link_analyzer.py)

External link testing limitation

External links could not be automatically tested due to network restrictions in the analysis environment. However, all external links have been catalogued by domain, and most major sites (YouTube, GitHub, Apple, Google Play) are typically reliable.

Recommendation

The broken internal link should be fixed by either:

  1. Creating a news.html file, or
  2. Updating the reference in _includes/howto.md to point to an existing page

Fixes #49.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • api-all-the-x.18f.gov
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • creativecommons.org
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • daringfireball.net
    • Triggering command: python3 link_checker.py (dns block)
  • docs.google.com
    • Triggering command: python3 link_checker.py (dns block)
  • eclipse.aas.org
    • Triggering command: python3 link_checker.py (dns block)
  • eclipse.gsfc.nasa.gov
    • Triggering command: python3 link_checker.py (dns block)
  • eclipse2017.nasa.gov
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • eclipse2017.org
    • Triggering command: python3 link_checker.py (dns block)
  • en.wikipedia.org
    • Triggering command: python3 link_checker.py (dns block)
  • espnfivethirtyeight.files.wordpress.com
    • Triggering command: python3 link_checker.py (dns block)
  • fivethirtyeight.com
    • Triggering command: python3 link_checker.py (dns block)
  • fnd.io
    • Triggering command: python3 link_checker.py (dns block)
  • gbinal.github.com
    • Triggering command: python3 link_checker.py (dns block)
  • geekwagon.net
    • Triggering command: python3 link_checker.py (dns block)
  • graybrooks.com
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • help.github.com
    • Triggering command: python3 link_checker.py (dns block)
  • hoonite.com
    • Triggering command: python3 link_checker.py (dns block)
  • img.washingtonpost.com
    • Triggering command: python3 link_checker.py (dns block)
  • itunes.apple.com
    • Triggering command: python3 link_checker.py (dns block)
  • jekyllrb.com
    • Triggering command: python3 link_checker.py (dns block)
  • lifehacker.com
    • Triggering command: python3 link_checker.py (dns block)
  • live.washingtonpost.com
    • Triggering command: python3 link_checker.py (dns block)
  • nationaleclipse.com
    • Triggering command: python3 link_checker.py (dns block)
  • pages.github.com
    • Triggering command: python3 link_checker.py (dns block)
  • play.google.com
    • Triggering command: python3 link_checker.py (dns block)
  • projects.fivethirtyeight.com
    • Triggering command: python3 link_checker.py (dns block)
  • prose.io
    • Triggering command: python3 link_checker.py (dns block)
  • s-media-cache-ak0.pinimg.com
    • Triggering command: python3 link_checker.py (dns block)
  • search.al.com
    • Triggering command: python3 link_checker.py (dns block)
  • smile.amazon.com
    • Triggering command: python3 link_checker.py (dns block)
  • smswithmolly.us13.list-manage1.com
    • Triggering command: python3 link_checker.py (dns block)
  • static1.squarespace.com
    • Triggering command: python3 link_checker.py (dns block)
  • support.google.com
    • Triggering command: python3 link_checker.py (dns block)
  • thewirecutter.com
    • Triggering command: python3 link_checker.py (dns block)
  • toyland.gizmodo.com
    • Triggering command: python3 link_checker.py (dns block)
  • what-if.xkcd.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.alexaskillstore.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.amazon.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.bigkidscience.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.buzzfeed.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.cnet.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.dispatch.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.eclipse2017.org
    • Triggering command: python3 link_checker.py (dns block)
  • www.explainxkcd.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.github.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.graybrooks.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.greatamericaneclipse.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.greenbot.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.hillaryclinton.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.hulu.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.jauntvr.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.meetup.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.nbc.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.ncei.noaa.gov
    • Triggering command: python3 link_checker.py (dns block)
  • www.npr.org
    • Triggering command: python3 link_checker.py (dns block)
  • www.politico.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.popularmechanics.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.sfgate.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.shellypalmer.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.theguardian.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.thisamericanlife.org
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • www.timeanddate.com
    • Triggering command: python3 verify_links.py (dns block)
  • www.uidaho.edu
    • Triggering command: python3 link_checker.py (dns block)
  • www.unofficialcardboard.com
    • Triggering command: python3 link_checker.py (dns block)
  • www.vox.com
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • www.washingtonpost.com
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • www.youtube.com
    • Triggering command: python3 link_checker.py (dns block)
    • Triggering command: python3 verify_links.py (dns block)
  • xkcd-map.rent-a-geek.de
    • Triggering command: python3 link_checker.py (dns block)
  • xkcd.com
    • Triggering command: python3 link_checker.py (dns block)
  • your_username.github.io
    • Triggering command: python3 link_checker.py (dns block)
  • youtu.be
    • Triggering command: python3 link_checker.py (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

Co-authored-by: gbinal <633088+gbinal@users.noreply.github.com>
Copilot AI changed the title [WIP] Find broken links Add comprehensive link analysis and broken link detection for repository Aug 12, 2025
Copilot AI requested a review from gbinal August 12, 2025 17:13
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.

Find broken links

2 participants