Terminal Reader Mode with Pandoc and Less
The other day Aosheng send me an article to read from the verge. When I tried to read it, it took about 5 minutes to load because of the 15 various JavaScript things that were running in addition to ads loading in the background. Firefox was unhappy, and even when I tried to turn on “Reader View” (which strips out all of the junk) it took another minute to load. I’ve been on a UNIX binge lately so I figured there had to be a clever hack to make my own reader view in a terminal. This is where pandoc comes to the rescue. I’ve written about this tool in the past discussing how to easily convert Markdown to PDF. It turns out that pandoc also supports arbitrary URL arguments which means that you can convert HTML files on the fly without having to download them first. This means that we can take an arbitrary URL, pass it into pandoc, and spit out plain text. Furthermore, we can pipe this into less to get a nice pager for longer documents. The full string is shown below:
pandoc -f html -t plain https://www.theverge.com/2017/5/4/15547314/edward-snowden-cory-doctorow-nypl-talk-walkaway | less
-f specifies the input filetype, in this case HTML. -t specifies the conversion filetype, in this case plain text. Pandoc supports a ton of different formats, you can read the man pagefor more info.
The next logical step is to make a script like my wordpress mutt posterto make this even easier. You could make a simple program called readerand put it in /usr/local/bin/reader. The contents of this script are:
1 2 3 4 5 6 |
#!/bin/bash # Terminal Reader Mode using Pandoc and Less |
reader $URL.
Thank you for reading! Share your thoughts with me on bluesky, mastodon, or via email.
Check out some more stuff to read down below.
Most popular posts this month
- Great Lakes, Illinois
- My Custom Miniflux CSS Theme
- SQLite DB Migrations with PRAGMA user_version
- Ladybird on Debian Stable
- Are we inside a Sarlacc?
Recent Favorite Blog Posts
This is a collection of the last 8 posts that I bookmarked.
- Clicks Communicator from Chris Hannah
- A Year Of Vibes from Armin Ronacher's Thoughts and Writings
- Pluralistic: A perfect distillation of the social uselessness of finance (18 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- Moving from WordPress to Substack from charity.wtf
- Grow, Like a Tree Not a Cancer from Jim Nielsen’s Blog
- Pluralistic: All the books I reviewed in 2025 (02 Dec 2025) from Pluralistic: Daily links from Cory Doctorow
- DEP-18: A proposal for Git-based collaboration in Debian from Optimized by Otto
- [RIDGELINE] No Phones in The Ten-don Shop from Craig Mod — Writer + Photographer
Articles from blogs I follow around the net
6,000 curl stickers
I am heading to FOSDEM again at the end of January. I go there every year and I have learned that there is a really sticker-happy audience there. The last few times I have been there, I have given away several thousands of curl stickers. As I realized I d…
via daniel.haxx.se January 6, 2026Pluralistic: Code is a liability (not an asset) (06 Jan 2026)
Today's links Code is a liability (not an asset): AI psychosis, tech boss edition. Hey look at this: Delights to delectate. Object permanence: Coldplay CD DRM; Star Wars Wars; Digital manorialism vs neofeudalism; Transvaginal foetal sonic bombardment:…
via Pluralistic: Daily links from Cory Doctorow January 6, 2026KVM migration from intel to AMD fails with missing cmp_legacy feature (+ solution)
Context I'm running a virtualisation lab environment, with four Intel-based CPUs (i5-6500) and one AMD Ryzen 3 PRO 2200GE. When migrating virtual machines from one of the Intel hosts to the AMD host, the migration would fail with the following error: er…
via Louwrentius January 6, 2026Generated by openring