Make internal links relative - #227
Merged
Merged
Conversation
Replace absolute https://openprinting.github.io/... links with root-relative /... paths across content. This makes the site easier to relocate and more resilient to GitHub Pages structure changes. Closes OpenPrinting#208
There was a problem hiding this comment.
Pull request overview
This PR updates the site’s Markdown content corpus (contents/**) to eliminate hardcoded https://openprinting.github.io/... internal URLs by switching to root-relative paths (/...), aligning with Issue #208 and making internal navigation less tied to a specific origin.
Changes:
- Replaced
https://openprinting.github.io/...internal links with/...across content files. - Simplified some internal HTML anchors by dropping external-link-only attributes/classes (e.g.,
urlextern,rel="nofollow"). - Kept intentionally-external destinations (e.g., GitHub links, OpenPrinting.org links) as absolute URLs.
Reviewed changes
Copilot reviewed 68 out of 68 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| contents/projects/00-cups.md | Converts CUPS “Home Page” link to root-relative. |
| contents/post/OpenPrinting-News-Sovereign-Tech-Agency-is-investing-in-OpenPrinting.md | Converts an internal post link to root-relative. |
| contents/post/OpenPrinting-News-September-2023.md | Converts an internal release link to root-relative. |
| contents/post/OpenPrinting-News-September-2022.md | Converts an internal achievements anchor link to root-relative. |
| contents/post/OpenPrinting-News-September-2021.md | Converts internal news/news index links to root-relative. |
| contents/post/OpenPrinting-News-September-2020.md | Converts an internal news anchor link to root-relative. |
| contents/post/OpenPrinting-News-October-2023.md | Converts an internal achievements anchor link to root-relative. |
| contents/post/OpenPrinting-News-October-2020.md | Converts multiple internal news/news index links to root-relative. |
| contents/post/OpenPrinting-News-November-2020.md | Converts internal documentation/news links to root-relative. |
| contents/post/OpenPrinting-News-May-2024.md | Converts internal news anchor links to root-relative. |
| contents/post/OpenPrinting-News-May-2021.md | Converts an internal news anchor link to root-relative. |
| contents/post/OpenPrinting-News-March-2022.md | Converts multiple internal links (home/printers/news anchors) to root-relative. |
| contents/post/OpenPrinting-News-March-2021.md | Converts internal CUPS/news links to root-relative. |
| contents/post/OpenPrinting-News-June-2024.md | Converts an internal HOWTO link to root-relative. |
| contents/post/OpenPrinting-News-June-2022.md | Converts multiple internal news anchor links to root-relative. |
| contents/post/OpenPrinting-News-June-2021.md | Converts an internal CUPS-doc link to root-relative. |
| contents/post/OpenPrinting-News-June-2020.md | Converts an internal “last month” link to root-relative. |
| contents/post/OpenPrinting-News-July-2024.md | Converts an internal printers link to root-relative. |
| contents/post/OpenPrinting-News-July-2021.md | Converts an internal news anchor link to root-relative. |
| contents/post/OpenPrinting-News-January-2023.md | Converts an internal release link to root-relative. |
| contents/post/OpenPrinting-News-January-2022.md | Converts multiple internal news/news index links to root-relative. |
| contents/post/OpenPrinting-News-January-2021.md | Converts an internal news anchor link to root-relative. |
| contents/post/OpenPrinting-News-Google-Summer-of-Code-2026-All-contributors-did-a-great-start.md | Converts an internal announcement link to root-relative. |
| contents/post/OpenPrinting-News-Flash-OpenPrinting-and-Ubuntu-on-the-Linux-App-Summit-2022.md | Converts multiple internal links (news anchors) to root-relative. |
| contents/post/OpenPrinting-News-February-2023.md | Converts internal links (history/releases) to root-relative. |
| contents/post/OpenPrinting-News-February-2022.md | Converts multiple internal references to root-relative. |
| contents/post/OpenPrinting-News-February-2021.md | Converts internal CUPS/news links to root-relative. |
| contents/post/OpenPrinting-News-December-2022.md | Converts internal links to root-relative in “Ubuntu Summit” section. |
| contents/post/OpenPrinting-News-December-2021.md | Converts internal roadmap/news anchor link to root-relative. |
| contents/post/OpenPrinting-News-December-2020.md | Converts internal documentation links to root-relative. |
| contents/post/OpenPrinting-News-December-2019.md | Converts an internal news article link to root-relative. |
| contents/post/OpenPrinting-News-August-2022.md | Converts internal achievements/news anchor links to root-relative. |
| contents/post/OpenPrinting-News-August-2020.md | Converts internal topic/news links to root-relative. |
| contents/post/OpenPrinting-News-April-2022.md | Converts multiple internal news anchor links to root-relative. |
| contents/post/OpenPrinting-News-April-2021.md | Converts internal news anchor link to root-relative. |
| contents/post/OpenPrinting-News-April-2020.md | Converts an internal news anchor link to root-relative. |
| contents/post/OpenPrinting-Microconference-on-Linux-Plumbers-Conference-2020.md | Converts internal microconference/topic links to root-relative. |
| contents/post/OpenPrinting-Live-in-the-Ubuntu-Office-Hours.md | Converts an internal news anchor link to root-relative. |
| contents/post/cups-filters-Second-Generation-Second-Beta-Release.md | Converts internal achievements anchor link to root-relative. |
| contents/post/cups-filters-Second-Generation-Release-Candidate-2.md | Converts internal news anchor links to root-relative. |
| contents/pages/lfmp2020.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/pages/gsod2020.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/pages/databaseintro.md | Converts an internal projects link to root-relative. |
| contents/pages/current.md | Converts internal CUPS-doc link to root-relative. |
| contents/pages/contribute-website.md | Converts internal home link to root-relative. |
| contents/pages/achievements.md | Converts internal CUPS home link to root-relative. |
| contents/gsoc/gsoc2026.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2025.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2024.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2023.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2022.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2021.md | Converts an internal news anchor link to root-relative; simplifies <a> markup. |
| contents/gsoc/gsoc2020.md | Converts internal news anchor links to root-relative; simplifies <a> markup. |
| contents/gsoc/2026/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md | Converts internal news anchor link to root-relative. |
| contents/gsoc/2026/AI-Driven-Printer-Compatibility-and-Recommendation-Portal-data-intelligence-ml-pipeline.md | Converts internal printers link to root-relative. |
| contents/gsoc/2025/Utilizing-OSS-Fuzz-Gen-to-improve-fuzz-testing-for-OpenPrinting-projects.md | Converts internal vulnerability-post link to root-relative. |
| contents/gsoc/2025/System-Fuzz-Testing-of-Printing-Protocols.md | Converts internal CUPS spec link to root-relative. |
| contents/gsoc/2025/Qt-Print-Dialog.md | Converts internal achievements anchor link to root-relative. |
| contents/gsoc/2025/Port-pyCUPS-to-CUPS-3-x-API-apply-the-new-pyCUPS-to-system-config-printer.md | Converts internal CUPS 3.x page link to root-relative. |
| contents/gsoc/2025/Port-CUPS-and-Printer-Applications-to-Zephyr.md | Converts internal CUPS links to root-relative. |
| contents/gsoc/2025/Image-output-evaluation-for-testing-of-print-scan-job-processing.md | Converts internal news anchor link to root-relative. |
| contents/gsoc/2025/Extend-PDFio-to-be-a-PDF-renderer-displayer.md | Converts internal CUPS link to root-relative. |
| contents/gsoc/2025/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md | Converts internal news anchor link to root-relative. |
| contents/gsoc/2024/Replace-QPDF-by-PDFio-as-PDF-manipulation-library-in-libcupsfilters.md | Converts internal CUPS link to root-relative. |
| contents/gsoc/2024/CI-Testing-programs-for-libpappl-retrofit-and-libppd.md | Converts internal news anchor link to root-relative. |
| contents/gsoc/2023/CI-Testing-programs-for-libcupsfilters-libpappl-retrofit-libppd-CPDB-etc-.md | Converts internal news anchor link to root-relative. |
| contents/gsoc/2022/GUI-for-discovering-non-driverless-printers-and-finding-suitable-Printer-Applications-for-them.md | Converts internal news anchor link to root-relative. |
| contents/documentation/02-designing-printer-drivers.md | Converts internal driverless link to root-relative. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| --- | ||
| ## Google Summer of Code 2020 | ||
| On June 1st the coding period of this year's Google Summer of Code has started! All the 7 students (announced here [last month](https://openprinting.github.io/OpenPrinting-News-May-2020/)) have prepared themselves and even partially started with the coding (and first code pieces being comitted to the project's repositories) and now they will all work on their projects. Some of the students are currently getting printers from us to test their work. | ||
| On June 1st the coding period of this year's Google Summer of Code has started! All the 7 students (announced here [last month](/OpenPrinting-News-May-2020/)) have prepared themselves and even partially started with the coding (and first code pieces being comitted to the project's repositories) and now they will all work on their projects. Some of the students are currently getting printers from us to test their work. |
| We are currently looking for project ideas for next year's Google Summer of Code. | ||
|
|
||
| As mentioned [last month](https://openprinting.github.io/OpenPrinting-News-October-2020/#google-summer-of-code-2021) student projects will only be half the timr (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. | ||
| As mentioned [last month](/OpenPrinting-News-October-2020/#google-summer-of-code-2021) student projects will only be half the timr (6 weeks). Google tells that this will probably attract more students, but for us it is a much higher workload as we have to find the double amount of students and get the double amount of students introduced and up to speed to get the same work done. |
| Piyush also reported his successful conclusion of GSoD on [LinkedIn](https://www.linkedin.com/feed/update/urn%3Ali%3Aactivity%3A6742723576908038144/) and thanked his mentors and others on OpenPrinting who helped him. | ||
|
|
||
| Only part not completed is the [section about Scanning](https://openprinting.github.io/documentation/03-designing-scanner-drivers/) as the implementation os scanning support in PAPPL is still work in progress. | ||
| Only part not completed is the [section about Scanning](/documentation/03-designing-scanner-drivers/) as the implementation os scanning support in PAPPL is still work in progress. |
| There I will give a [talk](https://conf.linuxappsummit.org/event/4/contributions/106/) about the **New Architecture of printing and scanning and what is important for developers of desktop applications**. | ||
|
|
||
| I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](https://openprinting.github.io/OpenPrinting-News-February-2022/#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](https://openprinting.github.io/OpenPrinting-News-February-2022/#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), snaboxed/distribution-independent packaging, like [Snap](https://openprinting.github.io/OpenPrinting-News-March-2022/#how-to-snap-an-application), [Flatpak](https://openprinting.github.io/OpenPrinting-News-March-2022/#flatpak-and-printing), ... | ||
| I will give a summary of the changes and tell what needs to be changed in the desktop world, the [new printer setup tool](/OpenPrinting-News-February-2022/#gui-printer-setup-tool-and-print-dialog---essential-for-user-experience), [print dialog requirements](/OpenPrinting-News-February-2022/#the-print-dialogs) and [CPDB](https://nilanjanalodh.github.io/common-print-dialog-gsoc17/), snaboxed/distribution-independent packaging, like [Snap](/OpenPrinting-News-March-2022/#how-to-snap-an-application), [Flatpak](/OpenPrinting-News-March-2022/#flatpak-and-printing), ... |
| Now, after the internals of the dialog being up-to-date (Support for the [Common Print Dialog Backends](https://openprinting.github.io/achievements/#common-print-dialog-backends) added in [GSoC 2022](https://github.com/TinyTrebuchet/gsoc22/)) we need to make the user interface of the Qt print dialog cute. | ||
| Now, after the internals of the dialog being up-to-date (Support for the [Common Print Dialog Backends](/achievements/#common-print-dialog-backends) added in [GSoC 2022](https://github.com/TinyTrebuchet/gsoc22/)) we need to make the user interface of the Qt print dialog cute. | ||
|
|
||
| The modernization should at least be a UI similar to the one of the GTK print dioalog. This should not require any extensions of the API between the print dialog and the applications and so the new dialog can replace the old one without modifications on existing applications needed. |
| We have applied again for the Linux Foundation as mentoring organization, as in the previous years, for the [Google Summer of Code](https://summerofcode.withgoogle.com/). The accepted organizations will be announced by Google on Tue, March 9, 2021 ([Timeline](https://developers.google.com/open-source/gsoc/timeline)). | ||
|
|
||
| OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](https://openprinting.github.io/OpenPrinting-News-October-2020/#google-summer-of-code-2021). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. | ||
| OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020/#google-summer-of-code-2021). Larger projects we should run in the Linux Foundation Mentoring Program instead of in the GSoC. |
| The time window for the mentoring organizations to [apply](https://summerofcode.withgoogle.com/) has opened and the deadline is Feb 19, 2021 ([Timeline](https://developers.google.com/open-source/gsoc/timeline)). We are applying again for the Linux Foundation as mentoring organization, as in the previous years, OpenPrinting being one of the sub groups. | ||
|
|
||
| OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](https://openprinting.github.io/OpenPrinting-News-October-2020/#google-summer-of-code-2021). Larger projects we should run in the under the Linux Foundation Mentoring Program instead of GSoC. | ||
| OpenPrinting's project ideas are [posted](https://wiki.linuxfoundation.org/gsoc/google-summer-code-2021-openprinting-projects), but further ideas are still welcome. Note that the projects are half-length this year, 175 hours instead of 350 hours (see our [October news](/OpenPrinting-News-October-2020/#google-summer-of-code-2021). Larger projects we should run in the under the Linux Foundation Mentoring Program instead of GSoC. |
comitted -> committed, timr -> time, os -> of, snaboxed -> sandboxed, dioalog -> dialog, and add missing closing parenthesis.
tillkamppeter
approved these changes
Aug 12, 2026
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.
Replaces absolute
https://openprinting.github.io/...links with root-relative/...paths so the site is easier to relocate and survives GitHub Pagesstructure changes.
Fixes #208
Changes
https://openprinting.github.io/...->/...across 68 content files undercontents/**.class="urlextern" ... rel="nofollow"anchors (9 files) into plain<a href="/...">.Left absolute (intentional)
config/site.config.tsdestinations.cupsand the footer "CUPS" link — these point to the siblingcupssite and are used as aredirect()target; making them relative would self-loop.https://github.com/OpenPrinting/openprinting.github.io/...— GitHub repo links (external).README.md— rendered on GitHub and includeswgetexamples that need absolute URLs.website-is-up.mdprose mention and backtick mentions — plain text, not links.Validation
yarn lint: no warnings or errorsyarn build: succeeds (static export, search index, legacy redirect stubs)public/search/static-index.jsonunchanged).