X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fshr.el;h=36e93338cb1b3f7cc575ef7b2cfb33a4c80bbe7c;hb=122b19bc5dc0ba2469b840f786c7682867681d7e;hp=a25fc2c262a7eb1b9318698453984d950de09797;hpb=96d744e88123192f97a404900e6914d5ac36d750;p=gnus diff --git a/lisp/shr.el b/lisp/shr.el index a25fc2c26..36e93338c 100644 --- a/lisp/shr.el +++ b/lisp/shr.el @@ -424,6 +424,18 @@ Return a string with image data." (apply #'shr-fontize-cont cont types) (shr-ensure-paragraph)) +(defun shr-urlify (start url) + (widget-convert-button + 'url-link start (point) + :help-echo url + :keymap shr-map + url) + (put-text-property start (point) 'shr-url url)) + +(defun shr-encode-url (url) + "Encode URL." + (browse-url-url-encode-chars url "[)$ ]")) + ;;; Tag-specific rendering rules. (defun shr-tag-p (cont) @@ -441,6 +453,9 @@ Return a string with image data." (defun shr-tag-em (cont) (shr-fontize-cont cont 'bold)) +(defun shr-tag-strong (cont) + (shr-fontize-cont cont 'bold)) + (defun shr-tag-u (cont) (shr-fontize-cont cont 'underline)) @@ -475,19 +490,18 @@ Return a string with image data." (start (point)) shr-start) (shr-generic cont) - (widget-convert-button - 'url-link (or shr-start start) (point) - :help-echo url - :keymap shr-map - url) - (put-text-property (or shr-start start) (point) 'shr-url url))) + (shr-urlify (or shr-start start) url))) -(defun shr-encode-url (url) - "Encode URL." - (browse-url-url-encode-chars url "[)$ ]")) +(defun shr-tag-object (cont) + (let ((url (cdr (assq :src (cdr (assq 'embed cont))))) + (start (point))) + (when url + (shr-insert " [multimedia] ") + (shr-urlify start url)))) (defun shr-tag-img (cont) - (when cont + (when (and cont + (cdr (assq :src cont))) (when (and (> (current-column) 0) (not (eq shr-state 'image))) (insert "\n"))