Last active
March 27, 2023 18:34
-
-
Save rolandcrosby/c26571bf4e263f695d2f to your computer and use it in GitHub Desktop.
Convert rich text on the clipboard to Markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
if encoded=`osascript -e 'the clipboard as «class HTML»'` 2>/dev/null; then echo $encoded | perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))' | pandoc --no-wrap -f HTML -t markdown; else; pbpaste; fi | |
# for my .vimrc: | |
# command PasteMarkdown :read !if encoded=`osascript -e 'the clipboard as «class HTML»'` 2>/dev/null; then echo $encoded | perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))' | pandoc --no-wrap -f HTML -t markdown; else; pbpaste; fi | |
# nnoremap ,pmd :PasteMarkdown<CR> |
I see that in bash as well. I think I was using ZSH at the time I wrote this, where this syntax seems to work. Also pandoc changed its arguments and seems to prefer --wrap=none
instead of --no-wrap
now.
Also pandoc changed its arguments and seems to prefer --wrap=none instead of --no-wrap now.
Yes. I also made the change to that after seeing the error message.
Thanks again for sharing. I spent hours and hours searching for a solution and yours is the only one that worked for me.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi, thanks for sharing.
I tried the code. It returned an error initially. I removed the
;
afterelse
, and it worked great.