emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] export to html and relative links:


From: Carsten Dominik
Subject: Re: [Orgmode] export to html and relative links:
Date: Sun, 13 Apr 2008 23:37:49 +0200


On Apr 13, 2008, at 10:32 PM, T. V. Raman wrote:
file:// urls are already designed to be platform independent.
So an org file should never carry in it a path like a\\b\\c.html
-- we should always use a/b/c.html
since that's the syntax used by relative URLs.


Yes, but while an Org file is still an Org file, the same
links function is links to open the corresponding file in
Emacs, and my fear is that this can lead to conflicts.

Anyway, this is for the windows people to complain about
and to propose solutions... :-)

- Carsten



"Carsten" == Carsten Dominik <address@hidden> writes:
   Carsten> Hi Raman, On Apr 13, 2008, at 8:48 PM, T. V. Raman
   Carsten> wrote:
   Carsten>
two suggestions:

1) accept paths like "./foo.html" as local links.
   Carsten>
   Carsten> I will look into this.  The problem is the system
   Carsten> dependence of file names, so I am not sure what a
   Carsten> good solution would be that would work on Windows as
   Carsten> well as on Unix.
   Carsten>
2) Augment C-c C-l to react to file: by providing filename
completion relative to the working directory.
   Carsten>
   Carsten> Hmm, that is difficult, but thanks for the pointer,
   Carsten> maybe we can steel some code.
   Carsten>
   Carsten> For now, if you use `C-u C-c C-l', you get file
   Carsten> completion, and the result will be a "file:" link
   Carsten> with a relative path (unless you enter a path
   Carsten> starting with "/").  Even if you find the file with
   Carsten> ../../../some/path, it will still be inserted as a
   Carsten> relative link.
   Carsten>
   Carsten> - Carsten
   Carsten>


The emacs binding to the w3m browser does this if you type
file: in the minibuffer when prompted for a URL.

"Carsten" == Carsten Dominik <address@hidden>
writes:
   Carsten> Hmmmm, this is *such* a good idea, that I will
   Carsten> implement this retroactively into all versions since
   Carsten> ... 2.0 or so?  Abracadabra! Done.
   Carsten>
   Carsten> In fact, it has been working just so for a very long
   Carsten> time.
   Carsten>
   Carsten> file:foo.html -> href="foo.html" file:foo.org ->
   Carsten> href="foo.html"
   Carsten>
   Carsten> The second line assumes that the org file foo.org
   Carsten> will also be converted to an html file in the
   Carsten> publishing process....
   Carsten>
   Carsten> Also, I was mistaken earlier:
   Carsten>
   Carsten> http:foo.html becomes href="http:foo.html" and not
   Carsten> href="foo.html"
   Carsten>
   Carsten> so this actually cannot be used for a local link.
   Carsten>
   Carsten> So what remains from this exchange?  Should we
   Carsten> accept links that look like absolute file names
   Carsten> (including ./foo.html) as equivalent to
   Carsten> file:./foo.html ?
   Carsten>
   Carsten> - Carsten
   Carsten>
   Carsten> On Apr 13, 2008, at 6:25 PM, T. V. Raman wrote:
   Carsten>

I think writing http:foo.html is a bad idea because typing
that string in other contexts is sort of meaningless as
a URL.  Until now, everything one types in org-mode sort
of has meaning elsewhere. If you want it to look like a
url in this case too then I'd suggest file:foo.html --
rther than http:file.html.

I did not suggest that earlier because it's more chars
to type, but that's not a huge concern since emacs does
the typing, and we could always augment c-c c-l to
enable authoring of relative links with file completion.

so file:a/b/c.html would become href="a/b/c.html" in the
generated html.

"Carsten" == Carsten Dominik
<address@hidden> writes:
   Carsten> On Apr 13, 2008, at 5:33 PM, T. V. Raman wrote:
   Carsten>
I've not tried http:foo.html -- but I suggest doing
that to author a relative URL is a bad idea.
   Carsten>
   Carsten> Can you explain why you think that this is a bad
   Carsten> idea?  Educate me!  What is wrong with writing
   Carsten> http:foo.html ??????
   Carsten>
   Carsten> - Carsten
   Carsten>


I tried ./foo.html and that didn't work either. One
compromise would be to get ./foo.html to link to a
relative url, while foo.html continues to link to a
local anchor

"Carsten" == Carsten Dominik
<address@hidden> writes:
   Carsten> On Apr 13, 2008, at 6:49 AM, T. V. Raman wrote:
   Carsten>
Hi,

org-export turns links of the form [[foo][link to
relative url foo]]

ends up creating links of the form <a
href="#foo">...</a>

this means that it becomes impossible to write
hyperlinks that are relative URLs.
   Carsten>
   Carsten> Hi Raman,
   Carsten>
   Carsten> the url goes into the first pair of square brackets,
   Carsten> the description into the second.  If you put
   Carsten> something into the first bracket pair that does not
   Carsten> look lie a url, it will be treated as an internal
   Carsten> link.
   Carsten>
   Carsten> Have you tried to use something like
   Carsten>
   Carsten> [[http:foo.html][link to relative url]]
   Carsten>
   Carsten> ?
   Carsten>
   Carsten> - Carsten

--
Best Regards, --raman


Email: address@hidden WWW:
http://emacspeak.sf.net/raman/ AIM: emacspeak GTalk:
address@hidden PGP:
http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman IRC: irc://irc.freenode.net/#emacs

--
Best Regards, --raman


Email: address@hidden WWW:
http://emacspeak.sf.net/raman/ AIM: emacspeak GTalk:
address@hidden PGP:
http://emacspeak.sf.net/raman/raman-almaden.asc Google:
tv+raman IRC: irc://irc.freenode.net/#emacs

--
Best Regards, --raman


Email: address@hidden WWW:
http://emacspeak.sf.net/raman/ AIM: emacspeak GTalk:
address@hidden PGP:
http://emacspeak.sf.net/raman/raman-almaden.asc Google:
tv+raman IRC: irc://irc.freenode.net/#emacs

--
Best Regards,
--raman


Email:  address@hidden
WWW:    http://emacspeak.sf.net/raman/
AIM:    emacspeak       GTalk: address@hidden
PGP:    http://emacspeak.sf.net/raman/raman-almaden.asc
Google: tv+raman
IRC:    irc://irc.freenode.net/#emacs





reply via email to

[Prev in Thread] Current Thread [Next in Thread]