shr: Add align attribute support for <img>
authorJulien Danjou <julien@danjou.info>
Tue, 12 Oct 2010 19:11:13 +0000 (21:11 +0200)
committerJulien Danjou <julien@danjou.info>
Tue, 12 Oct 2010 19:11:13 +0000 (21:11 +0200)
Signed-off-by: Julien Danjou <julien@danjou.info>
lisp/ChangeLog
lisp/shr.el

index 62ba1f4..d41e6b4 100644 (file)
@@ -1,3 +1,7 @@
+2010-10-12  Julien Danjou  <julien@danjou.info>
+
+       * shr.el (shr-tag-img): Add align attribute support for <img>.
+
 2010-10-12  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-gravatar.el (gnus-art): Required.
index 4031386..813d9a7 100644 (file)
@@ -393,15 +393,22 @@ Return a string with image data."
   (when (and (> (current-column) 0)
             (not (eq shr-state 'image)))
     (insert "\n"))
-  (let ((start (point-marker)))
-    (let ((alt (cdr (assq :alt cont)))
-         (url (cdr (assq :src cont))))
+  (let ((alt (cdr (assq :alt cont)))
+        (url (cdr (assq :src cont)))
+        (align (cdr (assq :align cont))))
+    (cond ((string= align "right")
+           (insert
+            (make-string (- fill-column (- (point) (line-beginning-position))) ? )))
+          ((string= align "center")
+           (insert
+            (make-string (- (/ fill-column 2) (- (point) (line-beginning-position))) ? ))))
+    (let ((start (point-marker)))
       (when (zerop (length alt))
-       (setq alt "[img]"))
+        (setq alt "[img]"))
       (cond
        ((and (not shr-inhibit-images)
-            (string-match "\\`cid:" url))
-       (let ((url (substring url (match-end 0)))
+             (string-match "\\`cid:" url))
+        (let ((url (substring url (match-end 0)))
              image)
          (if (or (not shr-content-function)
                  (not (setq image (funcall shr-content-function url))))