emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Sebastian Rose <sebastian_rose@gmx.de>
To: Carsten Dominik <carsten.dominik@gmail.com>
Cc: emacs-orgmode@gnu.org
Subject: Re: org-mode CSS property export bug
Date: Sat, 24 Apr 2010 14:42:00 +0200	[thread overview]
Message-ID: <87pr1puinb.fsf@gmx.de> (raw)
In-Reply-To: <18D72CC0-9E81-4861-9CB4-5A85BD8301AC@gmail.com> (Carsten Dominik's message of "Sat, 24 Apr 2010 14:23:05 +0200")

Carsten Dominik <carsten.dominik@gmail.com> writes:
> Hi Sebastian,
>
> I need to ask:
>
> What exactly are we changing?  just the class names? of the id and names as
> well?  Will links have to be changed?


We are changing the values of the `id' attributes inside html tags.



  - in headlines (<h3 id="sec-HERE" ...> and similar)
  - in the containers 
      <div id="outline-container-HERE" ...
      and
      <div class="outline-text-3" id="text--HERE" ...

   - and thus the links in the table-of-contents:
    <li><a href="#sec-HERE">1.2.1 


Every HERE was e.g. `1.2.1' and will be from now on `1_2_1'.

I'm not aware of any other cases, the XHTML-exporter creates IDs with
dots.



The *custom IDs are not meant to break*, so I'd be glad for everyone to
have an eye on this.

Also, this change will *not* affect any of the default styles set by
Org-mode's exporter.

Cases where users stylesheets are affected by this change will be _very_
rare for obvious reasons: One would have to use a slightly odd
CSS-selector to match an element by (illegal) id="sec-1.2.1".




Best wishes


    Sebastian




>
> - Carsten
>
> On Apr 24, 2010, at 1:25 PM, Sebastian Rose wrote:
>
>> Hi everyone,
>>
>>
>> here's a patch for org-html.el to fix those IDs.
>>
>>  sec-1.2    =>  sec-1_2
>>  sec-1.2.3  =>  sec-1_2_3
>>
>>
>>
>>
>> diff --git a/lisp/org-html.el b/lisp/org-html.el
>> index 71f62eb..133bffa 100644
>> --- a/lisp/org-html.el
>> +++ b/lisp/org-html.el
>> @@ -871,7 +871,9 @@ lang=\"%s\" xml:lang=\"%s\">
>> 					      t t line)))
>> 				(while (string-match "&lt;\\(&lt;\\)+\\|&gt;\\(&gt;\\)+" txt)
>> 				  (setq txt (replace-match "" t t txt)))
>> -				(setq href (format "sec-%s" snumber))
>> +				(setq href
>> +				      (replace-regexp-in-string
>> +				       "\\." "_" (format "sec-%s" snumber)))
>> 				(setq href (or (cdr (assoc href org-export-preferred-target-
>> alist)) href))
>> 				(push
>> 				 (format
>> @@ -2085,8 +2087,11 @@ When TITLE is nil, just close all open levels."
>> 			 " " title)))
>> 	(unless (= head-count 1) (insert "\n</div>\n"))
>> 	(setq href (cdr (assoc (concat "sec-" snumber) org-export-preferred-
>> target-alist)))
>> -	(setq suffix (or href snumber))
>> -	(setq href (or href (concat "sec-" snumber)))
>> +	(setq suffix (or href
>> +			 (replace-regexp-in-string "\\." "_" snumber)))
>> +	(setq href (or href
>> +		       (replace-regexp-in-string
>> +			"\\." "_" (concat "sec-" snumber))))
>> 	(insert (format "\n<div id=\"outline-container-%s\" class=\"outline-
>> %d%s\">\n<h%d id=\"%s\">%s%s</h%d>\n<div class=\"outline-text-%d\"
>> id=\"text-%s\">\n"
>> 			suffix level (if extra-class (concat " " extra-class) "")
>> 			level href
>>
>>
>>
>>
>> Who ever uses org-info.js will have to pull the new (but backward
>> compatible) version from
>>
>>   http://orgmode.org/worg/code/org-info-js/org-info.js
>>
>> provided this or something similar gets applied. Please give the server
>> a while to run the publishing before downloading (I guess 2 hours are
>> enough). It's now ...
>>
>>
>> $ date -u
>> Sa 24. Apr 11:13:26 UTC 2010
>>
>>
>>
>>
>> Best wishes
>>
>>  Sebastian
>
> - Carsten
>
>

  reply	other threads:[~2010-04-24 12:42 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-22 17:38 org-mode CSS property export bug Rick Moynihan
2010-04-22 21:29 ` Sebastian Rose
2010-04-23  1:51   ` Rick Moynihan
2010-04-23  6:17     ` Sebastian Rose
2010-04-23  6:30     ` Carsten Dominik
2010-04-23  9:07       ` Sebastian Rose
2010-04-23 10:01       ` Rick Moynihan
2010-04-23 10:46         ` Sebastian Rose
2010-04-23 11:00           ` Rick Moynihan
2010-04-23 12:22             ` Rick Moynihan
2010-04-23 15:24               ` Carsten Dominik
2010-04-23 12:29             ` Richard Riley
2010-04-24  0:14             ` Carsten Dominik
2010-04-24  8:58               ` Sebastian Rose
2010-04-24 11:25                 ` Sebastian Rose
2010-04-24 12:23                   ` Carsten Dominik
2010-04-24 12:42                     ` Sebastian Rose [this message]
2010-04-24 15:36                   ` Carsten Dominik
2010-04-25 10:27                     ` Sebastian Rose
2010-04-25 12:08                       ` Carsten Dominik
2010-04-26  9:46                         ` Rick Moynihan
2010-04-23 15:25           ` Carsten Dominik

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=87pr1puinb.fsf@gmx.de \
    --to=sebastian_rose@gmx.de \
    --cc=carsten.dominik@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).