From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sebastien Vauban" Subject: Re: HTML Postamble is inside Content DIV Date: Tue, 28 Jun 2011 23:45:18 +0200 Message-ID: <808vslr5ox.fsf@somewhere.org> References: <80mxj8g0wl.fsf@somewhere.org> <80ei4gdoe7.fsf@somewhere.org> <801uzeu2b6.fsf@somewhere.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org-mXXj517/zsQ@public.gmane.org To: emacs-orgmode-mXXj517/zsQ@public.gmane.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, "Sebastien Vauban" wrote: > S=C3=A9bastien Vauban wrote: >> Jonathan BISSON wrote: >>> S=C3=A9bastien Vauban 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\n\n\n")) >>>> #+end_src >>>> >>>> ... the closing 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 c= an >>> 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 postambl= e 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... bet= ween > 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 wi= th 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 --=20 Sebastien Vauban --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=org-html-new-structure.patch 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
\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 "
") (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 "
\n") + ;; (insert "
\n") (insert (format-spec html-post `((?a . ,author) (?e . ,email) (?d . ,date) (?c . ,creator-info) (?v . ,html-validation-link)))) - (insert "
")) + ;; (insert "
") + ) ((functionp html-post) (funcall html-post opt-plist)) ((eq html-post 'auto) --=-=-=--