emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Nick Dokos <ndokos@gmail.com>
To: emacs-orgmode@gnu.org
Subject: Re: incorrect HTML rendering of info links with spaces
Date: Wed, 08 Apr 2015 11:53:05 -0400	[thread overview]
Message-ID: <87a8yiobvi.fsf@alphaville.usersys.redhat.com> (raw)
In-Reply-To: qtmr3rvaxd7.fsf@gmail.com

emacs18@gmail.com (Richard Y. Kim) writes:

> It seems like org-html-publish-to-html does not translate info links
> properly in generated HTML files.  The problem is that spaces in info
> nodes should be converted to dashes, but instead spaces are left as is.
>
> For example org-mode link [[info:elisp#Hash Tables]] is converted as 
>
>     <a href="elisp#Hash Tables">elisp#Hash Tables</a>
>
> when in fact the correct URL that should be generated is
>
>     <a href="elisp.html#Hash-Tables">elisp#Hash Tables</a>
>
> where a dash is used in the URL as well as ".html" suffix.
>
> Why should it be "-" instead of " "?  Simply because that is the
> convention used by GNU makeinfo when translating texinfo files into HTML
> output.  For example
>
>     http://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Hash-Tables
>
> is the correct URL rather than this incorrect URL:
>
>     http://www.gnu.org/software/emacs/manual/html_mono/elisp.html#Hash%20Tables
>
> So today if I hit C-c C-o on [[info:elisp#Hash Tables]] link, then it
> correctly brings up "(elisp) Hash Tables" info node.  However the
> generated HTML link does not work.  On the other hand
> [[info:elisp#Hash-Tables]] with a dash rather than space generates valid
> HTML link (ignoring missing ".html" suffix), but C-c C-o fails to work.
> It would be very useful if the same org link such as [[info:elisp#Hash
> Tables]] works for both C-c C-o as well as generate valid HTML link.
>
> This issue is important to me, because I would rather use org-mode than
> texinfo to write documentation on emacs packages with many links
> pointing to the official emacs and elisp manuals.  Right now lack of
> proper support for info links in org-mode is the *only* reason why I
> currently use texinfo rather than org-mode.

I believe there is provision for that in org-link-protocols:

 ...
 ("man" org-man-open org-man-export)
 ...
 ("info" org-info-open nil)

The info entry has an org-info-open entry but the second entry
is nil. You can replace that with org-info-export and write the
org-info-export function to DTRT. You can use the org-man-export
function as a model.

Maybe you can submit a patch?

Nick

  reply	other threads:[~2015-04-08 15:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-08  7:32 incorrect HTML rendering of info links with spaces Richard Y. Kim
2015-04-08 15:53 ` Nick Dokos [this message]
2015-04-10  8:40 ` Nicolas Goaziou

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87a8yiobvi.fsf@alphaville.usersys.redhat.com \
    --to=ndokos@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).