Links to academic papers in emails and on websites often point to the PDF of the paper. However, on sites like arXiv, I'd much rather be pointed to the HTML page. The index page is quick to load, and has meta-data not available in the PDF, such as the version history. I've given up trying to ask people not to deep-link to PDFs, and have instead written a browser extension to do what I want.
This browser extension redirects links to PDFs on ACM, arXiv, JMLR, NIPS, OpenReview and PMLR to an HTML index page, unless you clicked on the link from the hosting site. Examples:
- ACM: this pdf link redirects to this webpage
- arXiv: this pdf link redirects to this webpage
- JMLR: this pdf link redirects to this webpage
- NIPS: this pdf link redirects to this webpage
- OpenReview: this pdf link redirects to this webpage
- PMLR: this pdf link redirects to this webpage
I've given the extension a fairly generic name. The redirect rules are stored in a list at the top of the code, and can easily be added to. However, making this list updatable within the extension has been punted to future work.
If you just want to use the extension as it is, get it from one of the official addon sites:
- arxiv-url-replacer a different Chrome extension for arXiv, with a GUI. Edits links in pages, instead of intercepting requests. A similar approach could be taken using TamperMonkey, which would immediately work in multiple browsers. It can be tricky to catch all links though.
If you want to add to the redirect rules, you currently have to edit the source code. To run the extension from the source:
-
Firefox: go to
about:debugging
and click "Load Temporary Add-on". Select either of the files in thesrc
directory. See Mozilla's WebExtensions documentation for more details. -
Chrome: go to
chrome://extensions
check developer mode, click load unpacked extension and select thesrc
directory. See Chrome's extension development getting started guide for more details. I've found the Chrome documentation and API harder to work with than Firefox's. Also the Chrome webstore makes you pay to register as a developer and is less responsive, which is a turn-off for casual development.
The code is written as a WebExtension, originally for Firefox. It works nearly as well from the same code in Chrome. It could probably be made to work in some other browsers, perhaps with some tweaking. But not by me.