DiscoverLessWrong (30+ Karma)“Clipboard Normalization” by jefftk
“Clipboard Normalization” by jefftk

“Clipboard Normalization” by jefftk

Update: 2025-12-25
Share

Description



The world is divided into plain text and rich text, but this is often
not what I want. I want comfortable text:






  • Yes: Lists, links, blockquotes, code blocks, inline code, bold,
    italics, underlining, headings, simple tables.

  • No: Colors, fonts, text sizing, text alignment, images, line
    spacing.







Let's say I want to send someone a snippet from a blog
post. If I paste this into my email client the font family, font
size, blockquote styling, and link styling come along:









If I do Cmd+Shift+V and paste without formatting, I get no styling at
all:









I can deal with losing the blockquote formatting, but losing the links
is a pain.





What I want is essentially the subset of HTML that can be represented
in Markdown. So I automated
this! I made a Mac command that pulls HTML from the clipboard,
passes it through pandoc twice (HTML
to Github-flavored markdown to HTML), and puts it back on the
clipboard. I also packaged it up as a status-bar app:









You can run it by clicking on the icon, or invoking the script:



$ normalize-clipboard




[...]

---


First published:

December 25th, 2025



Source:

https://www.lesswrong.com/posts/GLBRarCLpq7XwhxFi/clipboard-normalization


---


Narrated by TYPE III AUDIO.


---

Images from the article:

Email draft about far-UV technology and Aerolamp product availability.
Gmail compose window draft about far-UV lamp availability and pricing changes.
Android status bar showing time Thursday December 25, <a onclick=8:35 AM." src="https://res.cloudinary.com/lesswrong-2-0/image/upload/f_auto,q_auto/v1/mirroredImages/GLBRarCLpq7XwhxFi/xuhv3ntgi2b8wvukhl7w" />
Gmail compose window with draft email about far-UV lamp availability and pricing.
Gmail compose window draft discussing far-UV lamps and Aerolamp product availability.

Apple Podcasts and Spotify do not show images in the episode description. Try Pocket Casts, or another podcast app.

Comments 
loading
In Channel
loading
00:00
00:00
1.0x

0.5x

0.8x

1.0x

1.25x

1.5x

2.0x

3.0x

Sleep Timer

Off

End of Episode

5 Minutes

10 Minutes

15 Minutes

30 Minutes

45 Minutes

60 Minutes

120 Minutes

“Clipboard Normalization” by jefftk

“Clipboard Normalization” by jefftk