Skip to content

Make internal links relative - #227

Merged
tillkamppeter merged 2 commits into
OpenPrinting:masterfrom
hissamshar:master
Aug 12, 2026
Merged

Make internal links relative#227
tillkamppeter merged 2 commits into
OpenPrinting:masterfrom
hissamshar:master

Conversation

@hissamshar

Copy link
Copy Markdown
Contributor

Replaces absolute https://openprinting.github.io/... links with root-relative
/... paths so the site is easier to relocate and survives GitHub Pages
structure changes.

Fixes #208

Changes

  • Converted https://openprinting.github.io/... -> /... across 68 content files under contents/**.
  • Collapsed repeated internal class="urlextern" ... rel="nofollow" anchors (9 files) into plain <a href="/...">.

Left absolute (intentional)

  • config/site.config.ts destinations.cups and the footer "CUPS" link — these point to the sibling cups site and are used as a redirect() target; making them relative would self-loop.
  • https://github.com/OpenPrinting/openprinting.github.io/... — GitHub repo links (external).
  • README.md — rendered on GitHub and includes wget examples that need absolute URLs.
  • website-is-up.md prose mention and backtick mentions — plain text, not links.

Validation

  • yarn lint : no warnings or errors
  • yarn build : succeeds (static export, search index, legacy redirect stubs)
  • No generated-file churn (public/search/static-index.json unchanged).

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
Copilot AI lite review requested due to automatic review settings August 12, 2026 18:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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), ...
Comment thread contents/gsoc/2025/Qt-Print-Dialog.md Outdated
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
tillkamppeter merged commit f6a5626 into OpenPrinting:master Aug 12, 2026
0 of 2 checks passed
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.

Make internal links relative

3 participants