Hi Terry,

When I copy from a web page, I get some strange characters. I have attached 
an image. This sentence, copied from a webpage in Chrome, renders the 
following in Leo when I run the script.

In fact, it’s not just okay–it’s inevitable. 

<https://lh3.googleusercontent.com/-UdKr8wJYgLY/VoFiclUua9I/AAAAAAAAGVI/G0xYfhIRhPs/s1600/Slide42.png>

Here is what I get when I copy/paste from Leo to the google groups editor.


In fact, it’s not just okay–it’s inevitable.


What are the encoding issues with Qt and how do I fix it?


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