emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* org-protocol in windows and Acrobat Reader
@ 2012-03-15 20:16 d.tchin
  2012-03-18 20:09 ` David Maus
  0 siblings, 1 reply; 3+ messages in thread
From: d.tchin @ 2012-03-15 20:16 UTC (permalink / raw)
  To: emacs-orgmode

Hi,

I try to use a function proposed with org-protocol as explained in this link.
http://orgmode.org/worg/org-contrib/org-protocol.html#sec-2 

I would like to launch a pdf file in Acrobat Reader and to use org-store-
link.js to capture the full path of the document in an org file.I try to use 
what it was explained on the link I have already and I have a look on the 
following link. 
http://article.gmane.org/gmane.emacs.orgmode/6810
It doesn't work as I expect.

 
As I just want to capture the full path of the file (example here is file.pdf 
in C:\Temp), I use the following javascript call org-store-link accessible in 
menu File of Acrobat Reader :
app.addMenuItem({cName:"org-store-link", cParent:"File",
		 cExec:"app.launchURL('org-protocol://store-link://'+ 
encodeURIComponent(this.URL));"});

I get the following string given to org-protocol:
org-protocol://store-link://file%3A%2F%2F%2FC%7C%2FTemp%2Ffile.pdf

There is several issue. The escaped character is not interpreted when feed in 
emacs and when I use C-c C-l (org-insert-link) I have the following 
proposition : 
file: (C|).

Then I try the following script, to get '/' character to feed org-protocol:
app.addMenuItem({cName:"org-store-link", cParent:"File",
		 cExec:"app.launchURL('org-protocol://store-link://'+ unescape
(encodeURIComponent(this.URL)).replace('|',':'));"});


I get the following the expected string :
org-protocol://store-link://file:///C:/Temp/File.pdf


Again when I use C-c C-l, I have the proposition : file: (C|).

I made the assumption that it is a problem of interpretation of '/'.Then I 
replace this character with "++".
app.addMenuItem({cName:"org-store-link", cParent:"File",
		 cExec:"app.launchURL('org-protocol://store-link://'+ unescape
(encodeURIComponent(this.URL)).replace('|',':').replace('\/','++','gi'));"});


Then I obtain the following string :
org-protocol://store-link://file:++++++C:++Temp++File.pdf


This time when I use C-c C-l, I have the proposition : 
file:++++++C:++Temp++File.pdf
So I can get the full path when I replace afterwards each '++' to '/'.

Quite tricky to get the final full link !!

Do you have a more direct and simplest way to get the direct right link ?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: org-protocol in windows and Acrobat Reader
  2012-03-15 20:16 org-protocol in windows and Acrobat Reader d.tchin
@ 2012-03-18 20:09 ` David Maus
  2012-03-19  8:03   ` d.tchin
  0 siblings, 1 reply; 3+ messages in thread
From: David Maus @ 2012-03-18 20:09 UTC (permalink / raw)
  To: d.tchin; +Cc: emacs-orgmode

[-- Attachment #1: Type: text/plain, Size: 2239 bytes --]

At Thu, 15 Mar 2012 20:16:10 +0000 (UTC),
d.tchin wrote:
>
> Hi,
>
> I try to use a function proposed with org-protocol as explained in this link.
> http://orgmode.org/worg/org-contrib/org-protocol.html#sec-2
>
> I would like to launch a pdf file in Acrobat Reader and to use org-store-
> link.js to capture the full path of the document in an org file.I try to use
> what it was explained on the link I have already and I have a look on the
> following link.
> http://article.gmane.org/gmane.emacs.orgmode/6810
> It doesn't work as I expect.
>
>
> As I just want to capture the full path of the file (example here is file.pdf
> in C:\Temp), I use the following javascript call org-store-link accessible in
> menu File of Acrobat Reader :
> app.addMenuItem({cName:"org-store-link", cParent:"File",
> 		 cExec:"app.launchURL('org-protocol://store-link://'+
> encodeURIComponent(this.URL));"});
>
> I get the following string given to org-protocol:
> org-protocol://store-link://file%3A%2F%2F%2FC%7C%2FTemp%2Ffile.pdf
>
> There is several issue. The escaped character is not interpreted when feed in
> emacs and when I use C-c C-l (org-insert-link) I have the following
> proposition :
> file: (C|).
>
> Then I try the following script, to get '/' character to feed org-protocol:
> app.addMenuItem({cName:"org-store-link", cParent:"File",
> 		 cExec:"app.launchURL('org-protocol://store-link://'+ unescape
> (encodeURIComponent(this.URL)).replace('|',':'));"});
>
>
> I get the following the expected string :
> org-protocol://store-link://file:///C:/Temp/File.pdf
>
>
> Again when I use C-c C-l, I have the proposition : file: (C|).

This indicates that .replace('|',':') didn't work out as expected and
org-protocol received

org-protocol://store-link://file%3A%2F%2F%2FC%7C%2FTemp%2Ffile.pdf
                                             ^^^

Maybe this could do the trick:

,----
| app.addMenuItem({cName:"org-store-link", cParent:"File",
|  		 cExec:"app.launchURL('org-protocol://store-link://'+ unescape
|  (encodeURIComponent(this.URL.replace('|',':'))));"});
`----

I.e. replace | by : in the original URL before encoding it.

Best,
  -- David
--
OpenPGP... 0x99ADB83B5A4478E6
Jabber.... dmjena@jabber.org
Email..... dmaus@ictsoc.de

[-- Attachment #2: OpenPGP Digital Signature --]
[-- Type: application/pgp-signature, Size: 230 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: org-protocol in windows and Acrobat Reader
  2012-03-18 20:09 ` David Maus
@ 2012-03-19  8:03   ` d.tchin
  0 siblings, 0 replies; 3+ messages in thread
From: d.tchin @ 2012-03-19  8:03 UTC (permalink / raw)
  To: emacs-orgmode

> 
> This indicates that .replace('|',':') didn't work out as expected and
> org-protocol received
> 
> org-protocol://store-link://file%3A%2F%2F%2FC%7C%2FTemp%2Ffile.pdf
>                                              ^^^
> 
> Maybe this could do the trick:
> 
> ,----
> | app.addMenuItem({cName:"org-store-link", cParent:"File",
> |  		 cExec:"app.launchURL('org-protocol://store-link://'+ unescape
> |  (encodeURIComponent(this.URL.replace('|',':'))));"});
> `----
>

Indeed  I get the corresponding character. 
org-protocol://store-link://file:///C:/Temp/file.pdf

The problem of the bad interpretation of the character "/" still remains when 
I go back to emacs. I get the following proposition when I use C-c C-l : file: 
(C:). 

Thank you for your help.


> I.e. replace | by : in the original URL before encoding it.
> 
> Best,
>   -- David
> --
> OpenPGP... 0x99ADB83B5A4478E6
> Jabber.... dmjena <at> jabber.org
> Email..... dmaus <at> ictsoc.de
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-03-19  8:04 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-15 20:16 org-protocol in windows and Acrobat Reader d.tchin
2012-03-18 20:09 ` David Maus
2012-03-19  8:03   ` d.tchin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).