* HTML Postamble is inside Content DIV
@ 2011-04-29 22:15 Sébastien Vauban
2011-04-30 18:41 ` Jonathan BISSON
0 siblings, 1 reply; 15+ messages in thread
From: Sébastien Vauban @ 2011-04-29 22:15 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hello,
After a couple of tests, I've observed that the postamble is forced to be
included *inside* the div "content".
Proof on Line 1764... These are the ending tags of every HTML page:
#+begin_src emacs-lisp
(unless body-only (insert "\n</div>\n</body>\n</html>\n"))
#+end_src
... the closing </div> referring to the opening of "content".
Shouldn't it make sense to be able to insert something *out of* the "content"
div?
Best regards,
Seb
--
Sébastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-04-29 22:15 HTML Postamble is inside Content DIV Sébastien Vauban
@ 2011-04-30 18:41 ` Jonathan BISSON
2011-05-03 11:17 ` Sébastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Jonathan BISSON @ 2011-04-30 18:41 UTC (permalink / raw)
To: emacs-orgmode
Sébastien Vauban <wxhgmqzgwmuf@...> writes:
>
> Hello,
>
> After a couple of tests, I've observed that the postamble is forced to be
> included *inside* the div "content".
>
> Proof on Line 1764... These are the ending tags of every HTML page:
>
> #+begin_src emacs-lisp
> (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
> #+end_src
>
> ... the closing </div> referring to the opening of "content".
>
> Shouldn't it make sense to be able to insert something *out of* the "content"
> div?
>
I think so (and the same for preamble)!
I rewrote org-export-as-html and did a custom org-publish-org-to-html to call
it, in order to get them out off the content div (you can look at a first test
on my webpage http://www.bjonnh.net).
It's easy to do it I can send you my file if you are interested.
Cheers,
J.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-04-30 18:41 ` Jonathan BISSON
@ 2011-05-03 11:17 ` Sébastien Vauban
2011-05-31 18:56 ` Sebastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Sébastien Vauban @ 2011-05-03 11:17 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Jonathan,
Jonathan BISSON wrote:
> Sébastien Vauban <wxhgmqzgwmuf@...> writes:
>> After a couple of tests, I've observed that the postamble is forced to be
>> included *inside* the div "content".
>>
>> Proof on Line 1764... These are the ending tags of every HTML page:
>>
>> #+begin_src emacs-lisp
>> (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
>> #+end_src
>>
>> ... the closing </div> referring to the opening of "content".
>>
>> Shouldn't it make sense to be able to insert something *out of* the
>> "content" div?
>
> I think so (and the same for preamble)!
>
> I rewrote org-export-as-html and did a custom org-publish-org-to-html to
> call it, in order to get them out off the content div (you can look at a
> first test on my webpage http://www.bjonnh.net).
> It's easy to do it I can send you my file if you are interested.
I think sharing the code here is always a good idea.
However, I'd favor an approach commonly shared by others, ie by either:
- moving the postamble out of the content DIV
- adding an extra "environment" next to the content DIV, if the postamble must
stay where it currently is -- for historical or compliance reasons?
(same applies for preamble)
Any comment for others?
Best regards,
Seb
--
Sébastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-05-03 11:17 ` Sébastien Vauban
@ 2011-05-31 18:56 ` Sebastien Vauban
2011-06-28 21:45 ` Sebastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Sebastien Vauban @ 2011-05-31 18:56 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi,
Sébastien Vauban wrote:
> Jonathan BISSON wrote:
>> Sébastien Vauban <wxhgmqzgwmuf@...> writes:
>>> After a couple of tests, I've observed that the postamble is forced to be
>>> included *inside* the div "content".
>>>
>>> Proof on Line 1764... These are the ending tags of every HTML page:
>>>
>>> #+begin_src emacs-lisp
>>> (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
>>> #+end_src
>>>
>>> ... the closing </div> referring to the opening of "content".
>>>
>>> Shouldn't it make sense to be able to insert something *out of* the
>>> "content" div?
>>
>> I think so (and the same for preamble)!
>>
>> I rewrote org-export-as-html and did a custom org-publish-org-to-html to
>> call it, in order to get them out off the content div (you can look at a
>> first test on my webpage http://www.bjonnh.net).
>> It's easy to do it I can send you my file if you are interested.
>
> I think sharing the code here is always a good idea.
>
> However, I'd favor an approach commonly shared by others, ie by either:
>
> - moving the postamble out of the content DIV
>
> - adding an extra "environment" next to the content DIV, if the postamble must
> stay where it currently is -- for historical or compliance reasons?
>
> (same applies for preamble)
I'm hijacking my own thread, as it received little support, and as the new
question is quite related to that:
- if we customize the preamble, our string will be inserted as is;
- if we customize the postamble, our string will be inserted as is... between
a wrapping div called "postamble".
Shouldn't it be normal to apply the same reasoning for both cases: either
impose a wrapper, either not?
> Any comment for others?
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-05-31 18:56 ` Sebastien Vauban
@ 2011-06-28 21:45 ` Sebastien Vauban
2011-06-29 13:26 ` Pierre de Buyl
0 siblings, 1 reply; 15+ messages in thread
From: Sebastien Vauban @ 2011-06-28 21:45 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
[-- Attachment #1: Type: text/plain, Size: 2377 bytes --]
Hi,
"Sebastien Vauban" wrote:
> Sébastien Vauban wrote:
>> Jonathan BISSON wrote:
>>> Sébastien Vauban <wxhgmqzgwmuf@...> writes:
>>>> After a couple of tests, I've observed that the postamble is forced to be
>>>> included *inside* the div "content".
>>>>
>>>> Proof on Line 1764... These are the ending tags of every HTML page:
>>>>
>>>> #+begin_src emacs-lisp
>>>> (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
>>>> #+end_src
>>>>
>>>> ... the closing </div> referring to the opening of "content".
>>>>
>>>> Shouldn't it make sense to be able to insert something *out of* the
>>>> "content" div?
>>>
>>> I think so (and the same for preamble)!
>>>
>>> I rewrote org-export-as-html and did a custom org-publish-org-to-html to
>>> call it, in order to get them out off the content div (you can look at a
>>> first test on my webpage http://www.bjonnh.net). It's easy to do it I can
>>> send you my file if you are interested.
>>
>> I think sharing the code here is always a good idea.
>>
>> However, I'd favor an approach commonly shared by others, ie by either:
>>
>> - moving the postamble out of the content DIV
>>
>> - adding an extra "environment" next to the content DIV, if the postamble must
>> stay where it currently is -- for historical or compliance reasons?
>>
>> (same applies for preamble)
>
> I'm hijacking my own thread, as it received little support, and as the new
> question is quite related to that:
>
> - if we customize the preamble, our string will be inserted as is;
>
> - if we customize the postamble, our string will be inserted as is... between
> a wrapping div called "postamble".
>
> Shouldn't it be normal to apply the same reasoning for both cases: either
> impose a wrapper, either not?
>
>> Any comment for others?
Except for the reply of Jonathan, I received no answer on this. Here is thus
my proposition for a better div-structured HTML.
There are only four parts required in the HTML for all the magic to work with
the CSS:
- The first part is a container div ("content", by default) that surrounds
everything.
- Inside that are three more parts:
+ a preamble (in a div, if the user wants it),
+ a div "body" and
+ a postamble (in a div, if the user wants it).
The patch is attached.
Best regards,
Seb
--
Sebastien Vauban
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: org-html-new-structure.patch --]
[-- Type: text/x-patch, Size: 1395 bytes --]
diff --git a/lisp/org-html.el b/lisp/org-html.el
index f6108fc..daf61d2 100644
--- a/lisp/org-html.el
+++ b/lisp/org-html.el
@@ -1325,7 +1325,10 @@ lang=\"%s\" xml:lang=\"%s\">
org-export-html-preamble-format))
(cadr (assoc "en" org-export-html-preamble-format)))
`((?t . ,title) (?a . ,author)
- (?d . ,date) (?e . ,email)))))))))
+ (?d . ,date) (?e . ,email))))))))
+
+ ;; insert opening tag for body
+ (insert "\n<div id=\"body\">\n"))
(if (and org-export-with-toc (not body-only))
(progn
@@ -1721,6 +1724,8 @@ lang=\"%s\" xml:lang=\"%s\">
;; export html postamble
(unless body-only
+ ;; insert closing tag for body
+ (insert "</div>")
(let ((html-post (plist-get opt-plist :html-postamble))
(email
(mapconcat (lambda(e)
@@ -1732,12 +1737,13 @@ lang=\"%s\" xml:lang=\"%s\">
(number-to-string emacs-major-version))))
(when (plist-get opt-plist :html-postamble)
(cond ((stringp html-post)
- (insert "<div id=\"postamble\">\n")
+ ;; (insert "<div id=\"postamble\">\n")
(insert (format-spec html-post
`((?a . ,author) (?e . ,email)
(?d . ,date) (?c . ,creator-info)
(?v . ,html-validation-link))))
- (insert "</div>"))
+ ;; (insert "</div>")
+ )
((functionp html-post)
(funcall html-post opt-plist))
((eq html-post 'auto)
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-06-28 21:45 ` Sebastien Vauban
@ 2011-06-29 13:26 ` Pierre de Buyl
2011-07-01 14:06 ` Sebastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Pierre de Buyl @ 2011-06-29 13:26 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
Le 28 juin 11 à 23:45, Sebastien Vauban a écrit :
> "Sebastien Vauban" wrote:
>> Sébastien Vauban wrote:
>>> Jonathan BISSON wrote:
>>>> Sébastien Vauban <wxhgmqzgwmuf@...> writes:
>>>>> After a couple of tests, I've observed that the postamble is
>>>>> forced to be
>>>>> included *inside* the div "content".
>>>>>
>>>>> Proof on Line 1764... These are the ending tags of every HTML
>>>>> page:
>>>>>
>>>>> #+begin_src emacs-lisp
>>>>> (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
>>>>> #+end_src
>>>>>
>>>>> ... the closing </div> referring to the opening of "content".
>>>>>
>>>>> Shouldn't it make sense to be able to insert something *out of*
>>>>> the
>>>>> "content" div?
>>>>
>>>> I think so (and the same for preamble)!
>>>>
>>>> I rewrote org-export-as-html and did a custom org-publish-org-to-
>>>> html to
>>>> call it, in order to get them out off the content div (you can
>>>> look at a
>>>> first test on my webpage http://www.bjonnh.net). It's easy to do
>>>> it I can
>>>> send you my file if you are interested.
>>>
>>> I think sharing the code here is always a good idea.
>>>
>>> However, I'd favor an approach commonly shared by others, ie by
>>> either:
>>>
>>> - moving the postamble out of the content DIV
>>>
>>> - adding an extra "environment" next to the content DIV, if the
>>> postamble must
>>> stay where it currently is -- for historical or compliance
>>> reasons?
>>>
>>> (same applies for preamble)
>>
>> I'm hijacking my own thread, as it received little support, and as
>> the new
>> question is quite related to that:
>>
>> - if we customize the preamble, our string will be inserted as is;
>>
>> - if we customize the postamble, our string will be inserted as
>> is... between
>> a wrapping div called "postamble".
>>
>> Shouldn't it be normal to apply the same reasoning for both cases:
>> either
>> impose a wrapper, either not?
>>
>>> Any comment for others?
>
> Except for the reply of Jonathan, I received no answer on this.
> Here is thus
> my proposition for a better div-structured HTML.
>
> There are only four parts required in the HTML for all the magic to
> work with
> the CSS:
>
> - The first part is a container div ("content", by default) that
> surrounds
> everything.
>
> - Inside that are three more parts:
> + a preamble (in a div, if the user wants it),
> + a div "body" and
> + a postamble (in a div, if the user wants it).
>
> The patch is attached.
>
> Best regards,
> Seb
>
Hello,
I think my regular use of the html export would be broken.
I add a <div id="wrapper"> in the preamble and a </div> in the
postamble.
This allows me to make a "boxed" page (see http://homepages.ulb.ac.be/
~pdebuyl/ ) which I like.
If I cannot end my div in the postamble, I think it would break my
setup.
Here is my setup:
:html-preamble "
<div id=\"wrapper\">
<div id=\"menu\">
HERE, some static menu items.
</div>
"
:html-postamble "
</div>
"
I tried without that extra div and I cannot reproduce my former layout.
Pierre
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-06-29 13:26 ` Pierre de Buyl
@ 2011-07-01 14:06 ` Sebastien Vauban
2011-07-06 6:49 ` Pierre de Buyl
0 siblings, 1 reply; 15+ messages in thread
From: Sebastien Vauban @ 2011-07-01 14:06 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Pierre,
Pierre de Buyl wrote:
> Le 28 juin 11 à 23:45, Sebastien Vauban a écrit :
>> Here is thus my proposition for a better div-structured HTML.
>>
>> There are only four parts required in the HTML for all the magic to work
>> with the CSS:
>>
>> - The first part is a container div ("content", by default) that surrounds
>> everything.
>>
>> - Inside that are three more parts:
>> + a preamble (in a div, if the user wants it),
>> + a div "body" and
>> + a postamble (in a div, if the user wants it).
>
> I think my regular use of the html export would be broken.
We'll try to solve that, then.
> I add a <div id="wrapper"> in the preamble and a </div> in the postamble.
> This allows me to make a "boxed" page (see
> http://homepages.ulb.ac.be/~pdebuyl/ ) which I like.
>
> If I cannot end my div in the postamble, I think it would break my setup.
>
> Here is my setup:
> :html-preamble "
> <div id=\"wrapper\">
> <div id=\"menu\">
> HERE, some static menu items.
> </div>
> "
> :html-postamble "
> </div>
> "
Why are you adding a `wrapper' div in the already existing `content' div (that
surrounds everything). I see no real difference between both.
> I tried without that extra div and I cannot reproduce my former layout.
Would you apply your CSS rule onto `content', would that make a diff?
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-07-01 14:06 ` Sebastien Vauban
@ 2011-07-06 6:49 ` Pierre de Buyl
2011-07-08 7:36 ` Sebastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Pierre de Buyl @ 2011-07-06 6:49 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
Hello,
I checked and indeed "content" is working well.
Pierre
Le 1 juil. 11 à 16:06, Sebastien Vauban a écrit :
> Hi Pierre,
>
> Pierre de Buyl wrote:
>> Le 28 juin 11 à 23:45, Sebastien Vauban a écrit :
>>> Here is thus my proposition for a better div-structured HTML.
>>>
>>> There are only four parts required in the HTML for all the magic
>>> to work
>>> with the CSS:
>>>
>>> - The first part is a container div ("content", by default) that
>>> surrounds
>>> everything.
>>>
>>> - Inside that are three more parts:
>>> + a preamble (in a div, if the user wants it),
>>> + a div "body" and
>>> + a postamble (in a div, if the user wants it).
>>
>> I think my regular use of the html export would be broken.
>
> We'll try to solve that, then.
>
>> I add a <div id="wrapper"> in the preamble and a </div> in the
>> postamble.
>> This allows me to make a "boxed" page (see
>> http://homepages.ulb.ac.be/~pdebuyl/ ) which I like.
>>
>> If I cannot end my div in the postamble, I think it would break my
>> setup.
>>
>> Here is my setup:
>> :html-preamble "
>> <div id=\"wrapper\">
>> <div id=\"menu\">
>> HERE, some static menu items.
>> </div>
>> "
>> :html-postamble "
>> </div>
>> "
>
> Why are you adding a `wrapper' div in the already existing
> `content' div (that
> surrounds everything). I see no real difference between both.
>
>> I tried without that extra div and I cannot reproduce my former
>> layout.
>
> Would you apply your CSS rule onto `content', would that make a diff?
>
> Best regards,
> Seb
>
> --
> Sebastien Vauban
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-07-06 6:49 ` Pierre de Buyl
@ 2011-07-08 7:36 ` Sebastien Vauban
2011-07-08 9:28 ` Pierre de Buyl
0 siblings, 1 reply; 15+ messages in thread
From: Sebastien Vauban @ 2011-07-08 7:36 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Pierre,
Any objection for applying this patch?
Pierre de Buyl wrote:
> I checked and indeed "content" is working well.
>
> Pierre
>
> Le 1 juil. 11 à 16:06, Sebastien Vauban a écrit :
>
>> Hi Pierre,
>>
>> Pierre de Buyl wrote:
>>> Le 28 juin 11 à 23:45, Sebastien Vauban a écrit :
>>>> Here is thus my proposition for a better div-structured HTML.
>>>>
>>>> There are only four parts required in the HTML for all the magic to work
>>>> with the CSS:
>>>>
>>>> - The first part is a container div ("content", by default) that surrounds
>>>> everything.
>>>>
>>>> - Inside that are three more parts:
>>>> + a preamble (in a div, if the user wants it),
>>>> + a div "body" and
>>>> + a postamble (in a div, if the user wants it).
>>>
>>> I think my regular use of the html export would be broken.
>>
>> We'll try to solve that, then.
>>
>>> I add a <div id="wrapper"> in the preamble and a </div> in the postamble.
>>> This allows me to make a "boxed" page (see
>>> http://homepages.ulb.ac.be/~pdebuyl/ ) which I like.
>>>
>>> If I cannot end my div in the postamble, I think it would break my setup.
>>>
>>> Here is my setup:
>>> :html-preamble "
>>> <div id=\"wrapper\">
>>> <div id=\"menu\">
>>> HERE, some static menu items.
>>> </div>
>>> "
>>> :html-postamble "
>>> </div>
>>> "
>>
>> Why are you adding a `wrapper' div in the already existing `content' div
>> (that
>> surrounds everything). I see no real difference between both.
>>
>>> I tried without that extra div and I cannot reproduce my former layout.
>>
>> Would you apply your CSS rule onto `content', would that make a diff?
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: HTML Postamble is inside Content DIV
2011-07-08 7:36 ` Sebastien Vauban
@ 2011-07-08 9:28 ` Pierre de Buyl
2011-07-21 20:47 ` [patch] " Sebastien Vauban
0 siblings, 1 reply; 15+ messages in thread
From: Pierre de Buyl @ 2011-07-08 9:28 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
Not at all.
Pierre
Le 8 juil. 11 à 09:36, Sebastien Vauban a écrit :
> Hi Pierre,
>
> Any objection for applying this patch?
>
> Pierre de Buyl wrote:
>> I checked and indeed "content" is working well.
>>
>> Pierre
>>
>> Le 1 juil. 11 à 16:06, Sebastien Vauban a écrit :
>>
>>> Hi Pierre,
>>>
>>> Pierre de Buyl wrote:
>>>> Le 28 juin 11 à 23:45, Sebastien Vauban a écrit :
>>>>> Here is thus my proposition for a better div-structured HTML.
>>>>>
>>>>> There are only four parts required in the HTML for all the
>>>>> magic to work
>>>>> with the CSS:
>>>>>
>>>>> - The first part is a container div ("content", by default)
>>>>> that surrounds
>>>>> everything.
>>>>>
>>>>> - Inside that are three more parts:
>>>>> + a preamble (in a div, if the user wants it),
>>>>> + a div "body" and
>>>>> + a postamble (in a div, if the user wants it).
>>>>
>>>> I think my regular use of the html export would be broken.
>>>
>>> We'll try to solve that, then.
>>>
>>>> I add a <div id="wrapper"> in the preamble and a </div> in the
>>>> postamble.
>>>> This allows me to make a "boxed" page (see
>>>> http://homepages.ulb.ac.be/~pdebuyl/ ) which I like.
>>>>
>>>> If I cannot end my div in the postamble, I think it would break
>>>> my setup.
>>>>
>>>> Here is my setup:
>>>> :html-preamble "
>>>> <div id=\"wrapper\">
>>>> <div id=\"menu\">
>>>> HERE, some static menu items.
>>>> </div>
>>>> "
>>>> :html-postamble "
>>>> </div>
>>>> "
>>>
>>> Why are you adding a `wrapper' div in the already existing
>>> `content' div
>>> (that
>>> surrounds everything). I see no real difference between both.
>>>
>>>> I tried without that extra div and I cannot reproduce my former
>>>> layout.
>>>
>>> Would you apply your CSS rule onto `content', would that make a
>>> diff?
>
> Best regards,
> Seb
>
> --
> Sebastien Vauban
>
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* [patch] Re: HTML Postamble is inside Content DIV
2011-07-08 9:28 ` Pierre de Buyl
@ 2011-07-21 20:47 ` Sebastien Vauban
2011-07-21 23:35 ` Jambunathan K
2011-07-23 17:11 ` Bastien
0 siblings, 2 replies; 15+ messages in thread
From: Sebastien Vauban @ 2011-07-21 20:47 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]
Hi Pierre, Bastien et al.,
Pierre de Buyl wrote:
> Le 8 juil. 11 à 09:36, Sebastien Vauban a écrit :
>>> Here is thus my proposition for a better div-structured HTML.
>>>
>>> There are only four parts required in the HTML for all the magic to work
>>> with the CSS:
>>>
>>> - The first part is a container div ("content", by default) that
>>> surrounds
>>> everything.
>>>
>>> - Inside that are three more parts:
>>> + a preamble (in a div, if the user wants it),
>>> + a div "body" and
>>> + a postamble (in a div, if the user wants it).
>>
>> Any objection for applying this patch?
>
> Not at all.
After off-line discussion with Bastien, here is the updated proposition --
and patch!
There is no global DIV anymore directly inside the body, as there is already
(in CSS) a virtual DIV called "#body"...
Inside the "body" tags, 3 DIV:
- "preamble" (useful for adding a static menu, outside of the "content" DIV)
- "content" (by default, see "org-export-html-content-div")
- "postamble"
Preamble and postamble DIV are only inserted if they're not void.
The "content" DIV (name free to be customized) will always be inserted.
Any comment or objection?
Best regards,
Seb
--
Sebastien Vauban
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: org-html-new-structure.patch --]
[-- Type: text/x-patch, Size: 4200 bytes --]
diff --git a/lisp/org-html.el b/lisp/org-html.el
index 7bb8b61..8aff1c6 100644
--- a/lisp/org-html.el
+++ b/lisp/org-html.el
@@ -614,11 +614,6 @@ with a link to this URL."
(const :tag "Keep internal css" nil)
(string :tag "URL or local href")))
-(defcustom org-export-html-before-content-div ""
- "Arbitrary HTML code placed before <div id=\"content\">."
- :group 'org-export-html
- :type 'string)
-
(defcustom org-export-html-content-div "content"
"The name of the container DIV that holds all the page contents."
:group 'org-export-html
@@ -1300,8 +1295,6 @@ lang=\"%s\" xml:lang=\"%s\">
</head>
<body>
%s
-<div id=\"%s\">
-%s
"
(format
(or (and (stringp org-export-html-xml-declaration)
@@ -1317,8 +1310,6 @@ lang=\"%s\" xml:lang=\"%s\">
date author description keywords
style
mathjax
- org-export-html-before-content-div
- org-export-html-content-div
(if (or link-up link-home)
(concat
(format org-export-html-home/up-format
@@ -1330,6 +1321,7 @@ lang=\"%s\" xml:lang=\"%s\">
;; insert html preamble
(when (plist-get opt-plist :html-preamble)
(let ((html-pre (plist-get opt-plist :html-preamble)))
+ (insert "<div id=\"preamble\">")
(cond ((stringp html-pre)
(insert
(format-spec html-pre `((?t . ,title) (?a . ,author)
@@ -1343,8 +1335,13 @@ lang=\"%s\" xml:lang=\"%s\">
org-export-html-preamble-format))
(cadr (assoc "en" org-export-html-preamble-format)))
`((?t . ,title) (?a . ,author)
- (?d . ,date) (?e . ,email)))))))))
+ (?d . ,date) (?e . ,email))))))
+ (insert "</div>\n")))
+ ;; begin wrap around body
+ (insert (format "\n<div id=\"%s\">" org-export-html-content-div)))
+
+ ;; insert body
(if (and org-export-with-toc (not body-only))
(progn
(push (format "<h%d>%s</h%d>\n"
@@ -1748,8 +1745,11 @@ lang=\"%s\" xml:lang=\"%s\">
(when bib
(insert "\n" bib "\n")))
- ;; export html postamble
(unless body-only
+ ;; end wrap around body
+ (insert "</div>\n")
+
+ ;; export html postamble
(let ((html-post (plist-get opt-plist :html-postamble))
(email
(mapconcat (lambda(e)
@@ -1759,19 +1759,18 @@ lang=\"%s\" xml:lang=\"%s\">
(creator-info
(concat "Org version " org-version " with Emacs version "
(number-to-string emacs-major-version))))
+
(when (plist-get opt-plist :html-postamble)
+ (insert "\n<div id=\"postamble\">")
(cond ((stringp html-post)
- (insert "<div id=\"postamble\">\n")
(insert (format-spec html-post
`((?a . ,author) (?e . ,email)
(?d . ,date) (?c . ,creator-info)
- (?v . ,html-validation-link))))
- (insert "</div>"))
+ (?v . ,html-validation-link)))))
((functionp html-post)
(funcall html-post))
((eq html-post 'auto)
;; fall back on default postamble
- (insert "<div id=\"postamble\">\n")
(when (plist-get opt-plist :time-stamp-file)
(insert "<p class=\"date\">" (nth 2 lang-words) ": " date "</p>\n"))
(when (and (plist-get opt-plist :author-info) author)
@@ -1782,22 +1781,22 @@ lang=\"%s\" xml:lang=\"%s\">
(insert "<p class=\"creator\">"
(concat "Org version " org-version " with Emacs version "
(number-to-string emacs-major-version) "</p>\n")))
- (insert html-validation-link "\n</div>"))
+ (insert html-validation-link "\n"))
(t
- (insert "<div id=\"postamble\">\n")
(insert (format-spec
(or (cadr (assoc (nth 0 lang-words)
org-export-html-postamble-format))
(cadr (assoc "en" org-export-html-postamble-format)))
`((?a . ,author) (?e . ,email)
(?d . ,date) (?c . ,creator-info)
- (?v . ,html-validation-link))))
- (insert "</div>"))))))
+ (?v . ,html-validation-link))))))
+ (insert "</div>")
+ )))
(if org-export-html-with-timestamp
(insert org-export-html-html-helper-timestamp))
- (unless body-only (insert "\n</div>\n</body>\n</html>\n"))
+ (unless body-only (insert "\n</body>\n</html>\n"))
(unless (plist-get opt-plist :buffer-will-be-killed)
(normal-mode)
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [patch] Re: HTML Postamble is inside Content DIV
2011-07-21 20:47 ` [patch] " Sebastien Vauban
@ 2011-07-21 23:35 ` Jambunathan K
2011-07-24 18:56 ` Bastien
2011-07-23 17:11 ` Bastien
1 sibling, 1 reply; 15+ messages in thread
From: Jambunathan K @ 2011-07-21 23:35 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: public-emacs-orgmode-mXXj517/zsQ
"Sebastien Vauban"
<wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org> writes:
> Hi Pierre, Bastien et al.,
>
> Pierre de Buyl wrote:
>> Le 8 juil. 11 à 09:36, Sebastien Vauban a écrit :
>>>> Here is thus my proposition for a better div-structured HTML.
>>>>
>>>> There are only four parts required in the HTML for all the magic to work
>>>> with the CSS:
>>>>
>>>> - The first part is a container div ("content", by default) that
>>>> surrounds
>>>> everything.
>>>>
>>>> - Inside that are three more parts:
>>>> + a preamble (in a div, if the user wants it),
>>>> + a div "body" and
>>>> + a postamble (in a div, if the user wants it).
>>>
>>> Any objection for applying this patch?
>>
>> Not at all.
>
> After off-line discussion with Bastien, here is the updated proposition --
> and patch!
>
> There is no global DIV anymore directly inside the body, as there is already
> (in CSS) a virtual DIV called "#body"...
>
> Inside the "body" tags, 3 DIV:
>
> - "preamble" (useful for adding a static menu, outside of the "content" DIV)
> - "content" (by default, see "org-export-html-content-div")
> - "postamble"
>
> Preamble and postamble DIV are only inserted if they're not void.
>
> The "content" DIV (name free to be customized) will always be inserted.
>
> Any comment or objection?
Specifically can it do this:
http://lists.gnu.org/archive/html/emacs-orgmode/2011-07/msg00524.html
I think having <div class="presentation"> is significant for org-s5
(though I haven't verified it). What the org-s5 use-case emphasizes is
that the user should have the flexibility to add attributes of his own
choosing to the div element and not merely the name of the id tag.
I see that there has been a lot of ping-ponging around this area for a
while now and you now seem to have a new proposal at hand. Your patch
seems to be touching Bastien's commit pursuant to my above request
[1]. I don't understand or use html or org-s5. I hope the proposal here
is the final one :-). Please make Eric Schulte a respondent or reviewer
for this patch (from org-s5 side of things) and insist on a feedback
from him before committing..
ps: I would desire that any changes to org-html.el also need to be
ported to org-lparse.el and (or) org-xhtml.el.
Jambunathan K.
>
> Best regards,
> Seb
Footnotes:
[1] I was not happy with Bastien's change which I felt was ignoring the
core of my proposal)
--
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [patch] Re: HTML Postamble is inside Content DIV
2011-07-21 20:47 ` [patch] " Sebastien Vauban
2011-07-21 23:35 ` Jambunathan K
@ 2011-07-23 17:11 ` Bastien
2011-07-23 21:58 ` Sebastien Vauban
1 sibling, 1 reply; 15+ messages in thread
From: Bastien @ 2011-07-23 17:11 UTC (permalink / raw)
To: Sebastien Vauban; +Cc: emacs-orgmode
Hi Sebastien,
thanks a lot for the patch.
I've just committed a modified version of it:
http://orgmode.org/w/?p=org-mode.git;a=commit;h=2f1fbc58be1dc48621217d666da7bc46c3c5d84e
Putting "preamble", "content" and "postamble" in a new variable
`org-export-html-divs' (which see). The old variable
`org-export-html-content-div' is still here for compatibility
reasons, but is not customizable anymore.
> Any comment or objection?
One comment: thanks for bringing this up :)
Best,
--
Bastien
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [patch] Re: HTML Postamble is inside Content DIV
2011-07-23 17:11 ` Bastien
@ 2011-07-23 21:58 ` Sebastien Vauban
0 siblings, 0 replies; 15+ messages in thread
From: Sebastien Vauban @ 2011-07-23 21:58 UTC (permalink / raw)
To: emacs-orgmode-mXXj517/zsQ
Hi Bastien,
Bastien wrote:
> thanks a lot for the patch.
>
> I've just committed a modified version of it:
>
> http://orgmode.org/w/?p=org-mode.git;a=commit;h=2f1fbc58be1dc48621217d666da7bc46c3c5d84e
>
> Putting "preamble", "content" and "postamble" in a new variable
> `org-export-html-divs' (which see). The old variable
> `org-export-html-content-div' is still here for compatibility
> reasons, but is not customizable anymore.
Just reviewed it. Very nice addition. Thanks for committing it.
>> Any comment or objection?
>
> One comment: thanks for bringing this up :)
You're welcome!
Best regards,
Seb
--
Sebastien Vauban
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [patch] Re: HTML Postamble is inside Content DIV
2011-07-21 23:35 ` Jambunathan K
@ 2011-07-24 18:56 ` Bastien
0 siblings, 0 replies; 15+ messages in thread
From: Bastien @ 2011-07-24 18:56 UTC (permalink / raw)
To: Jambunathan K; +Cc: public-emacs-orgmode-mXXj517/zsQ, Sebastien Vauban
Jambunathan,
Jambunathan K <kjambunathan@gmail.com> writes:
> Specifically can it do this:
> http://lists.gnu.org/archive/html/emacs-orgmode/2011-07/msg00524.html
We can modified the structure of `org-export-html-divs' so that it is an
alist instead of a list, with div ids and associated attributes.
If you think that's a good direction, can you provide a patch for this?
> I see that there has been a lot of ping-ponging around this area for a
> while now and you now seem to have a new proposal at hand. Your patch
> seems to be touching Bastien's commit pursuant to my above request
> [1].
Well, I didn't really like this proposed variable:
#+begin_src emacs-lisp
(defcustom org-export-html-content-div "%s <div %s> %s"
"The name of the container DIV that holds all the page contents."
:group 'org-export-htmlize
:type 'string)
#+end_src
It is not simple enough to my eyes...
> I don't understand or use html or org-s5. I hope the proposal here
> is the final one :-).
I hope nothing is final in this world. :)
> Please make Eric Schulte a respondent or reviewer
> for this patch (from org-s5 side of things) and insist on a feedback
> from him before committing..
I committed this yesterday.
> ps: I would desire that any changes to org-html.el also need to be
> ported to org-lparse.el and (or) org-xhtml.el.
(Can you take charge of this?)
This is the main reason why having duplicate code in this area is a
burden.
I still think our energy will be better spent by progressively adding
things from org-xhtml.el to org-html.el, feature by feature. This is a
lot of (possibly boring) work, but being lazy now will just make it even
more difficult later.
In any case, working on porting changes from org-html.el to org-xhtml.el
isn't the right direction.
Let's keep up the good work!
Best,
--
Bastien
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2011-07-24 19:14 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-29 22:15 HTML Postamble is inside Content DIV Sébastien Vauban
2011-04-30 18:41 ` Jonathan BISSON
2011-05-03 11:17 ` Sébastien Vauban
2011-05-31 18:56 ` Sebastien Vauban
2011-06-28 21:45 ` Sebastien Vauban
2011-06-29 13:26 ` Pierre de Buyl
2011-07-01 14:06 ` Sebastien Vauban
2011-07-06 6:49 ` Pierre de Buyl
2011-07-08 7:36 ` Sebastien Vauban
2011-07-08 9:28 ` Pierre de Buyl
2011-07-21 20:47 ` [patch] " Sebastien Vauban
2011-07-21 23:35 ` Jambunathan K
2011-07-24 18:56 ` Bastien
2011-07-23 17:11 ` Bastien
2011-07-23 21:58 ` Sebastien Vauban
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).