Fix two broken documentation links - #187
Merged
Merged
Conversation
Found by crawling every external URL in the built docs site and the repo; Docusaurus only validates internal links, so neither of these was caught by the build. 1. README license badge pointed at blob/master/LICENSE.txt -> 404. The default branch is main, and the file is LICENSE with no extension. Now blob/main/LICENSE (verified 200). 2. sylvana.net/jpegcrop/exif_orientation.html no longer resolves at all (connection failure, not a 404 - the host is gone). It is cited for the exif_orientation field in three source docstrings and the two generated docs pages built from them. Replaced with the Wayback snapshot, which preserves the original page rather than substituting a different source. The archive URL uses the /web/2026/ short form and sits on its own line in the Python docstrings, so no new E501 violations are introduced against the project's configured max-line-length of 100 (count stays at the pre-existing 1). The generated .md files are edited alongside the docstrings they come from, so the committed docs match until the next scripts/documentation.py run regenerates them. Not changed, having been checked and found to be false positives: - /stargazers returns 404 to unauthenticated clients for every repo, including facebook/react - GitHub blocks it, the link is fine - graph.mapillary.com/:image_id and similar are API endpoint examples containing placeholders, auto-linkified because they appear as bare URLs in docstrings - the 'Table Of Contents.md' edit link resolves once URL-encoded, which is how Docusaurus emits it
Merged
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.
Found by crawling every external URL in the built docs site and the repo — 139 distinct URLs checked. Docusaurus only validates internal links, so neither of these was caught by the build.
1. README license badge → 404
Two problems: the default branch is
main, notmaster, and the file isLICENSEwith no extension. This is the target of theMIT Licensebadge at the top of the README, so it is fairly visible.2.
sylvana.net/jpegcrop/exif_orientation.htmlis goneNot a 404 — the host does not resolve at all (connection failure). It is cited for the
exif_orientationfield in three source docstrings and the two generated docs pages built from them.Replaced with the Wayback snapshot rather than substituting a different source, so the reference still points at the page the docstring was actually written about.
The URL sits on its own line in the Python docstrings so no new
E501violations are introduced against the configuredmax-line-length = 100— the count stays at the pre-existing 1.The generated
.mdfiles are edited alongside the docstrings they derive from, so the committed docs stay consistent until the nextscripts/documentation.pyrun.Checked and deliberately not changed
Three things looked broken and are not:
/stargazers→ 404. GitHub returns 404 to unauthenticated clients for every repo — I confirmedfacebook/react/stargazersandmapillary/mapillary_tools/stargazersbehave identically. The link is fine.graph.mapillary.com/:image_id,/image_ids?sequence_id=XXX, etc. These are API endpoint examples with placeholders, auto-linkified because they appear as bare URLs in docstrings. The 400/500 responses are the API rejecting:image_idas an ID, which is expected..../docs/docs/Table Of Contents.mdedit link. Resolves 200 once URL-encoded, which is how Docusaurus emits it; my extractor split it on the space.Test plan
flake8 src/mapillary --select=E9,F63,F7,F82— 0flake8 --select=E501— 1, unchanged frommainpytest— 17 passedIndependent of #186; touches no dependency.