Hi Terry,

Apparently the Debian version of the xclip program (.deb file from their 
repositories) is different from the Ubuntu version (gleaned from a 
Stackexchange conversation). When I run the string on an image copied in 
GIMP, it returns an error message, "Error: target text/html not available".

The way to tell if you have the right version or not is to type "man xclip" 
and see if -t is an option. If it is not, you need to remove xclip and hunt 
down the Debian version.

Chris
.
On Monday, December 28, 2015 at 8:01:37 AM UTC-8, Terry Brown wrote:
>
> On Sun, 27 Dec 2015 19:33:24 -0800 (PST) 
> Chris George <[email protected] <javascript:>> wrote: 
>
> > Hello All, 
> > 
> > Some time ago I asked Terry about being able to copy rich text from a 
> > browser window and paste rst. I was pointed to a solution that uses 
> > xclip and pandoc and have been using it since by running it in a 
> > command window and copy/pasting the output into Leo. This worked as I 
> > only needed to do this on rare occasions. I recently switched over to 
> > using markdown and the command line to make this happen works just 
> > great. I find myself using this capability more and more often though. 
> > 
> > xclip -o -selection clipboard -t text/html | pandoc -r html -w 
> > markdown 
>
> > My question is: How do I automate this in Leo? It would be nice to be 
> > able to have this command run on all pastes (Ctrl-v) that have a 
> > markdown file as a destination, with plain text as a fallback if the 
> > clipboard provides something that isn't text/html. 
>
> "all pastes (Ctrl-v) that have a markdown file as a destination" would 
> require a bit more thought.  Here's a simple(*) solution you could 
> deploy as a @button, just stick it in a node called `@button h2m`, 
> reload or click the script-button button the first time (it will appear 
> automatically on reloads). 
>
> --- cut here --- 
> from subprocess import Popen, PIPE 
> from leo.core.leoQt import QtGui 
>
> clipboard = QtGui.QApplication.clipboard() 
> html = unicode(clipboard.text("html")) 
>
> if html: 
>     cmd = "pandoc -r html -w markdown".split() 
>     proc = Popen(cmd, stdout=PIPE, stdin=PIPE) 
>     markdown, errors = proc.communicate(html.encode("utf-8")) 
>     i = c.frame.body.wrapper.getInsertPoint() 
>     c.frame.body.wrapper.insert(i, markdown) 
> else: 
>     g.es("No HTML to convert") 
> --- cut here --- 
>
> For my setup I get a lot of extra chatter in the markdown, like 
> <span class="Apple-converted-space">Â </span> 
> but maybe there are pandoc settings to stop that. 
>
> (*) ok, this seemed simple, but wasn't.   
>   xclip -o -selection clipboard -t text/html 
> returns nothing when executed in the shell when there's no html on the 
> clipboard, but when execute from Popen without html, it never returns. 
> Hence using Qt to access the clipboard, with related encoding issues. 
>
> Cheers -Terry 
>
> > The usual disclaimer about me not being a programmer applies. I use 
> > Leo to write, not code. 
> > 
> > Chris 
>

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to