|
| 1 | +--- |
| 2 | +title: "OpenPrinting News - The New OpenPrinting Website" |
| 3 | +layout: single |
| 4 | +toc: true |
| 5 | +toc_sticky: true |
| 6 | +author: Rudra |
| 7 | +excerpt: "We rebuilt the OpenPrinting website from the ground up — a fast, fully static Next.js site. Here is how it works, who built it, and how you can help by testing it." |
| 8 | +date: '2026-06-07' |
| 9 | +teaser_image: /rotation_pantone.jpg |
| 10 | +--- |
| 11 | + |
| 12 | +<img src="/rotation_pantone.jpg" alt="The new OpenPrinting website" style="width:100%;height:auto;border-radius:12px;border:1px solid rgba(127,127,127,0.2)" /> |
| 13 | + |
| 14 | +We are excited to share that the OpenPrinting website has been **rebuilt from the ground up**. The old Jekyll site has been replaced by a modern, fully static site that is faster, easier to contribute to, and now hosts the printer/driver database lookup directly on the site. |
| 15 | + |
| 16 | +This post explains the new architecture, credits the people who built it, and invites you to try it out and report anything that looks off. |
| 17 | + |
| 18 | +## What's new at a glance |
| 19 | + |
| 20 | +- **Printer & driver database, on-site** — browse [printers](/foomatic/printers) and [drivers](/foomatic/drivers) directly here. |
| 21 | +- **Site-wide search** — press the search button in the header to search posts, docs, projects, printers and drivers. |
| 22 | +- **Sponsors & supporters** — see who supports OpenPrinting on the [Sponsors](/sponsors) page. |
| 23 | +- **Opportunity Open Source** — our annual FOSS conference in India now has a [home page](/opportunity-open-source). |
| 24 | +- **Light / dark / system theme**, a responsive design, comments on posts, and an [RSS feed](/feed.xml). |
| 25 | + |
| 26 | +## A new architecture |
| 27 | + |
| 28 | +The guiding idea was simple: **everything is generated at build time, and the deployed site is 100% static** — no application server, no database, and no runtime backend. That makes it cheap to host on GitHub Pages, fast for visitors, and robust. |
| 29 | + |
| 30 | +The main pieces: |
| 31 | + |
| 32 | +- **Next.js (App Router) with static export.** The whole site is pre-rendered to static HTML/JS and served from GitHub Pages. There is nothing to run on the server. |
| 33 | +- **Content as Markdown.** All pages, news posts, project descriptions and documentation live as Markdown files in the repository. Contributors only have to learn one single format to add or edit content — no templating or code required. |
| 34 | +- **A reusable author system.** Posts reference an author, and the matching profile (avatar, role, and social links such as Mastodon and LinkedIn) is rendered automatically. |
| 35 | +- **The Foomatic printer/driver database, on-site.** The printer and driver lookup is generated at build time from the upstream `foomatic-db` data: the XML is converted to JSON, and a page is statically generated for every printer and every driver. Browse printers at **/foomatic/printers** and drivers at **/foomatic/drivers**, with the original `/printer/show/...` and `/driver/...` URLs preserved via redirects so old links keep working. |
| 36 | +- **Client-side search.** A search index is built at compile time and shipped as a static file, so the search box works entirely in the browser across posts, documentation, projects, pages, printers and drivers — again, no server needed. |
| 37 | +- **Comments via Giscus.** Discussion on posts is powered by GitHub Discussions, so there is no third-party comment service to maintain. |
| 38 | +- **Theming and design.** A light/dark/system theme toggle and a clean, responsive design built with Tailwind CSS. |
| 39 | +- **RSS, sitemap and SEO.** A build-time RSS feed, a generated sitemap covering all pages (including every printer and driver), canonical URLs and Open Graph metadata. |
| 40 | +- **Continuous deployment.** Every change is built and published to GitHub Pages automatically. |
| 41 | + |
| 42 | +The result is a site that is reproducible (the same input always produces the same output), easy to extend, and pleasant to contribute to. |
| 43 | + |
| 44 | +## Thanks to the contributors |
| 45 | + |
| 46 | +This rebuild was a team effort by the OpenPrinting contributor community. Huge thanks to everyone who made it happen: |
| 47 | + |
| 48 | +<p> |
| 49 | + <img src="https://github.com/gativarshney.png?size=120" alt="Gati Varshney" width="56" height="56" style="border-radius:9999px;display:inline-block;vertical-align:middle;margin:0 0.6rem 0 0" /> |
| 50 | + <strong>Gati Varshney (<a href="https://github.com/gativarshney">@gativarshney</a>)</strong> — the reusable author component, migrating all of the existing posts from the old Jekyll site into the new setup, the homepage, the build-time client-side search system, automatic redirects for renamed posts, publication dates on articles, author avatars on the news boxes, the light-theme hero banner, and the Google Season of Docs page. |
| 51 | +</p> |
| 52 | + |
| 53 | +<p> |
| 54 | + <img src="https://github.com/sam-shubham.png?size=120" alt="@sam-shubham" width="56" height="56" style="border-radius:9999px;display:inline-block;vertical-align:middle;margin:0 0.6rem 0 0" /> |
| 55 | + <strong><a href="https://github.com/sam-shubham">@sam-shubham</a></strong> — the Google Summer of Code experience (year and project pages), teaser-image support for posts and pages, the production base-path fix for images, and the title-escaping fix for post metadata and the search index. |
| 56 | +</p> |
| 57 | + |
| 58 | +<p> |
| 59 | + <img src="https://github.com/harshvns.png?size=120" alt="@harshvns" width="56" height="56" style="border-radius:9999px;display:inline-block;vertical-align:middle;margin:0 0.6rem 0 0" /> |
| 60 | + <strong><a href="https://github.com/harshvns">@harshvns</a></strong> — extending the search index to cover documentation, projects and pages. |
| 61 | +</p> |
| 62 | + |
| 63 | +<p> |
| 64 | + <img src="https://github.com/ishpreet404.png?size=120" alt="@ishpreet404" width="56" height="56" style="border-radius:9999px;display:inline-block;vertical-align:middle;margin:0 0.6rem 0 0" /> |
| 65 | + <strong><a href="https://github.com/ishpreet404">@ishpreet404</a></strong> — fixing missing routes, assets and data inconsistencies, and improving blog navigation. |
| 66 | +</p> |
| 67 | + |
| 68 | +<p> |
| 69 | + <img src="https://github.com/rudra-iitm.png?size=120" alt="Rudra Pratap Singh" width="56" height="56" style="border-radius:9999px;display:inline-block;vertical-align:middle;margin:0 0.6rem 0 0" /> |
| 70 | + <strong>Rudra Pratap Singh (<a href="https://github.com/rudra-iitm">@rudra-iitm</a>)</strong> — as the <strong>core mentor</strong> of this website rebuild, I guided and coordinated the contributors throughout the project. I also worked on the overall UI revamp, the light/dark/system theme toggle, replacing the old comment system with Giscus, the portable static-deployment configuration, hard-refresh internal navigation, the on-site Foomatic printer/driver lookup migration, the sponsors/supporters section, and the Opportunity Open Source page. |
| 71 | +</p> |
| 72 | + |
| 73 | +Additional improvements — including the smart 404 page with trailing-slash handling for GitHub Pages and the RSS 2.0 feed — were contributed along the way as well. |
| 74 | + |
| 75 | +If you contributed and are not mentioned here, please reach out — we want to make sure everyone gets credit. |
| 76 | + |
| 77 | +## Please help us test it |
| 78 | + |
| 79 | +The new site is live, and we would love your help making it rock-solid. |
| 80 | + |
| 81 | +**You are very welcome to explore the site and report any bugs you find.** Things that are especially useful to check: |
| 82 | + |
| 83 | +- Broken links, missing pages, or content that does not look right |
| 84 | +- Printer and driver pages in the database lookup |
| 85 | +- Search results |
| 86 | +- Light and dark mode, and the layout on mobile devices |
| 87 | + |
| 88 | +If you spot a problem, please open an issue on our GitHub repository at [OpenPrinting/openprinting.github.io](https://github.com/OpenPrinting/openprinting.github.io/issues) with a short description and, if possible, the page URL and a screenshot. Bug reports, suggestions and contributions are all very welcome. |
| 89 | + |
| 90 | +Thank you for helping make printing — and now the OpenPrinting website — just work! |
0 commit comments