Page MenuHomePhabricator

Remove "printable" mode
Open, MediumPublic

Description

Following its deprecation in T167956 we will seek to remove it at some point in future.

Acceptance criteria

Event Timeline

How do I quickly get an HTML page with the external links spelled out, if this is removed? I need an URL of one to give an external program to download.

@AVRS It would help if you could add more detail to paint the bigger picture - Why do you want to see it, what question does it help answer or what workflow does it help you with? Thanks.

@Krinkle I am using an Incremental Reading add-on for Anki. There is no way to copy the URL from Anki (it is not really intended for incremental reading), so either I have to use search-and-replace, or download a pre-generated version.

@Krinkle I am using an Incremental Reading add-on for Anki. There is no way to copy the URL from Anki (it is not really intended for incremental reading), so either I have to use search-and-replace, or download a pre-generated version.

Okay, so you're looking for a way to click something in the browser, then get a page where you can "Select all" the whole page as plain text, copy it, and paste it elsewhere in a way that external reference URLs are preserved as text, to browse later. Is that right?

That could potentially be developed as a gadget or browser plugin, and would require only one line of CSS code in that gadget. If that would work, I'd be happy to develop that for you.

/* Expand URLs for printing (T259141) */
.mw-parser-output a.external.text:after, .mw-parser-output a.external.autonumber:after { content: ' (' attr( href ) ')'; }

Or just print to pdf and copy it from the pdf

printable=yes should remain/exist as a workable option for testing how print styles would look if someone decides to print the page. (Currently, it does not work that way.) It is a very frustrating developer experience to not be able to debug print styles without continuously looking at print() browser dialog. printable=yes should exist as that debugging option.

FYI: You can use the inspector and just switch to print mode in all major browsers now.

That’s still more actions than 1) opening printable=yes page with Ctrl+click / in a new tab, 2) changing the erroneous template, 3) reloading printable=yes page. But true, I guess.

printable=yes should remain/exist as a workable option for testing how print styles would look if someone decides to print the page.

My understanding was printable=yes predates media queries?

Today given our massive use of media queries, I'm not sure how such a page would work without creating infrastructure to convert our stylesheets in that mode from print to screen and massively overhauling every stylesheets so that we don't use inline queries. That's a lot of development, maintenance and asking people to write CSS in unorthodox non-standard ways.

It could work by modifying print-related styles either with JS in browser or server-side and including default print-related styles like .noprint class etc. That would require some development, but not a lot of development.

I linked mw:Help:Printing to this ticket. It was already mentioned that this feature was deprecated but there was an info like "It appears a warning box". I also specified that it the future it will be removed.

Krinkle renamed this task from Remove printableversion mode to Remove "printable" mode.Aug 28 2026, 5:36 AM

The printable version has deteriorated a lot over the past year. https://en.wikipedia.org/w/index.php?title=The_All-Story_Magazine&printable=yes

Logged outLogged in
Screenshot 2026-08-28 at 00.33.32.png (2,698×1,703 px, 1 MB)
Screenshot 2026-08-28 at 00.34.08.png (2,839×1,703 px, 1 MB)

I'll write a patch to remove what's left of it. My main reason for it is

https://gerrit.wikimedia.org/r/c/mediawiki/core/+/1319141

One question will be what to do with the link itself, given we'd ideally not introduce a FOUC, and not introducing a FOUC means the link has to have a default non-JS target, or be visible only with JS enabled. One option would be to link to action=render. Another option would be to move the javascript:print() target to core, and use client-nojs or client-js to control visibility.

Krinkle triaged this task as Medium priority.

I was going to create a new task about removing the printable mode link from a special page that has nothing to print. I believe there is no need for this now, it will be removed anyway?