emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Orgmode] Images in div and p


From: Sebastian Rose
Subject: Re: [Orgmode] Images in div and p
Date: Fri, 02 Oct 2009 01:16:58 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)


OK, this is my proposal (don't know, why I didn't send a patch in the
first place...).

If a caption is provided, wrap the image as before.

If no caption is provided, just insert the image tag.



diff --git a/lisp/org-html.el b/lisp/org-html.el
index 0e06919..a9adf30 100644
--- a/lisp/org-html.el
+++ b/lisp/org-html.el
@@ -1505,17 +1505,22 @@ lang=\"%s\" xml:lang=\"%s\">
       (let* ((caption (org-find-text-property-in-string 'org-caption src))
             (attr (org-find-text-property-in-string 'org-attributes src))
             (label (org-find-text-property-in-string 'org-label src)))
-       (format "%s<div %sclass=\"figure\">
-<p><img src=\"%s\"%s /></p>%s
-</div>%s"
-               (if org-par-open "</p>\n" "")
-               (if label (format "id=\"%s\" " label) "")
+       (concat
+       (if caption
+           (format "%s<div %sclass=\"figure\">
+<p>"
+                   (if org-par-open "</p>\n" "")
+                   (if label (format "id=\"%s\" " label) "")))
+       (format "<img src=\"%s\"%s />"
                src
                (if (string-match "\\<alt=" (or attr ""))
                    (concat " " attr )
-                 (concat " " attr " alt=\"" src "\""))
-               (if caption (concat "\n<p>" caption "</p>") "")
-               (if org-par-open "\n<p>" ""))))))
+                 (concat " " attr " alt=\"" src "\"")))
+       (if caption
+           (format "</p>%s
+</div>%s"
+               (concat "\n<p>" caption "</p>")
+               (if org-par-open "\n<p>" ""))))))))
 
 (defun org-export-html-get-bibliography ()
   "Find bibliography, cut it out and return it."

A little Org-file for testing:



#+OPTIONS:   toc:nil
#+MACRO: imageurl ./intranet/img/powered-by-mysql-167x86.png
#+STYLE: <style type="text/css">
#+STYLE:  #content { width:780px; }
#+STYLE: </style>

* Images aligned

  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="right"
  [[{{{imageurl}}}]]
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu
  feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui
  blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
  volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
  suscipit lobortis nisl ut aliquip ex ea commodo
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="left"
  [[{{{imageurl}}}]]
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu
  feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui
  blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
  volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
  suscipit lobortis nisl ut aliquip ex ea commodo...

* Images with Captions

  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu
  feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui
  #+CAPTION: My favourite image
  #+ATTR_HTML: alt="image" hspace="10" vspace="10"
  [[{{{imageurl}}}]]
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
  nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut wisi
  enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis
  nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in
  hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu
  feugiat nulla facilisis at vero et accumsan et iusto odio dignissim qui
  blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla
  facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat
  volutpat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper
  suscipit lobortis nisl ut aliquip ex ea commodo...

* Images in a row

  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]
  #+ATTR_HTML: alt="image" hspace="10" vspace="10" align="absmiddle"
  [[{{{imageurl}}}]]

reply via email to

[Prev in Thread] Current Thread [Next in Thread]