fork of org mode
Go to file
Carsten Dominik 2b14934fe8 HTML export: Fix linking to targets in external files
Dan Davison writes:

> Bug report
> ==========
> If I have this:
>
> A [[file:zz.org::#mytarget][link]] to a target with a custom ID
>
> and export it to HTML, I get
>
> A <a href="zz.html##mytarget">link</a> to a target with a custom ID
>
> which (in firefox on linux) links to the file but does not jump to the
> target. However, if I change the '##' to '#' then firefox jumps to the
> correct location. Is this an org bug?
>
> Very tentatively proposed patch
> ===============================
> I've investigated a bit (notes below), resulting in this proposed patch:
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/lisp/org-html.el b/lisp/org-html.el
> index aa70408..5ee5b19 100644
> --- a/lisp/org-html.el
> +++ b/lisp/org-html.el
> @@ -1110,7 +1110,7 @@ lang=\"%s\" xml:lang=\"%s\">
>                     (abs-p (file-name-absolute-p filename))
>                     thefile file-is-image-p search)
>                (save-match-data
> -                 (if (string-match "::\\(.*\\)" filename)
> +                 (if (string-match "::#?\\(.*\\)" filename)
>                      (setq search (match-string 1 filename)
>                            filename (replace-match "" t nil filename)))
>                  (setq valid
> --8<---------------cut here---------------end--------------->8---
>
> Doc patch
> =========
> The link above (file:zz.org::#mytarget) was created by C-c l on a
> heading with a CUSTOM_ID property. However, I couldn't see where in the
> manual links of this form are documented. Do we need to add this link
> type to section 4.7 "Search options in file links", e.g.
>
> --8<---------------cut here---------------start------------->8---
> diff --git a/doc/org.texi b/doc/org.texi
> index f49f056..c8cc1a5 100644
> --- a/doc/org.texi
> +++ b/doc/org.texi
> @@ -3116,6 +3116,7 @@ link, together with an explanation:
> [[file:~/code/main.c::255]]
> [[file:~/xx.org::My Target]]
> [[file:~/xx.org::*My Target]]
> +[[file:~/xx.org::#my-custom-id]]
> [[file:~/xx.org::/regexp/]]
> @end example
>
> @@ -3130,6 +3131,8 @@ link will become an HTML reference to the corresponding named anchor in
> the linked file.
> @item *My Target
> In an Org file, restrict search to headlines.
> +@item #my-custom-id
> +Link to a heading with a @code{CUSTOM_ID} property
> @item /regexp/
> Do a regular expression search for @code{regexp}.  This uses the Emacs
> command @code{occur} to list all matches in a separate window.  If the
> --8<---------------cut here---------------end--------------->8---
>
> Notes
> =====
> At line 1134 of org-html.el there is
>
> 			(setq thefile (concat thefile "#"
> 					      (org-solidify-link-text
> 					       (org-link-unescape search)))))
>
> during evaluation of which 'search is bound to "#mytarget", which
> suggested that the problem might be in the regexp parsing creating
> 'search.
2010-03-19 18:04:23 +01:00
BUGFIXING Intermediate state, I am just trying comiting now. 2008-01-31 16:04:26 +01:00
EXPERIMENTAL Removed some old, no longer needed files. 2008-12-16 14:08:30 +01:00
ORGWEBPAGE Add a powerpoint version of the MPI talk 2010-03-08 08:03:37 +01:00
UTILITIES Add an X11 equivalent to org-mac-idle-seconds. 2009-10-22 15:09:34 +02:00
contrib babel: Add octave and matlab support 2010-03-18 14:45:39 -04:00
doc HTML export: Fix linking to targets in external files 2010-03-19 18:04:23 +01:00
lisp HTML export: Fix linking to targets in external files 2010-03-19 18:04:23 +01:00
xemacs Minor patch from Greg Chernov for xemacs/noutline. 2008-04-19 19:07:40 +02:00
.dir-settings.el Add .dir-settings.el file to unify coding styles. 2008-11-20 15:45:22 +01:00
.gitignore Add an X11 equivalent to org-mac-idle-seconds. 2009-10-22 15:09:34 +02:00
ChangeLog Change refcard processing to pdftex, using pdflayout.sty 2010-03-05 08:28:01 +01:00
Makefile Change refcard processing to pdftex, using pdflayout.sty 2010-03-05 08:28:01 +01:00
README Test. 2010-01-25 18:05:17 +01:00
README_DIST Version number to 6.34trans 2010-01-20 10:13:21 +01:00
README_GIT Fix typos. 2008-10-24 22:50:36 +02:00
request-assign-future.txt Release 5.13e 2008-01-31 11:37:24 +01:00

README

This is the Emacs Org project, an emacs subsystem for organizing your life

The homepage of Org is at http://orgmode.org

This distribution contains:

README
    This file.

README_DIST
    The README file for the distribution (zip and tar files)

README_GIT
    Information about the git repository and how to contribute
    to Org-mode development. 

lisp/
    Directory with all the Emacs Lisp files that make up Org.

doc/
    The documentation files.  org.texi is the source of the
    documentation, org.html and org.pdf are formatted versions of it.

xemacs/
    The xemacs directory contains special code for XEmacs users, in
    particular a port of the GNU Emacs outline.el to XEmacs.  Org-mode
    does not work under XEmacs without this file installed.  It did
    until version 4.37, but no longer.

contrib/
    A directory with third-party additions for Org.  Some really cool
    stuff is in there.

ORGWEBPAGE/
    Directory with the source files for the orgmode.org web page.
    
ChangeLog
    The standard ChangeLog file.

Makefile
    The makefile to compile and install Org, and also for maintenance
    tasks.

request-assign-future.txt
    The form that contributors have to sign and get processed with the
    FSF before contributed changes can be integrated into the Org
    core.  All files in this distribution except the CONTRIB directory
    have copyright assigned to the FSF.

EXPERIMENTAL
    Experimental code, not necessarily FSF copyright.