Skip to content

Remove trailing slashes and update redirected Ultralytics URLs - #33

Merged
pderrenger merged 1 commit into
mainfrom
no-trailing-slash-urls
Aug 20, 2026
Merged

Remove trailing slashes and update redirected Ultralytics URLs#33
pderrenger merged 1 commit into
mainfrom
no-trailing-slash-urls

Conversation

@pderrenger

@pderrenger pderrenger commented Aug 20, 2026

Copy link
Copy Markdown
Member

Canonicalizes Ultralytics links to their slash-free form and refreshes one redirected external link.

Trailing slashes (6 removed across 4 files)

Every ultralytics.com / *.ultralytics.com URL that ended in a terminating path slash now drops it. Only slashes terminating a path were touched — path separators, URL-encoded params, and non-Ultralytics hosts are untouched.

File Before After
README.md https://www.ultralytics.com/ (logo link) https://www.ultralytics.com
README.md https://community.ultralytics.com/ (Forums badge target) https://community.ultralytics.com
README.md https://www.ultralytics.com/). (website sentence) https://www.ultralytics.com).
thirdparty/altmany-export_fig-cafc7c5/README.md https://www.ultralytics.com/ (logo link) https://www.ultralytics.com
.github/ISSUE_TEMPLATE/bug-report.yml https://docs.ultralytics.com/help/minimum-reproducible-example/ .../minimum-reproducible-example
.github/ISSUE_TEMPLATE/config.yml https://community.ultralytics.com/ https://community.ultralytics.com

All six slash-free targets were verified to return HTTP 200 with no redirect hop.

Deliberately left alone:

  • The 318 https://ultralytics.com/license headers — already slash-free, and written by Ultralytics Actions.
  • The Forums badge image parameter server=https%3A%2F%2Fcommunity.ultralytics.com — URL-encoded and must stay byte-identical for shields.io.
  • https://ultralytics.com/discord and https://ultralytics.com/bilibili — vanity shortlinks with no terminating slash.

Redirect refresh (1 accepted, 5 rejected)

Accepted:

  • http://www.ghostscript.comhttps://www.ghostscript.com in thirdparty/altmany-export_fig-cafc7c5/README.md — a permanent 301 HTTP→HTTPS upgrade (the server-added trailing slash was dropped to match the repo's canonical form).

Rejected after review:

  • https://reddit.com/r/ultralyticshttps://www.reddit.com/r/ultralytics/ — host/slash canonicalization only, not a content move; this is the standard Ultralytics README badge target used across repositories.
  • https://github.com/altmany/export_fig/archive/master.ziphttps://codeload.github.com/... — a temporary (302) archive-serving hop, not a durable link.
  • https://www.cia.gov/library/publications/the-world-factbook/fields/2070.html → a "farewell" story page — the cited page is gone, not relocated.
  • http://www.cartotalk.comhttps://nacis.org/ — a defunct site collapsing onto a different organization's homepage.
  • http://www.naturalearthdata.com/updates/.../updates/mail.cgi — a handler append, not a content move.

Scope notes

  • mapping/ne_10m_*/*.README.html are archived snapshots of the Natural Earth website shipped alongside the shapefiles (they contain the site's WordPress login, admin, and forum links). They are historical third-party records, so their ~100 stale links were left untouched rather than rewritten.
  • The vendored export_fig MATLAB sources were also left untouched; their URLs sit inside fprintf console-hyperlink strings in code pinned to upstream commit cafc7c5.

Flagged for follow-up (no code change)

  • http://www.foolabs.com/xpdf in thirdparty/altmany-export_fig-cafc7c5/export_fig.m returns 404 — dead, and the site has no working replacement at that path.
  • http://www.xpdfreader.com in thirdparty/altmany-export_fig-cafc7c5/README.md cannot be upgraded to HTTPS — the host fails TLS negotiation, so the HTTP form is intentionally retained.
  • http://www.vliz.be/vmdcdata/marbound. (Natural Earth README) collapses to the marineregions.org homepage — a dead deep link needing a human-chosen replacement.

Validation

  • Regex fixer exercised against positive and negative cases first (subdomains, protocol-relative, bare host, fragment/query, sentence-final punctuation, backtick and markdown delimiters; negatives covering github.com/ultralytics/..., look-alike hosts, URL-encoded params, {placeholder} templates, and /... ellipses).
  • Re-scanned the tree afterwards: zero Ultralytics URLs retain a terminating slash.
  • prettier@3.8.5 --print-width 120 --check clean on all changed files; all changed YAML parses.
  • The diff is URL text only — no MATLAB source or binary assets were modified.

🛠️ PR Summary

Made with ❤️ by Ultralytics Actions

🌟 Summary

Canonicalized six Ultralytics URLs by removing trailing slashes and updated the Ghostscript link to HTTPS without changing MATLAB code or assets.

📊 Key Changes

  • Updated website and Community Forum links in the main and vendored README.md files to their slash-free canonical forms.
  • Updated the minimum reproducible example link in .github/ISSUE_TEMPLATE/bug-report.yml.
  • Updated the Community Forum contact link in .github/ISSUE_TEMPLATE/config.yml.
  • Changed the Ghostscript dependency link in thirdparty/altmany-export_fig-cafc7c5/README.md from HTTP to HTTPS.
  • Left archived third-party links, vendored MATLAB sources, URL-encoded parameters, and reviewed non-durable redirects unchanged.

🎯 Purpose & Impact

  • README navigation and issue-template contact links now use canonical URLs, while the Ghostscript documentation link uses HTTPS.
  • No MATLAB runtime or source behavior changed; the diff contains URL text updates only.

@UltralyticsAssistant UltralyticsAssistant added the documentation Improvements or additions to documentation label Aug 20, 2026
@UltralyticsAssistant

Copy link
Copy Markdown
Member

👋 Hello @pderrenger, thank you for submitting a ultralytics/functions-matlab 🚀 PR! This automated message confirms your contribution was received, and an Ultralytics engineer will assist with the review. To ensure a seamless integration of your work, please review the following checklist:

  • Define a Purpose: Clearly explain the purpose of your fix or feature in your PR description, and link to any relevant issues. Ensure your commit messages are clear, concise, and adhere to the project's conventions.
  • Synchronize with Source: Confirm your PR is synchronized with the ultralytics/functions-matlab main branch. If it's behind, update it by clicking the 'Update branch' button or by running git pull and git merge main locally.
  • Ensure CI Checks Pass: Verify all Ultralytics Continuous Integration (CI) checks are passing. If any checks fail, please address the issues.
  • Update Documentation: Update the relevant documentation for any new or modified features.
  • Add Tests: If applicable, include or update tests to cover your changes, and confirm that all tests are passing.
  • Sign the CLA: Please ensure you have signed our Contributor License Agreement if this is your first Ultralytics PR by writing "I have read the CLA Document and I sign the CLA" in a new message.
  • Minimize Changes: Limit your changes to the minimum necessary for your bug fix or feature addition. "It is not daily increase but daily decrease, hack away the unessential. The closer to the source, the less wastage there is." — Bruce Lee

For more guidance, please refer to our Contributing Guide. Don't hesitate to leave a comment if you have any questions. Thank you for contributing to Ultralytics! 🚀

@UltralyticsAssistant UltralyticsAssistant left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🔍 PR Review

Made with ❤️ by Ultralytics Actions

Reviewed all four changed files and the 14-line URL-only diff. The changes preserve link targets and surrounding Markdown/YAML behavior while removing the specified trailing slashes and upgrading the Ghostscript link to HTTPS. LGTM.

@pderrenger
pderrenger merged commit 81a813e into main Aug 20, 2026
5 checks passed
@pderrenger
pderrenger deleted the no-trailing-slash-urls branch August 20, 2026 19:37
@UltralyticsAssistant

Copy link
Copy Markdown
Member

🎉 PR #33 has been merged! Thank you, @pderrenger, for the careful cleanup.

“Alone we can do so little; together we can do so much.” — Helen Keller

This contribution canonicalizes Ultralytics URLs, upgrades the Ghostscript link to HTTPS, and keeps MATLAB code and assets unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants