jekyll / github-metadata

Jekyll plugin to propagate the `site.github` namespace and set default values for use with GitHub Pages.
https://jekyll.github.io/github-metadata/
MIT License
278 stars 125 forks source link

Ignore HTTP 451 errors "Repository access blocked" when retrieving metadata #282

Open olbat opened 5 months ago

olbat commented 5 months ago

GitHub returns 451 errors when trying to access any repository & forks that has been taken down for legal reason (e.g. DMCA Takedown).

Repositories in this situation are being frozen. Its not possible to access to their settings anymore and therefore not possible to delete them. Even through GitHub REST API. The only option to delete them is to open a ticket for GitHub support, which is likely to never be touched, for free accounts.

In case any one of your repositories or forks gets taken down for such reason, using the jekyll-github-metadata plugin becomes impossible as the HTTP client fails as follow:

Liquid Exception: GET https://api.github.com/repos/USER/REPO/releases?per_page=100: 451 - Repository access blocked in _pages/page.md
rake aborted!

Octokit::UnavailableForLegalReasons: GET https://api.github.com/repos/USER/REPO/releases?per_page=100: 451 - Repository access blocked (Octokit::UnavailableForLegalReasons)

This change unblocks accounts in this situation and makes the Octokit::UnavailableForLegalReasons exception being ignored if it's encountered while retrieving repositories' metadata.

helmiau commented 3 months ago

this is important and need to be merged, i facing this problem too